> Markdown version of [/jobs/ext/3780603-embedded-software-engineer-ii-c-c](https://www.wearedevelopers.com/jobs/ext/3780603-embedded-software-engineer-ii-c-c). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer II - (C, C++) - **Company:** Werfen - **Location:** Bedford, MA, United States - **Salary:** $90,000.0 - $120,000.0 - **Contract:** Permanent contract - **Skills:** Board Bringup, C (Programming Language), Java (Programming Language), C Sharp (Programming Language), C++ (Programming Language), Code Review, Communications Protocols, Computer Programming, Software Debugging, Embedded Software, Firmware, FreeRTOS, Revision Control Systems, Hardware Design, Joint Test Action (IEEE Standards), Real-Time Operating Systems, Software Engineering, Universal Asynchronous Receiver/Transmitter, PIC Microcontroller, Software Verification, Code Comments, Hardware Testing, Software Troubleshooting, Git, Information Technology, Bare Metal - **Published:** October 16, 2026 - **Apply:** https://diversityjobs.com/career/18650927/Embedded-Software-Engineer-Ii-C-C-Massachusetts-Bedford ## About the Role * 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, IC, 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., * 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., * 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. ## Description * Performs software development activities including design, implementation, and integration., * 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 drivers + Interrupt service routines (ISRs) + Basic DMA implementations * Assist with debugging embedded software and hardware integration issues. * Work closely with hardware engineers to: + Interpret schematics and datasheets + Support board bring-up and hardware validation activities * Develop and test interfaces for embedded peripherals and communication protocols such as SPI, IC, 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.