Job Responsibilities
As an Embedded Firmware-Software Engineer, you will be involved with specifying, designing, testing and implementing complex software. You will also be expected to cooperate with external consultants.
Your main tasks will be to:
1. Develop embedded software for high-end microcontrollers (often ARM based)
2. Develop the embedded software using C/C++
3. Develop and integrate in a multi-tasking RTOS
4. Perform test and validation on the product you are developing and the ecosystem around it
5. Cooperate with internal SW architects and external partners
6. Cooperate with Hardware engineers in troubleshooting and optimizing new HW designs
Background & Skills
7. Educational background in Engineering (Software, Electronic, Automation, Telecom) or equivalent culture.
8. Previous experience in Embedded Firmware-Software development in mid-sized structured companies
9. Fluent in C/C++ and version control tools (Git)
10. Previous experience of RTOSs and multi-threading coordination mechanisms
11. Experience with IoT architectures, connectivity (modem LTE, WiFi, Bluetooth/BLE) and communication protocols (TCP/IP, MQTT)
12. Experience with standard industrial communication protocols (. Modbus, Bacnet, CanOpen)
13. Ability to understand hardware schematics and layouts
14. Fluent in English, B2 or above.
15. Experience with Agile methodologies and TDD (Test Driven Development) is a plus
16. Knowledge of IEC-61131 PLC programming languages is a plus
17. Knowledge in secure software development and cybersecurity regulation (IEC-62443-4-1 and IEC-62443-4-2) is a plus