Assist in the design and development of software for embedded systems, focusing on efficiency, scalability, and robustness.
Write, debug, and optimize code in languages such as C and C++.
Collaborate with hardware engineers to align software functionality with hardware capabilities.
Support the integration of firmware with hardware components and external systems.
Participate in code reviews to ensure quality, maintainability, and adherence to best practices.
Contribute to the development of test plans and conduct testing to validate firmware performance.
Assist in identifying and resolving issues in embedded systems through troubleshooting and debugging.
Support the creation of technical documentation, including design specifications and test reports.
Ensure software meets our standards, requirements, and customer specifications.
Expectations
Proficiency in embedded systems programming with solid knowledge of microcontrollers, RTOS, and communication protocols such as I2C, SPI, UART, CAN, and Ethernet.
Familiarity with development tools like debuggers, oscilloscopes, and logic analyzers.
Experience with version control systems such as Git and CI/CD workflows.
Ability to write effective unit tests and conduct thorough debugging to ensure stable and efficient code.
Demonstrated ability to prioritize tasks and manage time effectively in a fast-paced environment.
Collaborate effectively with cross-functional teams, including hardware, software, and product management.
Strong communication skills, with the ability to explain technical concepts clearly to colleagues with varying levels of expertise.
Willingness to stay updated with emerging technologies, tools, and methodologies in the embedded systems field.
Essential Skills And Experience
A completed bachelor's degree in software engineering, electrical engineering, or a comparable qualification with relevant professional experience.
3+ years of experience in embedded software development.
Proficiency in C/C++ with a solid understanding of embedded programming principles.
Experience with bare-metal programming and familiarity with Zephyr or similar RTOS environments.
Basic knowledge of device driver development, interrupt handling techniques, and security architectures.
Experience with test automation, unit tests, and embedded software development best practices.
Strong German and English language skills to collaborate effectively with international development partners.
Motivation to contribute to the development of new features and products efficiently and effectively.
Strong communication and teamwork skills, with a proactive attitude towards learning and problem-solving.
Experience in agile development environments is a plus.