Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Subsystems Firmware team is responsible for designing, integrating, and verifying all software parts required for an optical coherent transceiver module. This includes software targeting a complex multi-processor system embedded in custom hardware, low level driver software, algorithms controlling optical components and the digital signal processor, higher layer control software and the management interface application.
- Develop and verify embedded software running on a Real Time Operating System in an highly constrained environment.
- Develop and verify embedded software for peripheral devices like ADC (analog-to-digital converter) /DAC (Digital-to-analog converter) and interfaces (PCIe, MDIO, I2C, UART, SPI, etc.).
- Design, implement and optimize control loops and software controlling coherent digital signal processors.
- Analyze functional misbehavior in devices in cooperation with internal or external device owners.
- Bring-up and test of firmware on optical interface modules in DWDM (dense wavelength-division multiplexing) transmission systems.
- Support test and customer facing teams with technical expertise and problem analysis.
- Work in a highly specialized lab environment (onsite presence required based on project needs).
Requirements
Do you have experience in Test automation?, * A degree in Computer Science, Engineering, or other related field with at least 3 years of practical work experience.
- Multiple years of professional experience in embedded firmware development, requirements analysis and modeling of software architectures.
- Good communication skills and team-oriented cooperative style of working.
- Self driven, quick and adaptable learner as well as very good analytical way of thinking.
- Solid programming skills in C/C++ and experience in test automation and scripting.
- Expertise in real time processing concepts on embedded multi-core systems.
- Prior experience with CI/CD processes and using containerized environments.
- Proficiency in debugging embedded software systems and familiarity with JTAG/SWD debuggers, and oscilloscopes or logic analyzers.
- A structured way of working with the desire to deliver high quality artifacts.
Ideally, you also have experience with:
- Digital signal processing or feedback control systems.
- Knowledge in system theory of optical transmission systems.
- Basic German language skills or willingness to learn.