Embedded Software Consultant – Machine ECU Platform
We are looking for experienced Embedded Software Consultants to join our development team and contribute to the next generation of software platforms for machine ECUs . The assignment focuses on low-level embedded software and platform development , working closely with microcontrollers, hardware and real-time operating systems. You will be part of a technically strong team developing software that must be deterministic, robust, reliable and maintainable in a real-time environment . The ideal candidate has strong hands-on experience in embedded C++ development, MCU-based systems, boot software, drivers, RTOS/bare-metal development and hardware-level debugging. Key Responsibilities Develop, integrate and maintain low-level embedded software for ECU platforms. Work closely with microcontrollers, boot software, device drivers, hardware abstraction layers and RTOS . Develop and maintain startup, initialization and platform-level software. Analyze, troubleshoot and resolve complex hardware/software integration issues . Perform hands-on debugging and verification on target hardware. Use tools such as debug probes, oscilloscopes, logic analyzers and other measurement equipment . Contribute to software architecture, design, implementation and integration. Develop and execute software verification and testing activities. Analyze real-time behavior, interrupts, memory usage and peripheral communication. Collaborate closely with embedded software, hardware, systems and verification engineers. Support continuous improvement of development, integration, testing and debugging processes. Contribute to a modern software development environment with automation and CI/CD practices. Required Skills & Experience Several years of professional experience in low-level embedded software development . Strong knowledge of microcontrollers and embedded hardware . Solid experience with C++ in embedded systems. Experience with RTOS and/or bare-metal development . Hands-on experience with bootloaders, startup code, memory initialization and hardware initialization . Strong understanding of: Real-time systems and deterministic behavior Interrupt handling Memory management and memory mapping MCU peripherals and hardware interfaces Hardware/software integration Strong troubleshooting and debugging skills at both software and hardware levels . Practical experience using debug probes, oscilloscopes, logic analyzers or similar tools . Experience with Python for scripting, test automation and development support. Ability to work effectively in complex hardware/software environments. Good communication and collaboration skills. Meritorious / Nice to Have Experience in automotive, industrial automation, construction machinery or other safety-critical embedded systems . Experience with ARM-based microcontrollers . Knowledge of CAN/CAN FD and automotive or machine communication protocols. Experience with diagnostics and ECU communication . Knowledge of functional safety standards and practices . Experience with modern software development workflows and CI/CD pipelines . Experience with automated testing and hardware-in-the-loop (HIL) environments. Familiarity with software configuration management and tools such as Git . Experience working in Agile development environments. Technical Environment The assignment involves working across the complete low-level software stack, including: MCU → Startup/Boot → Drivers → Hardware Abstraction → RTOS/Bare Metal → ECU Platform → Application Software The role requires a strong understanding of how software interacts with hardware and the ability to investigate issues down to the MCU, peripheral and electrical signal level . Personal Profile We are looking for someone who is: Technically curious and passionate about embedded systems. Comfortable working close to hardware. Analytical and systematic when troubleshooting complex problems. Proactive in identifying and solving technical issues. Quality-focused and attentive to reliability and real-time behavior. Comfortable working independently as well as in a collaborative engineering team.