Bare-Metal Embedded Software Engineer
Listed on 2026-03-01
-
Software Development
Embedded Software Engineer, Software Engineer, Embedded Systems / Firmware, DevOps
Overview
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.
- 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.
- 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 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.
SUBSEAMSS
If you re looking for comfort, keep scrolling. At Leidos, we outthink, outbuild, and…
(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).