About the Role
About the Role
The Lead Rust Software Developer will guide the adoption of Rust in developing mission-critical systems, focusing on embedded software applications. This role involves managing the integration of legacy software to Rust, providing architectural guidance, and collaborating with cross-functional teams throughout the software development life cycle.
What You'll Do
- Support the engineering team members in embedded software application development specifically with Rust.
- Lead the adoption and deployment of Rust and associated techniques, idioms, design patterns, and tooling throughout multiple product lines.
- Apply computer science, engineering, and mathematical analysis concepts and principles in the development of software for the target hardware.
- Work closely with cross-functional members of the engineering organization to develop and evaluate interfaces between hardware and software, and operational performance requirements and design of the overall system.
- Support and participate in all phases of the software development life cycle, including requirements analysis, design, implementation, hardware-software integration, and formal test.
- Investigate root causes of complex issues, and implement solutions, working independently or with a multi-discipline team.
- Develop software test plans and procedures, and other relevant technical documentation.
- Utilize modeling tools and equipment to establish operating data, conduct experimental tests, prototype, and evaluate results.
- Participate in peer reviews, identify, track and repair defects.
- Utilize a variety of software languages (primarily Rust, C/C++, and Python) developing code for embedded real-time operating systems (VxWorks, Linux, Integrity).
Who You Are
- U.S. citizenship with an 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 a deep understanding of the language.
- 8+ years of experience developing embedded software systems.
- Experience with C/C++ development and object-oriented design.
- Excellent oral and written communication skills.
Bonus Points
- 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 such as IBM Rhapsody or MagicDraw/Cameo.
- Experience developing device drivers and Board Support Packages.
Compensation
We expect 1 more job opening this week up to 300k base.
Benefits
- Relocation Assistance Available.
Requirements
Rust programming
3+ years of experience developing Rust software for production systems.
Embedded systems
8+ years of experience developing embedded software systems.
C/C++ development
Experience with C/C++ development and object-oriented design.
DoD clearance
Active Department of Defense (DoD) Secret clearance is required.
Nice to Have
Experience converting C/C++ code to Rust.
Experience developing device drivers and Board Support Packages.
Benefits
Relocation Assistance
Support for relocating to Camden, New Jersey or Herndon, VA.