Boston Engineering is seeking an Embedded Software Engineer to develop software for robotics, autonomous systems, medical devices, defense technologies, and commercial products. This is a hands-on role focused on building new products and solving novel technical challenges. Much of our work starts at 0-to-1, giving engineers the opportunity to contribute from early prototypes and architecture through integration, testing, and a working product. As a product development company, our projects vary significantly in technology, scale, and application. We choose the right tools for the problem, and our engineers gain experience across different platforms and architectures rather than working within a single technology stack. The work is highly cross-disciplinary. You'll work alongside engineers from other disciplines, contribute to system-level decisions, work directly with custom hardware and prototypes, and solve problems that cross the boundaries between software, electronics, and the physical system. Our projects tackle challenges in areas such as autonomy, perception, SLAM, sensor fusion, and real-time control. The applications range from robotics and defense systems to medical devices and commercial products. For an engineer early in their career, this is an opportunity to build strong technical depth while gaining exposure to the broader engineering system. You'll write software, work directly with hardware, solve difficult problems, and see your work become part of products that operate in the real world. What You'll Work On 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.