Bare-Metal Embedded Software Engineer
Listed on 2026-02-24
-
Software Development
Embedded Software Engineer, Software Engineer
Description
Build firmware that runs where operating systems don't, margins are tight, and failure is not an option.
Leidos is seeking a Bare-Metal Embedded Software Engineer to help design and deliver the low-level firmware that powers our uncrewed underwater vehicle (UUV) platforms and supporting systems.
This role focuses on true bare-metal development on modern microcontrollers. You will work directly with hardware, peripherals, sensors, and real-time constraints to build the foundational software that enables autonomy, communications, and mission execution. There is no Linux safety net here. Your code runs on the metal and must work reliably in demanding operational environments.
You’ll join small, focused engineering teams and contribute from early design through integration, test, and delivery, supporting UUV programs that serve critical national security missions.
We value engineers who are curious about hardware, disciplined about quality, and motivated by seeing their work operate in real systems.
Responsibilities- Develop production firmware for UUV and embedded systems from project inception through field deployment.
- Design and implement bare-metal application software and utilities in C/C++ on microcontroller platforms with no operating system.
- Interface directly with hardware
, including sensors, power systems, and communication devices. - Implement and maintain low-level drivers and peripheral interfaces
, including I2C, SPI, UART, CAN, and related protocols. - Translate system and firmware requirements into clear, testable embedded implementations.
- Participate in technical design and trade studies
, contributing to architecture and implementation decisions. - Support integration, test, and evaluation
, diagnosing issues across software and hardware boundaries. - Use lab instrumentation such as oscilloscopes and multimeters to debug timing, signal integrity, and hardware/software interactions.
- Collaborate closely with electrical, systems, and software engineers to deliver cohesive embedded solutions.
- Contribute to continuous improvement
, refining development practices, tooling, and documentation.
- Education & Experience
Bachelor's degree in Electrical Engineering, Computer Science, or related field with 0-3 years of relevant experience and strong exposure to embedded systems and hardware. - Security Clearance
Ability to obtain and maintain a U.S. Secret clearance (U.S. Citizenship required). - Core Firmware Skills
Strong proficiency in C/C++ for embedded systems development. - Hardware Awareness
Working understanding of modern microcontrollers, digital electronics, and safe handling of electronic components. - Debug & Measurement Skills
Experience using oscilloscopes, multimeters, and related tools for system troubleshooting. - Linux Familiarity
Basic proficiency with Linux command-line tools for development and build environments. - Concurrency Fundamentals
Basic understanding of thread-safe design and inter-task or inter-process communication concepts. - Communication & Teamwork
Ability to clearly communicate technical ideas, designs, and plans within a multidisciplinary team. - Professional Integrity
Demonstrated accountability, reliability, and respect for teammates and customers.
- Microcontroller Expertise
Experience developing firmware on the STM
32 family and TI family of microcontrollers. - Peripheral & Bus Interfaces
Strong experience with I2C, SPI, UART, CAN Bus, and similar embedded interfaces. - State Machine Design
Understanding of finite state machines and their application in embedded systems. - Software Design Practices
Familiarity with basic software design patterns and structured embedded architectures. - Systems Modeling
Exposure to UML tools such as Cameo or Magic Draw. - Agile Development Experience
Experience working in Agile environments using tools such as Jira, Confluence, and Bitbucket. - Modern Dev Environments
Familiarity with virtualized or containerized development environments (VMware, Docker). - Code Maintenance
Ability to diagnose, debug, and improve both new and legacy embedded codebases.
Pay Range
Pay Range $57,850.00 - $. The Leidos pay range for this job level is a general guideline only…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).