Senior Embedded Software Engineer — Frederick, MD Leonardo DRS Frederick, MD arm,c,cpp,python,linux,uart,spi,i2c,pcie,fpga,cortex_a,defense,aerospace,senior,us_east,regulated,cross_func,research,cmake,docker,gcc,llvm
Leonardo DRS

Senior Embedded Software Engineer — Frederick, MD

Location Node Frederick, MD (onsite)
Base Compensation Competitive
Commitment full-time
Clearance Req secret
arm c cpp python linux uart spi i2c pcie fpga cortex_a defense aerospace senior us_east regulated cross_func research cmake docker gcc llvm

Overview

Mission Summary

The Leonardo DRS Airborne and Intelligence Systems business delivers world-class defense and intelligence products, from air combat training to state-of-the-art electronic warfare systems. The Senior Embedded Software Engineer develops leading-edge embedded software by designing, developing, analyzing, documenting, and supporting testing of complex applications and subsystems for devices such as radio tuners.

Responsibilities

  • Design, develop, analyze, test and debug of computer software applications and/or systems mostly in a real-time embedded environment.
  • Work in a Linux development environment.
  • Customization and configuration of the Linux operating system for the target system.
  • Develop both in the kernel space (BSP, drivers, etc.) as well as user space application to interface with devices and FPGA registers and provide a socket-based user interface.
  • Provide regular reporting of progress and status including schedule input for design assignments as well as cost.
  • Document component and subsystem specifications including design documents, interface documents, test plans, etc.
  • Communicate clearly with manufacturing, program management, and other internal groups as required.
  • Participate heavily in preparation of complex proposals, including creating SOW, requirements, and BOE.
  • Provide technical expertise and assistance to other engineers and support personnel.
  • Drive technology and lead engineering teams on technical activities, ensuring completion on time and budget.

Requirements

  • Bachelor’s degree in Computer Science or Computer Engineering, with a minimum of 5 years of experience or a combination of education and experience.
  • Strong background in software development using C/C++ and Python on Linux operating systems (with some experience on Windows as well).
  • Solid understanding of multi-threading and multi-processing concepts.
  • Hands-on experience in embedded device development, including ARM-based systems interfacing with FPGAs.
  • Proficient in developing embedded drivers under Linux for interfaces such as TCP/IP, UART, I2C, PCIe, and others.
  • Well-versed in modern software development practices, including version control systems (Git, SVN), defect tracking tools (preferably Jira), peer code reviews, and Agile methodologies.
  • Fluent in relevant technologies and application domains.
  • Demonstrated ability to independently lead technical teams.

Bonus Points

  • Experienced with RF signal processing such as DDC, ADC, DAC, and equalization.
  • Experienced in software-defined radio development, including the VITA 49 protocol.
  • Strong ability to work with cross-functional teams across SW, FW, HW, and RF disciplines.
  • Experience with build and development tools such as Linux virtual machines (VMs), Docker, and related technologies.

Variables & Compensation

  • Medical
  • Dental
  • Vision
  • Health savings account
  • 401(k) savings plan
  • Life and disability insurance
  • Paid parental leave

Trademark Disclaimer: Unless explicitly designated as a direct or sponsored listing, EmbeddedDOESHire is not affiliated with, endorsed by, or associated with Leonardo DRS. All company logos, trademarks, and brand parameters are the property of their respective owners and are utilized here solely for indexical and identification purposes.

Compensation Disclaimer: Unless this specification was directly verified and posted by the employer, we cannot guarantee the accuracy of the listed salary parameters. These figures are compiled from public market records and may deviate from actual offered compensation. Final salaries are determined dynamically by the hiring entity based on candidate evaluation, location, and final contract execution.