Embedded Software Engineer Ii - (C, C++)
Werfen
Overview
Position Summary
- Performs software development activities including design, implementation, and integration.
- Experience programming embedded systems using C/C++.
- Familiarity with microcontrollers and embedded development environments.
- Basic understanding of Real-Time Operating Systems (RTOS).
- Familiarity with embedded communication protocols such as SPI, I²C, UART, CAN, and PWM.
- Ability to read and interpret electrical schematics and component datasheets.
- Experience using debugging tools such as JTAG debuggers, oscilloscopes, or logic analyzers.
- Understanding of interrupt-driven software design and embedded system fundamentals.
- Strong troubleshooting, problem-solving, and debugging skills.
- Good written and verbal communication skills.
Responsibilities
Key Responsibilities
- Develop and maintain embedded firmware for microcontroller-based motion control systems under the guidance of senior engineers.
- Implement software on bare-metal and RTOS-based embedded systems.
- Support the development of stepper motor control functions, sensor interfaces, and control algorithms.
- Develop and maintain low-level software components, including:GPIO, timer, and peripheral driversInterrupt service routines (ISRs)Basic DMA implementations
- Assist with debugging embedded software and hardware integration issues.
- Work closely with hardware engineers to:Interpret schematics and datasheetsSupport board bring-up and hardware validation activities
- Develop and test interfaces for embedded peripherals and communication protocols such as SPI, I²C, UART, CAN, and PWM.
- Participate in firmware testing, troubleshooting, and root-cause analysis.
- Use debugging tools such as JTAG debuggers, oscilloscopes, and logic analyzers to investigate system issues.
- Contribute to firmware improvements for reliability, maintainability, and performance.
- Create and maintain technical documentation, including code comments, test procedures, and design documentation.
- Participate in code reviews and technical discussions.
Preferred Qualifications
- Exposure to motion control systems, stepper motors, or sensor-based control applications.
- Experience with RTOS platforms such as ThreadX or FreeRTOS.
- Experience with hardware bring-up and board-level debugging.
- Familiarity with medical devices or other regulated product development environments.
- Understanding of software verification and validation practices.
- Knowledge of embedded software development lifecycle and version control tools (e.g., Git).
- Exposure to EMC/EMI considerations in embedded system design.
Qualifications
Minimum Knowledge & Experience Required for the Position
- Associates Degree plus minimum 4 years of related experience or Bachelor's Degree plus a minimum 2 years of related experience or Master's Degree plus typically 1 year of related experience or waiver based on experience.
- Degree should be in a technical discipline such as Chemistry, Math, Physics, Engineering, or Computer Science.
- Proficiency in computer code (Assembly, C, C++, Java, C#, etc.) found in product development.
International Mobility Required
- No
Travel Requirements
Reference: WJ-766_23703533