Embedded Software Engineer
Job in
Virginia, St. Louis County, Minnesota, 55792, USA
Listed on 2026-07-17
Listing for:
Command Post Technologies, Inc.
Full Time
position Listed on 2026-07-17
Job specializations:
-
Software Development
Embedded Software Engineer, C++ Developer, Embedded Systems/ Firmware/ IoT, Unix/Linux
Job Description & How to Apply Below
Description
- Design, develop, implement, and test high-performance embedded software solutions in C/C++ for Linux-based embedded systems, System-on-Chip (SoC) platforms, and Software Defined Radio (SDR) applications.
- Develop firmware and low-level software that interfaces with FPGA-based hardware, RF front-ends, DMA engines, and custom embedded hardware.
- Design and optimize high-throughput IQ data pipelines between FPGA fabric, system memory, and user-space applications with emphasis on low latency and deterministic performance.
- Develop and maintain software supporting Xilinx/AMD Zynq, Nvidia Jetson, or similar embedded computing platforms.
- Configure and optimize DMA transfers, memory management, cache coherency, and zero-copy architectures for efficient data movement.
- Develop multithreaded real-time software using C/C++, POSIX threads, synchronization primitives, and lock-free programming techniques.
- Optimize software performance using ARM NEON SIMD instructions, vectorized libraries (VOLK, Eigen), or GPU acceleration where appropriate.
- Develop and maintain Linux user-space applications and interfaces for SDR hardware using Industrial I/O (IIO), sysfs, ioctl, or custom device interfaces.
- Support Linux BSP customization and embedded Linux image development using Yocto, Peta Linux, or Buildroot.
- Collaborate with FPGA, RF, electrical, systems, and test engineers to develop integrated hardware/software solutions.
- Analyze system performance, including CPU utilization, memory usage, throughput, latency, and timing behavior to ensure sustained real-time processing.
- Participate in system architecture discussions and assist in defining software requirements and interface specifications.
- Conduct unit testing, integration testing, and performance validation of embedded software.
- Implement secure coding practices and support cyber-hardened embedded software designs.
- Create and maintain technical documentation including software design documentation, interface control documents (ICDs), test procedures, and user guides.
- Participate in Agile development activities including sprint planning, technical reviews, and code walkthroughs.
- Support integration, troubleshooting, and defect resolution for fielded systems.
- Other duties as assigned.
- 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.
- Strong experience developing embedded software in C and/or C++.
- Experience developing software for Linux-based embedded systems or embedded SoC platforms.
- Experience with embedded software development targeting ARM processors, embedded Linux, or heterogeneous processing architectures.
- Experience integrating software with custom hardware and FPGA-based systems.
- Understanding of DMA architectures and high-speed data movement.
- Knowledge of memory management, cache coherency, and efficient memory utilization in embedded systems.
- Experience developing multithreaded software using C++, POSIX threads, synchronization primitives, and real-time processing techniques.
- Strong understanding of real-time software constraints, latency optimization, and deterministic processing.
- Experience working with debugging tools such as JTAG, SWD, oscilloscopes, logic analyzers, serial interfaces, or similar embedded development tools.
- Knowledge of embedded communication protocols such as UART, SPI, I2C, Ethernet, CAN, or similar.
- 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.
- 3+ years of experience targeting Xilinx/AMD Zynq or Nvidia Jetson platforms running Software Defined Radio (SDR) applications
- 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.
Must be able to obtain and maintain security clearance at the Secret level. US Citizenship is a requirement for Secret clearance at this location.
Physical Demands- Must be able to lift up to 15 pounds
- Must be able to stand and walk for prolonged amounts of time
- Must be able to twist, bend, and squat periodically
- Great health benefits (for more info, contact us directly)
- Leadership training
- 401k with generous company matching
- Employee Stock Ownership Plan…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×