Embedded Software Engineer
Defense and Space Manufacturing · 51-200 employees
Applying here? Try the free cover letter tool — paste this posting and your résumé, no account needed.
About the role
Design, develop, and maintain firmware and Board Support Packages (BSP) for embedded systems and custom hardware platforms. Collaborate with hardware engineers to ensure compatibility and perform debugging using specialized hardware tools.
What they look for
Requirements
Requires a bachelor's degree in Computer Science, Electrical Engineering, or a related field. Candidates must have 4+ years of experience in low-level software development and proficiency in C/C++ programming.
Full description
Job Overview We are seeking a skilled Embedded Software/Firmware Engineer to design, develop, and optimize firmware and low-level software for our embedded systems. The ideal candidate will have experience working with hardware interfaces, writing efficient, reliable code in C/C++, and a strong understanding of computer architecture and hardware-level programming. This role will also involve developing and maintaining the Board Support Package (BSP) for new hardware platforms, including bootloaders, peripheral drivers, and low-level system initialization. Responsibilities• Design, develop, and maintain firmware for embedded systems, microcontrollers, and Linux applications.
- Develop and maintain BSPs for custom hardware, including initialization routines, device tree configurations, and hardware abstraction layers.
- Write and optimize low-level code in C/C++ for performance, reliability, and scalability on resource-constrained environments.
- Interface with hardware through device drivers and manage communications with peripherals (I2C, SPI, UART, etc.).
- Collaborate with hardware engineers to understand hardware specifications, timing constraints, and ensure firmware compatibility.
- Debug and troubleshoot firmware and BSP issues at the hardware level, using oscilloscopes, logic analyzers, and other debugging tools.
- Develop and execute tests to validate BSP and firmware functionality, reliability, and performance in real-time embedded systems.
- Maintain technical documentation for BSP, firmware design, implementation, and debugging processes.
- Perform code reviews and contribute to firmware architecture and process improvements.
Qualifications• Bachelor’s degree in Computer Science, Electrical Engineering, or related field
- 4+ years of experience in low-level software/firmware development for embedded systems.
- Proficiency in C/C++ programming with experience in low-level debugging and optimization.
- Experience with BSP development for embedded hardware, including system initialization and device tree configuration.
- Hands-on experience with hardware debugging tools such as oscilloscopes, multimeters, and logic analyzers.
- Familiarity with version control systems like Git.
- Experience with communication protocols such as I2C, SPI, UART, CAN, and USB.
- Knowledge of assembly language, ARM or similar microcontroller architecture is a plus.
- Strong problem-solving skills and the ability to work independently as well as in a collaborative team environment.
- Familiarity with scripting languages (e.g., Python) for test automation.
Similar roles
-
Embedded Software Developer, Network/Payload Intern (Winter 2027)
Astranis San Francisco, California, United States · $60K/yr
-
Senior Embedded Software Engineer - Platform Software
Intuitive Sunnyvale, California, United States · $160K–$271K/yr
-
Senior Embedded Software Engineer, Viasat Government
Viasat, Inc. Karlovy Vary, Northwest, Czechia · $165K–$307K/yr
-
Embedded Systems Design Engineer
Johns Hopkins Applied Physics Laboratory Laurel, Maryland, United States · $100K–$245K/yr
-
Embedded Systems Staff Engineer
Bugcrowd United States · $201K–$277K/yr
-
Staff Embedded Software Engineer - 5G Devices & NTN Connectivity
Viasat, Inc. Carlsbad, California, United States · $165K–$307K/yr