Role Summary
* In this role, you will develop, integrate, and maintain Rust-based embedded software systems. You will guide the adoption of Rust across multiple product lines, provide architectural guidance, and translate requirements into maintainable software solutions. You will collaborate with cross-functional teams throughout the software development life cycle, support embedded hardware integration, and mentor team members on best practices and design patterns. Education & Job Requirements
* Must have U.S. citizenship and an active Department of Defense (DoD) Secret clearance.
* Must have a Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
* Must have a minimum of 3 years of experience developing Rust software for production systems, with a deep understanding of the language.
* Must have experience with C/C++ development and object-oriented design.
* Must have experience developing embedded systems.
* Must have excellent oral and written communication skills. Preferred Skills
* You will have experience converting C/C++ code to Rust.
* You will have experience developing Rust software for embedded systems.
* You will have object-oriented design and implementation experience, with exposure to software modeling and UML tools such as IBM Rhapsody or MagicDraw/Cameo.
* You will have experience developing device drivers and Board Support Packages for real-time embedded systems.
* You will have experience with Information Assurance and/or cryptography.
* You will have experience with NSA Type 1 certification or other software certification, such as DO-178. Job Duties / Functions
* You will be supporting the engineering team in embedded software application development using Rust.
* You will be leading the adoption and deployment of Rust, including idioms, design patterns, and tooling across product lines.
* You will be applying computer science, engineering, and mathematical analysis concepts in software development for target hardware.
* You will be collaborating with cross-functional engineering teams to develop and evaluate hardware-software interfaces and operational performance requirements.
* You will be supporting all phases of the software development life cycle, including requirements analysis, design, implementation, hardware-software integration, and formal testing.
* You will be investigating root causes of complex issues and implementing solutions independently or with a team.
* You will be developing software test plans, procedures, and technical documentation.
* You will be utilizing modeling tools and equipment to establish operating data, conduct experimental tests, prototype, and evaluate results.
* You will be participating in peer reviews, identifying, tracking, and repairing defects.
* You will be developing code in Rust, C/C++, and Python for embedded real-time operating systems such as VxWorks, Linux, or Integrity.