Embedded BMS Applications Developer
Engineering Team – Berlin, Germany
Embedded BMS Applications Developer
Envio is an award- winning startup pioneering technologies that transform how we monitor, manage, operate, and interact with commercial real estate. We are more than 50 engineers, data scientists, product managers from over 27 different nationalities, working together to improve people's lives and create a more sustainable future through innovation.
As an EBAD we are looking for you to strengthen our system and help us to build an impenetrable, resilient and reliable embedded linux system image for our Building Management System Gateway.
We expect you to be able to design and develop tools to be included in our BMS Gateway solution and to be utilized by our Project Implementation and Technical Operations Team. Additionally we look forward to your ability to assess and to add value to our BMS distributed applications and solutions.
We look forward to your ability to support the design and implementation of our product, including providing additional networking solutions, new system images and development of kernel modules.
We expect you to have previous proven experience with continuous integration and continuous delivery process. We look forward to you leveraging the freedom and agency we provide to make calculated high level decisions, all while ensuring the quality and efficiency of the product.
At envio we are:
Collaborative - We believe teams solve big problems together
Resourceful - Workable solutions exist for every problem
Resilient - Try a dozen things a hundred different ways if that is what it takes
Disruptors - We invent things people didn’t know they needed but can’t live without
Pioneers - We take on complex challenges using new tools
Each one of our values is a part of our everyday interactions.
Minimum Requirements Include:
- Bachelor of Science degree in Computer Science or Electrical Engineering required.
- Minimum 3 – 5 years of engineering and/or software programming experience required.
- Python proficient, C/C++ basic to upper intermediate
- MQTT (MQ Telemetry Transport) experience (Mosquitto, AWS IoT, RabbitMQ, Eclipse Paho, HiveMQ etc.)
- UNIX and IP sockets programming.
- Strong discipline with Git.
- Practical experience with Docker.
- Familiarity with concurrency; threading/asyncio concepts.
- Experience in multi-platform (x86_64 / arm / ) application development and OS portability.
- Develop applications code in Python , C, C++ for Building Management/Automation solutions on top of the most common BMS/BAS/Industrial protocols such as BACnet, Modbus, OPC, Niagara framework, KNX etc.
- Implement standard and proprietary Industrial and BMS/BAS communications protocols and libraries to drive 3rd party equipment such as RESTful, WSDL, XML, JSON, SOAP, text, proprietary etc.
- Supporting Continuous integration/continuous delivery tools (Jenkins, CircleCI, etc.)
- Writing unit / component tests, integrating tests into CI/CD.
- Understanding of network traffic analysis for troubleshooting end to end performance and connectivity issues with tools such as Wireshark, tcpdump, and iperf.
- Develop high-performing and reliable software applications for micro board embedded systems as well as VMs mainly Linux OS but also on Windows.
- Participate in research, analysis and development of building management system (BMS) protocols as well as in support for product integration with implementation teams.
- Develop and improve existing implementation of MQTT (MQ Telemetry Transport) in Envio TRIA Gateway.
- Participate in the definition of system functional requirements.
- Research, assess and adapt to new technologies necessary for future enhancements of products.
- Develop applications using Python programming language.
- Participate in design discussions and code reviews.
- Development and implementation of proper CD/CI process in Envio Engineering department.
- Improvement of release management process and procedures.
- Improvement and organization of source code control.
- Engage with the developer community.
- Strong written and communication skills.