Embedded Software Engineer

Command Post Technologies

$90K — $120K *
Telecommunications & Hardware
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's degree in engineering, science, or technical discipline.
  • 6 years of professional experience with 4 years in computer hardware/software engineering and systems integration.
  • Strong programming skills in C and C++ for embedded systems.
  • Experience with Linux-based embedded systems and SoC platforms.
  • Familiarity with FPGA integration and custom hardware development.
  • Proficient in multithreaded software development for real-time applications.
  • Knowledge of debugging tools and embedded communication protocols.

Responsibilities

  • Design and develop embedded software solutions in C/C++ for Linux-based systems.
  • Create firmware for FPGA hardware and optimize data pipelines for performance.
  • Implement and configure DMA transfers and memory management strategies.
  • Develop user-space applications and interfaces for SDR hardware.
  • Collaborate with cross-functional engineering teams to deliver integrated solutions.
  • Analyze and ensure system performance for real-time processing standards.
  • Participate in Agile development processes including code reviews and sprint planning.

Benefits

  • Health, dental, and vision insurance.
  • 401(k) retirement plan with company match.
  • Flexible work hours and remote work options.
  • Professional development opportunities and training.
  • Paid time off and holidays.
Full Job 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, PetaLinux, 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.


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.
  • 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.

Preferred Qualifications
  • 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.

SECURITY CLEARANCE REQUIREMENTS: 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

Similar Jobs

More Jobs at Command Post Technologies

More Telecommunications & Hardware Jobs

Find similar Embedded Software Engineer jobs: