Embedded Software Engineer
Boston Engineering is where innovative ideas become real-world technologies. Headquartered in Waltham, Massachusetts, we partner with commercial and government clients to solve complex engineering challenges and bring breakthrough products to market. Our work spans advanced robotics, autonomous systems, medical devices, digital solutions, defense technologies, and industrial automation. We deliver end-to-end services from concept through commercialization, combining technical rigor, cross-disciplinary teams, and proven processes to accelerate product development and solve complex challenges.
About the role
We are seeking an Embedded Software Engineer to develop software for robotics, autonomous systems, medical devices, defense technologies, and commercial products. This hands-on role focuses on building new products and solving novel technical challenges, often starting at 0-to-1—from early prototypes and architecture through integration, testing, and a working product. Projects vary significantly in technology, scale, and application, allowing engineers to gain experience across different platforms and architectures. You will work alongside engineers from other disciplines, contribute to system-level decisions, and solve problems that cross the boundaries between software, electronics, and the physical system.
Responsibilities
- Develop embedded software and firmware in C and C++ for new and existing products.
- Work with microcontrollers, embedded processors, RTOS-based systems, and embedded Linux platforms.
- Integrate sensors, actuators, communication interfaces, and other hardware into embedded systems.
- Build and debug interfaces including I2C, SPI, UART, CAN, Ethernet, GPIO, and similar protocols.
- Use Python and other tools for testing, automation, system integration, and development support.
- Bring up and debug software on custom hardware and early prototypes.
- Investigate issues across software and hardware using debuggers, logs, bench equipment, and other engineering tools.
- Implement software from system and software requirements while identifying edge cases, unclear behavior, and technical risks.
- Write automated tests and support repeatable build, test, and integration workflows.
- Participate in code reviews, technical discussions, design reviews, and project planning.
- Collaborate across engineering disciplines throughout product development.
- Document software designs, interfaces, implementation decisions, and test results.
Qualifications
- BS in Computer Science, Electrical Engineering, Computer Engineering, Robotics, or a related field.
- 0–5 years of professional software or embedded development experience; relevant co-op, internship, research, academic, and substantial personal project work will also be considered.
- Experience using Git and standard version control workflows.
- Familiarity with build systems, dependency management, debugging tools, and modern software development practices.
- Proven C and C++ fundamentals.
- Experience with Python or another scripting language.
- Understanding of embedded systems and how software interacts with hardware.
- Knowledge of real-time software concepts, including tasks, interrupts, scheduling, synchronization, timing, and concurrency.
- Working knowledge of common embedded communication interfaces and protocols.
- Comfort working in Linux and command-line development environments.
- Proficiency with standard software development tools and workflows.
- Ability to read and interpret technical documentation, datasheets, software requirements, and interface specifications.
- Excellent problem-solving and debugging skills.
- Sound judgment when identifying edge cases, questioning assumptions, and raising technical concerns.
- Demonstrated capacity to learn new technologies and apply them to unfamiliar engineering problems.
- Strong written and verbal communication skills.
- Eligible to obtain and maintain a security clearance.
Skills
- Experience with Docker, containerized development environments, CI/CD pipelines, or automated build and test workflows.
- Hands-on work with STM32, ARM-based MCUs/SoCs, ESP32, PIC32, or similar embedded platforms.
- Knowledge of Zephyr, FreeRTOS, or another RTOS.
- Familiarity with embedded Linux.
- Exposure to ROS2.
- Background in robotics, autonomous systems, UUVs, UAVs, or other uncrewed systems.
- Proficiency using oscilloscopes, logic analyzers, multimeters, protocol analyzers, or other bench equipment.
- Ability to read schematics and support board bring-up.
- Development of device drivers or communication stacks.
- Knowledge of networking and network debugging.
- Exposure to navigation, localization, SLAM, perception, controls, or sensor fusion.
- Experience with CI/CD, automated testing, or hardware-in-the-loop testing for embedded systems.
- Personal, academic, or professional projects involving embedded systems, electronics, robots, or other technical projects.
- Familiarity with safety-critical, mission-critical, or regulated product development.
Additional Information
This is an office-based role in Waltham, MA. Relocation assistance is not provided. The role is restricted to US persons (i.e., US citizens, permanent residents, and other protected individuals under the Immigration and Naturalization Act, 8 USC 1324b(a)(3)) due to access to export-controlled technology.
Pay
The base salary range for this position is $85,000 to $128,000 annually, commensurate with experience and qualifications.
Benefits
- Full employee benefits plan, including a matching 401(k).
- Mentoring program and hands-on training.
- Opportunities for career growth in technical depth, project management, sales, or subject matter expertise.
- Open, energetic working environment that fosters strong client relationships and an entrepreneurial team spirit.