Embedded Software Engineer (Hybrid- Aberdeen, Maryland)

Fairwinds Technologies, LNewark, DE
6hHybrid

About The Position

Fairwinds Technologies is a U.S.-based engineering firm specializing in Satellite Communications (SATCOM), RF Transmission Systems, Network Design, Systems Integration, and Digital Signal Processing (DSP). We support Command, Control, Communications, and Computer (C4) systems in austere military environments, delivering advanced communications, networking, and IT solutions to defense and civilian agencies worldwide. We are seeking an Embedded Software Engineer with strong experience developing and deploying software on Xilinx UltraScale+ platforms using PetaLinux, with hands-on familiarity working alongside hardware teams on PCB-based embedded systems. The ideal candidate will design, implement, and optimize low-level and Linux-based embedded software for mission-critical communications and signal processing applications. This role involves building robust software stacks for FPGA/SoC-based systems, integrating drivers and peripherals, and supporting system bring-up from prototype to fielded platforms. You will work closely with FPGA, DSP, RF, and hardware engineers to deliver high-performance solutions for tactical communications in contested and bandwidth-constrained environments. This position reports to the Chief Technology & Strategy Office and involves close collaboration with customers and engineering teams to deliver innovative solutions for RF Tactical & Naval Military Solutions, as well as strategic border protection applications.

Requirements

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
  • Minimum 8+ years of experience in embedded software development for Linux-based systems.
  • Must have hands-on experience with Xilinx UltraScale+ platforms.
  • Must have hands-on experience with PetaLinux (creating/customizing images, kernel/device tree configuration, rootfs management).
  • Must have experience working with PCB-based embedded hardware (bring-up support, debug with lab tools, working directly with schematics/board constraints).
  • Proficiency in C/C++ and scripting (Bash and/or Python) in embedded environments.
  • Proficiency in SVN, Git or other software configuration management tool.
  • Experience debugging Linux kernel/user-space interactions and hardware/software integration issues.
  • Comfortable using standard embedded debug tools (JTAG, UART console, logic analyzer/oscilloscope basics) and Linux tooling (gdb, strace, perf, dmesg).
  • U.S. Citizenship and an active DoD Secret (or higher) security clearance (or ability to obtain).

Nice To Haves

  • Experience with Xilinx toolchain workflows (Vivado integration context, Vitis/SDK familiarity helpful).
  • Device tree and kernel driver development experience (platform drivers, char drivers, DMA, interrupt handling).
  • Familiarity with real-time Linux concepts (PREEMPT_RT, CPU isolation, IRQ affinity, latency profiling).
  • Experience integrating high-throughput datapaths (10GbE, PCIe, JESD-style streaming, RF front-end control planes).
  • Understanding of secure boot, image signing, and hardening on embedded Linux platforms.
  • Experience with Yocto or Buildroot for generating Linux kernel and root filesystems.
  • Experience with RTOS/Bare metal programming of ARM Cortex microcontrollers.
  • Experience supporting DoD SBIR projects or similar government-funded R&D efforts.

Responsibilities

  • Develop embedded Linux software for Xilinx UltraScale+ (Zynq UltraScale+ MPSoC) platforms using PetaLinux (BSP creation, kernel configuration, rootfs customization, and image generation).
  • Support hardware bring-up and integration on custom PCB designs, including board validation, peripheral checkout, and troubleshooting.
  • Implement and maintain device drivers and board support components (GPIO, I2C, SPI, UART, PCIe, Ethernet, DMA, etc.).
  • Integrate FPGA logic with embedded software using AXI interfaces and Linux user-space access methods (UIO, mmap, sysfs, etc.).
  • Build and optimize performance-critical embedded Linux applications (real-time data movement, streaming interfaces, latency tuning).
  • Develop test utilities, diagnostics, and automation for lab and field validation.
  • Participate in system integration and testing in lab and field settings; debug cross-domain issues spanning hardware, FPGA, kernel, and user space.
  • Author technical documentation, software design descriptions, integration notes, and SBIR deliverables as required.

Benefits

  • Competitive salary and benefits package.
  • Professional development and growth opportunities.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service