Embedded Software Developer
On-site · Dahlgren, Virginia, United States
Job Summary
Embedded Software Engineer to design, develop, and test embedded software and firmware for microcontroller, RTOS, and Linux-based embedded systems. Role involves hardware/software integration, low-level driver development, performance optimization, secure coding, debugging, testing, and cross-functional collaboration to support mission-critical embedded systems and end-to-end solution performance. RESPONSIBILITIES: Design, implement, and test embedded software in C/C++ for microcontrollers, RTOS, or Linux-based embedded systems; develop firmware and drivers to interface with sensors and hardware; support bring-up, debugging, and troubleshooting; participate in system architecture discussions and define requirements and design specifications; implement secure coding practices; conduct unit and integration testing and performance validation; analyze logs, memory usage, and timing for optimization; create and maintain design docs, ICDs, test procedures, and user guides; participate in Agile sprints, technical reviews, and code walkthroughs; provide technical support for fielded systems; collaborate with electrical, systems, and test engineers. REQUIREMENTS: active DoD SECRET-level clearance or higher; BS in engineering/science/technical discipline; 6 years professional experience with at least 4 years in hardware/software integration and systems engineering; strong C/C++ embedded software experience; experience with microcontrollers/SoCs/embedded Linux; hands-on with debugging tools (JTAG, SWD), oscilloscopes, logic analyzers; knowledge of UART/SPI/I2C/CAN/Ethernet; RTOS familiarity; Git and other VCS proficiency; strong problem-solving and communication skills. LOCATION: Dahlgren, Virginia, United States. This role offers a chance to contribute to DoD programs in a collaborative environment with opportunities for growth.
Required Qualifications
- Active DoD security clearance at the SECRET level or above
- Bachelor of Science degree from an accredited college or university in an engineering, scientific, or technical discipline
- Six years professional technical experience including at least four years specialized experience in computer hardware engineering, software design, coding and compilation; requirements management; software integration; and utilizing systems engineering software tools
- Experience with embedded software development in C/C++
- Experience with microcontrollers, SoCs, or embedded Linux systems
- Hands-on experience with embedded toolchains, debugging tools (JTAG, SWD), oscilloscopes, logic analyzers, or serial interfaces
- Knowledge of embedded communication protocols such as UART, SPI, I2C, CAN, Ethernet
- Strong understanding of real-time constraints, interrupts, and low-level hardware interactions
- Experience with version control systems (Git)
- Strong written and verbal communication skills
- Experience with RTOS environments (bonus)
- Experience with ARM Cortex processors or similar embedded architectures (bonus)
- Familiarity with Python for test automation (bonus)
- Experience with DoD, Navy systems or safety-critical applications (bonus)
- Background in modeling tools or hardware simulation (bonus)
Apply with one swipe on Sorce. We auto-fill applications and apply on your behalf — no cover letters, no 40-minute forms.
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.