Senior Python Developer for Building Automation Software
About the customer
Founded 2 years ago, our customer is a well-established and government-funded German tech company with a wide network of consumers. The company strives to provide the software that enables cloud-based control, processing, and optimization of the data collected from energy systems and Building Automation Technology (BAT).
About the project
The project you’ll work on is the semi-automatic data-driven AI-based energy efficiency optimization tool for non-residential buildings. In other words, it’s a platform for transparent plant operation that offers secure and minimally invasive connection of the plant’s existing technology to the Internet of Things. This deep building-monitoring solution extracts the raw data from BAT, collects it in specific time series databases, and enables visualization and further processing, empowering stakeholders or owners to enhance their buildings’ performance by 40%.
Designed for the energy transition industry, the product makes the monitoring, analysis, and control of buildings more efficient, transparent, and manageable. It covers a wide range of technologies and is available to the customers through various interfaces.
About the team
Even as the mature parts of the product has been already successfully developed, deployed, and sold over the last two years, our customer keeps continuously growing and extending their project. Our cooperation with the customer starts with one key developer, and in the future, the team is going to grow to 10 people steadily.
We are looking for a key self-sufficient developer with in-depth knowledge and understanding of the architecture, proper diligence and attention to detail, able to work independently, and not only make suggestions about how to improve the architecture of the platform but to implement them as well.
Your main tasks will be:
- Scaling the system to preparing it for storing and processing of x100 more data;
- Developing the edge and back-end functionality: external and internal HTTP APIs, communication between back-end components, internal analytics and monitoring, configuring, testing, and deploying new back-end components, testing of the back-end side.
- In-depth experience with Python: Pip, Flask-*, SQLAlchemy + Alembic, uWSGI, connexion, numpy+scipy+pandas, celery, exception handling
- Extensive experience with REST APIs: defining APIs in OpenAPI aka Swagger, interacting with existing (3rd party) APIs based on documentation
- Practical experience in virtualization: docker, docker-compose, docker stack/swarm
- Experience in Markup: Markdown, YAML, JSON
- Excellent knowledge and understanding of the patterns and paradigms: Synchronous vs. asynchronous (threading, etc.), parallelization (multiprocessing, etc.), distributed (worker queues/celery) and other.
- Solid experience in testing: unit testing, regression testing, fuzzing
- Messaging systems/broker: MQTT
- Working experience with databases: Postgres SQL, Influx time series database
- General Unix system skills and tools: Ubuntu, Bash, Git (Gitlab), SSH (ability to compose different components via documented interfaces into bigger working systems)
- Ability to explain your work actions and write clear documentation for it understandable to others
- Be able to communicate your thoughts and ideas clearly and politely, both orally and in writing – this is one of the essential skills to have for this job
- Level of English – Upper-Intermediate
Would-Be Nice to Have Skills:
Knowledge or some experience with:
- Messaging systems/broker: Kafka, Redis, RabbitMQ
- Databases: MongoDB, MS SQL, SQLite
Brightgrove is an industry-leading software development company with offices in Kyiv, Kharkiv, and Minsk. We build award-winning products that bring significant value, real results, and help our customers from a variety of industries to grow their businesses.
Our team currently consists of more than 350 people across different areas, passionate about technologies and software products. Although we work as multiple teams, use different platforms and languages, we all share the same goals and ideas of how to build things. We are a human-driven company!
What You Get With Us:
- Professional and career growth
- Warm and friendly working environment
- Comfortable and cozy office in the city center
- No corporate BS – we’re moving too fast for that
- Competitive compensation depending on your experience and skills
- Opportunities to travel internationally and between our offices
- A chance to work with the latest modern technologies
- You’ll work with the remarkable teams from all over the world
- Working hours are flexible as long as you get the work done
- Awesome corporate culture and team building events
At Brightgrove, every expert is valued, involved, and essential for each part of our company. As with wine, great software is created by great people.