Embedded Software Engineer - Job DescriptionJob Title: Software Engineer
Department: Engineering
Reports To: Program Manager and Engineering Director
FLSA Status: Exempt / Full-time
Salary Range: $90,000 - $125,000 Annually (depending on experience)
ROLEWe are seeking a skilled
Embedded Software Engineer to design, develop, and integrate software for embedded systems with an emphasis on
memory-safe languages development practices aligned with NSA/DoD guidelines. This role covers the full development lifecycle, from architecture through validation, across both RTOS-based and bare-metal environments. The ideal candidate will have strong technical expertise, excellent communication skills, and the ability to present software solutions to internal teams and customers.
RESPONSIBILITIES- Perform full lifecycle development for embedded systems, including architecture definition, implementation, unit testing, and integration.
- Apply memory safe development practices, including use of the Rust programming language appropriate for safety or security critical components.
- Develop software for both RTOS based systems and bare metal CPU environments without typical operating system services.
- Review customer requirements, translate them into specifications, and produce technical documentation, designs, and operational concepts.
- Collaborate closely with hardware engineers to ensure seamless integration with custom electronic components and circuit card assemblies.
- Develop and execute test plans and procedures; perform debugging, troubleshooting, and ensure compliance with functional and security requirements.
- Conduct design and code reviews, resolve defects, and adhere to established development processes, configuration management, and release practices.
- Develop low level device drivers and support component level integration on custom hardware.
- Support automated build and test pipelines for embedded software.
- Present and explain software designs and solutions to internal teams and customers.
- Work independently while contributing within a structured technical team.
REQUIRED SKILLS- Strong proficiency in C for Embedded Linux, RTOS, and bare-metal environments.
- Experience with Memory-safe software development, including proficiency with Rust.
- Experience integrating software with custom processor-based circuit card assemblies.
- Experience in requirements development and management.
- Familiarity with formal verification or assurance-oriented development procedures.
- Ability to work effectively in a team environment on projects with many requirements.
PREFERRED SKILLS- Experience with Embassy multitasking and Hardware Abstraction Layers (HALs) with Rust.
- Experience with secure coding practices aligned with NSA/DoD guidelines (e.g., SERD 2.0).
- Register-level configuration/setup software, with low-level programming in assembly, C, or Rust.
- Device driver development for UARTs, I²C, SPI, and similar interfaces.
- Experience with Yocto or Buildroot embedded Linux build environments.
- Experience with toolchains such as JIRA, Confluence, Bitbucket (Git), and Jenkins.
- Knowledge of Requirements frameworks, especially DOORS, Jama and Excel.
- Experience with testing equipment, instrumentation, and data acquisition tools.
- Knowledge of messaging protocols within the OSI 7-layer stack.
- Working knowledge of C++ and Python.
QUALIFICATIONS- Bachelor's Degree in Computer Engineering, Software Engineering, or related field.
- Minimum 5 years of relevant experience.
- US Person required; ability to obtain and maintain a DoD Secret clearance.
- Position located in Melbourne, FL (not remote).