Embedded Software Engineer II
Johnson Controls · Westford, MA · 2 days ago
On-siteEngineering$94k–$141k/yrFull-time
Key Responsibilities
- Design, develop, debug, and maintain embedded software applications and firmware.
- Implement software features using C/C++ and other applicable programming languages.
- Develop software for microcontrollers, processors, and real-time embedded systems.
- Participate in software architecture, design reviews, and code reviews.
- Create and execute unit, integration, and system-level tests.
- Support debugging efforts using oscilloscopes, logic analyzers, JTAG debuggers, and other development tools.
- Investigate and resolve software defects and performance issues.
- Collaborate with hardware, systems, and test engineers to integrate software with embedded platforms.
- Develop and maintain technical documentation, including software design specifications and test procedures.
- Follow software development processes, coding standards, and quality requirements.
- Participate in continuous improvement initiatives related to software quality, development efficiency, and product reliability.
Required Qualifications
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 0–3 years of experience in embedded software development (including product development, internships, co-ops, or academic projects).
- Experience programming in C and/or C++.
- Experience with embedded Linux, RTOS, or bare-metal development environments.
- Understanding of embedded systems fundamentals.
- Basic knowledge of software debugging and troubleshooting techniques.
- Familiarity with Git or other version control systems.
- Strong analytical and problem-solving skills.
- Effective verbal and written communication skills.
Preferred Qualifications
- Experience with ARM-based microcontrollers or processors.
- Familiarity with communication protocols such as: SPI, I2C, UART, Ethernet, and USB.
- Knowledge of RTOS environments such as FreeRTOS, ThreadX, or Zephyr.
- Exposure to embedded Linux development.
- Experience with scripting languages such as Python.
- Understanding of software testing, automated testing, and continuous integration practices.
- Familiarity with secure software development practices.
- Experience working in regulated industries such as aerospace, defense, medical, automotive, or industrial automation.
Benefits
Competitive Salary
Paid vacation/holidays/sick time
Comprehensive benefits package including 401K, medical, dental, and vision care
On the job/cross training opportunities
Encouraging and collaborative team environment
Dedication to safety through our Zero Harm policy