Embedded Software Developer

Command Post Technologies, Inc.Dahlgren, VA

About The Position

Design, implement, and test embedded software solutions in C/C++ for microcontrollers, real-time operating systems (RTOS), or Linux-based embedded systems. Develop firmware and low-level drivers to interface with sensors, communication buses, and custom hardware. Support integration of embedded software with hardware components, including bring up, debugging, and troubleshooting. Participate in system architecture discussions and assist in defining requirements and design specifications. Implement secure coding practices and support cyber-hardened embedded software designs. Conduct unit testing, integration testing, and performance validation. Analyze system logs, memory usage, and timing behavior to optimize performance. Create and maintain technical documentation, including design descriptions, interface control documents (ICDs), test procedures, and user guides. Participate in Agile sprint cycles, technical reviews, and code walkthroughs. Provide technical support for fielded systems and assist with defect resolution. Collaborate with electrical, systems, and test engineering teams to ensure end-to-end solution performance. Other duties as assigned.

Requirements

  • A Bachelor of Science (BS) degree from an accredited college or university in an engineering, scientific, or technical discipline.
  • Six (6) years of professional technical experience, which includes at least four (4) years of specialized experience performing computer hardware engineering, software design, coding and compilation of code; computer or software requirements, management, computer systems or software integration; and utilizing systems engineering software tools.
  • Demonstrated ability to engineer complex systems with integrated software and hardware solutions.
  • Experience related to weapons systems and/or Navy programs utilizing agile software design processes, such as, but not limited to, Python, R, HTML, C/C++, Unix, and Linux.
  • Strong understanding of SharePoint and Microsoft Teams, including experience building and managing sites, pages, lists, and libraries.
  • Strong experience developing embedded software in C and/or C++.
  • Experience working 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, or similar.
  • Strong understanding of real-time constraints, interrupts, and low-level hardware interactions.
  • Familiarity with version control systems (Git preferred).
  • Ability to analyze technical problems and produce reliable solutions under schedule constraints.
  • Strong written and verbal communication skills.

Nice To Haves

  • Experience with RTOS environments (FreeRTOS, VxWorks, QNX, RTEMS, etc.).
  • Experience with ARM Cortex processors or similar embedded architectures.
  • Familiarity with Python for test automation and scripting.
  • Experience with embedded security, trusted computing, or secure boot.
  • Background in DoD, Navy systems, or safety-critical applications.
  • Experience with modeling tools, interface definition, or hardware simulation.

Responsibilities

  • Design, implement, and test embedded software solutions in C/C++ for microcontrollers, real-time operating systems (RTOS), or Linux-based embedded systems.
  • Develop firmware and low-level drivers to interface with sensors, communication buses, and custom hardware.
  • Support integration of embedded software with hardware components, including bring up, debugging, and troubleshooting.
  • Participate in system architecture discussions and assist in defining requirements and design specifications.
  • Implement secure coding practices and support cyber-hardened embedded software designs.
  • Conduct unit testing, integration testing, and performance validation.
  • Analyze system logs, memory usage, and timing behavior to optimize performance.
  • Create and maintain technical documentation, including design descriptions, interface control documents (ICDs), test procedures, and user guides.
  • Participate in Agile sprint cycles, technical reviews, and code walkthroughs.
  • Provide technical support for fielded systems and assist with defect resolution.
  • Collaborate with electrical, systems, and test engineering teams to ensure end-to-end solution performance.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service