A technology firm in Andover is seeking an experienced software developer focused on C/C++ and Linux for embedded systems. The ideal candidate will have at least 5 years of professional experience, with skills in multi-threaded applications, hardware interface troubleshooting, and the Qt framework. Strong communication skills and problem-solving abilities are essential. This position requires collaboration with a team of software engineers while delivering on sprint commitments in a dynamic environment.
Responsibilities
Develop hands-on C/C++ software.
Support a team of over 7 software engineers.
Deliver on sprint commitments and program objectives.
Skills
C/C++ software development
Linux programming
Embedded systems experience
Multi-threaded applications
Troubleshooting hardware interfaces
Qt framework
API development
CI/CD tools
Unit testing frameworks
Scripting (Lua, Python, Shell)
Problem-solving
Communication skills
Job description
Job description
At least 5 years of professional software development experience, with strong emphasis on C/C++ and Linux; experience in embedded systems, ideally within medical devices.
Proven experience developing and debugging multi-threaded applications on Linux.
Experience working with and troubleshooting multiple hardware interfaces, such as PCIe, CAN, I2C, I2S, UART, SPI, USB, etc., in a Linux environment.
Strong understanding of Linux internals, including device drivers, bootloader, kernel, and root file system.
Hands‑on Experience developing and debugging UI using the Qt framework on Linux.
Experience with hands‑on development of TCP/IP and Restful APIs based applications is desired.
Experience working from the Linux command line and code editors like Vim.
Solid understanding of CI/CD pipelines and tools such as Jenkins or GitLab CI.
Ability to write unit and component‑level tests for C/C++ applications, manual and automated with frameworks like GoogleTest, Unity, etc.
Experience with Lua, Python, or Shell scripting for automation, testing, and tooling is required.
Strong problem‑solving abilities and comfort working in a fast‑paced, dynamic environment.
Excellent communication skills, including experience collaborating with external contractors and reviewing technical deliverables.
Top Skills
Develop hands‑on C/C++ software
Support and augment the internal team of 7+ software engineers.
Deliver against sprint commitments and program increment objectives.