About The Position

Working across the globe, V2X builds smart solutions designed to integrate physical and digital infrastructure from base to battlefield. We bring 120 years of successful mission support to improve security, streamline logistics, and enhance readiness. Aligned around a shared purpose, our $3.9B company and 16,000 people work alongside our clients, here and abroad, to tackle their most complex challenges with integrity, respect, responsibility, and professionalism. The Advanced Hypersonic Weapons & Guided Munitions Division (E20) of the Naval Surface Warfare Center, Dahlgren Division (NSWCDD) conducts research and development analyses in the following technical disciplines: guided munitions including guided and unguided projectiles, guided missiles, and guided rockets, advanced fire control and methods to close the fire control loop against threats, gun and launcher systems, sensors, and high speed projectiles and bullets.

Requirements

  • 3+ years of experience targeting Xilinx/AMD Zynq or Nvidia Jetson platforms running Software Defined Radio (SDR) applications.
  • An Embedded Software / Firmware Engineer who sits somewhere at the intersection of hardware and software co-design.
  • Must have a solid grasp on efficient IQ data streaming, data movement, memory management (without garbage collector), and hardware acceleration
  • Some GPU experience is desired.
  • Specialized experience shall also include demonstrated ability to engineer complex systems with integrated software and hardware solutions. An example includes 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.
  • Bachelor of Science (BS) degree from an accredited college or university in an engineering, scientific, or technical discipline.
  • Must be able to obtain and maintain a security clearance at the Secret level. US Citizenship is a requirement for Secret clearance at this location.

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.
  • Candidate should demonstrate experience in at least 50% of the following: AXI Interconnects: Understanding of AXI4, AXI-Lite, and AXI-Stream protocols and practical knowledge of high-throughput IQ data streamed from the FPGA fabric into physical memory.
  • DMA (Direct Memory Access): Some experience configuring and managing DMA controllers (e.g., Xilinx AXI DMA, Scatter-Gather DMA) to offload the CPU from copying data.
  • Memory Map & Coherency: Understanding of cache coherency between the ARM CPU and the FPGA, and how to use non-cached memory regions or explicitly flush/invalidate caches for DMA transfers.
  • Zero-Copy Architecture: Knowledge of memory-mapping (mmap) techniques to pass IQ buffers directly from kernel-space DMA memory into user-space C/C++ applications without copying data in memory.
  • C/C++: Ability to use C and C++ features (e.g. RAII, smart pointers, move semantics) to write safe code without sacrificing performance or introducing garbage collection/latency spikes.
  • Multi-threading & Real-Time Processing: Proficiency with std::thread, POSIX threads (pthreads), mutexes, lock-free queues, and setting thread priorities (SCHED_FIFO) to ensure the IQ processing thread never drops packets (zero-underrun/overrun).
  • SIMD Vectorization: Ability to use ARM NEON intrinsics in C/C++ to process complex IQ samples in parallel (e.g., performing block operations on multiple 16-bit IQ pairs simultaneously). This skill may come in the form of Volk (Vector-Optimized Library of Kernels) or Eigen library experience.
  • Linux IIO (Industrial I/O) Framework: Industry standard for SDRs on Linux (used by ADI devices like AD9361/AD9364) paired with the knowledge of how to interact with /dev/iio:deviceX and handle IIO buffers.
  • Driver Interaction: Writing or modifying user-space drivers (via sysfs, ioctl, or custom character devices) to control RF front-ends.
  • Build Systems: Experience with Yocto Project, PetaLinux, or Buildroot to generate custom Linux images for the Zynq board.
  • IQ Representation: Understanding that IQ samples are complex numbers (In-phase and Quadrature) represented as interleaved integers (e.g., int16_t I, int16_t Q) or floats, and how formatting affects memory alignment.
  • Sample Rates & Bandwidth: Ability to calculate throughput requirements (e.g., 20 MSPS 32-bits/sample = 80 MB/s or 640 Mbps data stream) and optimize the C pipeline to sustain that rate.
  • Basic DSP Blocks: Practical knowledge of how to apply a digital gain, a basic FIR filter, a Fast Fourier Transform (FFT), or a Decimator/Interpolator on an incoming stream using libraries like FFTW or Volk.

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.
  • Other duties as assigned.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service