Jobs · Engineering · Virginia

Principal Embedded Software Engineer

Trident · Sterling, VA · 5 days ago
Engineering$120k–$222k/yrFull-time

About the role

The Principal Embedded Software Engineer serves as a highly experienced individual contributor responsible for embedded software architecture, implementation, and technical execution across advanced aerospace computing platforms and supporting engineering systems.

Responsibilities

  • Arcitect, design, and implement software across embedded aerospace computing platforms and supporting engineering systems.
  • Define clean software-hardware interfaces across processors, FPGAs, peripherals, storage devices, networking subsystems, and platform infrastructure.
  • Architect robust boot strategies, software update mechanisms, telemetry frameworks, fault handling, recovery strategies, and maintainable runtime software architectures.
  • Lead Linux BSP development, platform bring-up, driver integration, hardware enablement, and low-level software architecture activities.
  • Develop, review, and optimize software for performance-critical paths including storage, networking, DMA, PCIe, interrupt-driven I/O, and embedded communications.
  • Diagnose and resolve complex technical issues spanning software, firmware, FPGA, operating system, drivers, and hardware interactions.
  • Establish and reinforce strong software engineering practices including design reviews, code reviews, reproducible builds, release discipline, traceability, CI/CD workflows, and technical documentation.
  • Mentor software engineers through technical guidance, design collaboration, architecture reviews, and hands-on engineering support.
  • Support technical trade studies, architecture decisions, requirements decomposition, and customer technical discussions.
  • Partner closely with FPGA, electrical, systems, product, and test engineering teams to deliver integrated technical solutions.
  • Perform off-site integration activities or travel, as needed.

Requirements

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related technical discipline, or equivalent practical engineering experience.
  • 9+ years of related experience (OR 7+ years with a master’s degree).
  • Embedded software engineering experience with significant delivery on complex hardware-based systems.
  • Experience in embedded software architecture, low-level software development, and software/hardware integration.
  • Experience developing Linux-based embedded systems including BSP development, platform bring-up, kernel integration, or low-level software infrastructure.
  • Deep proficiency in C and C++ with strong systems-level software design fundamentals.
  • Experience developing software for embedded hardware platforms including custom peripherals, communications interfaces, storage subsystems, or FPGA-connected systems.
  • Strong debugging skills across software, operating system, driver, and hardware boundaries.
  • Experience with source control, build systems, release engineering, and disciplined software development practices.
  • Ability to mentor engineers through technical guidance, architecture reviews, code reviews, and collaborative engineering support.
  • Strong written and verbal communication skills with engineering teams, technical stakeholders, and customers.

Preferred Qualifications

  • Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related technical discipline.
  • Experience in aerospace, defense, or other high-reliability engineering environments.
  • Linux kernel driver development experience including PCIe, networking, storage, GPIO, DMA, interrupt handling, serial interfaces, or custom hardware integration.
  • Familiarity with embedded Linux environments such as Yocto, Buildroot, Ubuntu, or similar platforms.
  • Experience with embedded communications and hardware interfaces including SPI, I2C, UART, CAN, Ethernet, PCIe, SpaceWire, or related protocols.
  • Experience working closely with FPGA-based systems or hardware acceleration platforms.
  • Experience with RTOS-based embedded systems or deterministic software environments.
  • Experience with secure boot, fault tolerance, redundancy architectures, software recovery strategies, or mission-critical embedded systems.
  • Experience with Python-based engineering automation, internal tools, or test infrastructure development.
  • Strong engineering judgment, systems thinking, and ability to independently solve complex multidisciplinary technical problems.

Similar jobs