Position: Middle Python Developer for Building Automation Applications
Company: Brightgrove
Category: Python
Experience required: 3y
English level: upper

​About the customer:

The aedifion GmbH is a spin-off company of the RWTH Aachen University Aachen, Germany, with expertise in energy system engineering, building automation, communication in distributed systems, encryption, deep learning and blockchain. The company offers a building automation gateway and a cloud platform with openly documented API endpoints for data acquisition, data communication and a runtime environment to host advanced algorithm for analyses and building automation controls.

About the project:

(Semi)-automatic data-driven AI-based energy efficiency optimization in non-residential buildings.

Our product contributes to the energy transition by making the monitoring, analysis and control of buildings more efficient, transparent, and manageable.

Our product covers and requires a wide range of technologies, e.g., connecting field and automation busses such as BACnet, LON, and Modbus through IoT architectures and networks to a full fledged, scalable cloud backend and making it available to our customers through various interfaces, e.g., web frontends and HTTP APIs, as well as different integrations into third party software and frameworks such as Alexa.

The product has been developed and extended during the last two years. Mature parts of the products have been deployed and sold within the last 1,5 years. The product is continuously growing.

About the team:

The software development team currently consists of one dedicated junior backend developer, one senior data scientist (helping out in the backend and with code reviews), as well as the CTO (PhD, doing special code development himself but mostly of the conceptual work and reviewing).

CTO supervises junior backend developer and data scientist. CTO will supervise all additional personnel.

We are closely working together with mechanical engineers on a product that spans the fields of computer science and mechanical engineering. We are strongly oriented towards practical results and impact. We don’t care much about hierarchies and seniority but about skills and experience – we also consider a small prototype or a short demo the strongest argument in discussion.

We would like to grow the offsite software development team to approximately 10 developers over the course of the next 2 years.

Responsibilities:

Development of edge and backend functionality: external and internal HTTP APIs, communication between backend components, internal analytics and monitoring, configuring, testing, and deploying new backend components, testing of the backend.

Candidate Requirements:

Must:
 - Programming languages: Python (flask, asynchronous and multi-threading);  
 - RDBMS (PostgreSQL, etc);
 - Containerized deployments (Docker);
 - Version control (Git, GitLab, etc);
 - Intermediate/Upper Intermediate English level.

Very desirable:
 - Containers orchestration (Docker Swarm, Kubernetes);
 - Server/infrastructure provisioning (Ansible, Terraform).

Desirable:
 - Message brokers and related (RabbitMQ, Mosquitto, Kafka);
 - Experience with MQTT, AMQP, gRPC, REST protocols;
 - Other databases (InfluxDB, Citus, Athena, etc) and data formats (parquet, etc);
 - CI/CD (GitLab);
 - Programming languages: Go.