Sr. Embedded Software Engineer (C, C++, Linux)
Full-time, on-site position in Salem, NH.
About the role
Design and develop embedded software that controls system behavior in advanced imaging and security platforms. Build software that interfaces directly with hardware, controllers, and electromechanical subsystems. Develop and optimize real-time, multi-threaded applications in Linux environments. Troubleshoot and resolve software/hardware integration issues across lab, manufacturing, and field settings.
Partner with electrical, mechanical, systems, and test engineers to define interfaces and validate system performance. Contribute to software architecture, requirements, testing strategies, and technical documentation. Support system integration, performance tuning, and root-cause analysis. Drive improvements in software quality, reliability, and development practices.
Responsibilities
- Design and develop embedded software for advanced imaging and security platforms
- Build software that interfaces directly with hardware, controllers, and electromechanical subsystems
- Develop and optimize real-time, multi-threaded applications in Linux environments
- Troubleshoot and resolve software/hardware integration issues across lab, manufacturing, and field settings
- Partner with cross-functional engineering teams to define interfaces and validate system performance
- Contribute to software architecture, requirements, testing strategies, and technical documentation
- Support system integration, performance tuning, and root-cause analysis
- Drive improvements in software quality, reliability, and development practices
Requirements
- Bachelor’s degree in Computer Science (Preferred), Computer Engineering, Electrical Engineering, or related field
- 7+ years of experience in embedded or systems-level software development
- Strong expertise in C/C++ development within Linux environments
- Experience working with software that interfaces directly with hardware or control systems
- Solid understanding of real-time systems, multi-threading, and low-level software design
- Proven ability to debug complex software-hardware integration challenges
- Strong problem-solving skills and ability to collaborate across engineering disciplines
Nice to have
- Experience with embedded Linux, RTOS, or similar platforms
- Familiarity with debugging tools such as GDB, Valgrind, or Cppcheck
- Experience with scripting (Python, Bash, Perl)
- Knowledge of device drivers, communication protocols, or hardware interfaces
- Exposure to control systems, sensors, motors, or industrial equipment
- Experience in regulated or high-reliability environments (medical, aerospace, security, etc.)
- Background in imaging systems or aviation/security technologies
Why Analogic
- Work on mission-critical systems deployed globally
- Be part of a collaborative R&D environment with deep technical expertise
- Influence products from concept through deployment
- Competitive compensation, benefits, and growth opportunities