The Senior Embedded Software Engineer will support and lead the development of embedded software applications, with a primary focus on Rust.
The role involves working closely with cross-functional engineering teams to design, implement, and integrate software for target hardware systems, applying computer science, engineering, and mathematical principles. Essential Functions:
Support engineering team members in embedded software application development using Rust.
Lead the adoption and deployment of Rust techniques, idioms, design patterns, and tooling across multiple product lines.
Apply computer science, engineering, and mathematical analysis principles to develop software for target hardware.
Collaborate with cross-functional teams to evaluate interfaces between hardware and software and optimize system performance.
Participate in all phases of the software development life cycle: requirements analysis, design, implementation, hardware-software integration, and formal testing.
Investigate root causes of complex issues and implement solutions independently or within multi-discipline teams.
Develop software test plans, procedures, and relevant technical documentation.
Utilize modeling tools and equipment to establish operating data, conduct experimental tests, prototype, and evaluate results.
Participate in peer reviews, identifying, tracking, and resolving defects.
Develop code for embedded real-time operating systems (VxWorks, Linux, Integrity) using Rust, C/C++, and Python. Required Qualifications:
Active Department of Defense (DoD) Secret clearance.
Bachelor s or Master s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
3+ years of experience developing Rust software for production systems with deep understanding of the language.
10+ years of experience developing embedded software systems.
Strong experience with C/C++ development and object-oriented design.
Experience in embedded systems development.
Excellent oral and written communication skills. Preferred Qualifications:
Experience converting C/C++ code to Rust.
Experience developing Rust software for embedded systems.
Object-oriented design and implementation experience, with exposure to software modeling and UML tools (e.g., IBM Rhapsody, MagicDraw/Cameo).
Experience developing device drivers and Board Support Packages for real-time embedded systems.
Experience with Information Assurance and/or cryptography.
Experience with NSA Type 1 certification or other software certifications such as DO-178.