Principal / Lead Embedded Software Engineer (Rust & C++)
GrammaTech, Inc.
Camden, United States of America
22 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Camden, United States of America
Tech stack
C++
Code Review
Software Debugging
Memory Management
Embedded Software
Hardware Interface Design
Performance Tuning
System Programming
Universal Asynchronous Receiver/Transmitter
Serial Peripheral Interface
Build Tools
Legacy Systems
Job description
GrammaTech is seeking a highly experienced Principal or Lead Embedded Software Engineer with deep expertise in Rust and a strong foundation in C++ to support the evolution of a legacy embedded system. This role will focus on modernizing existing codebases and developing new features using Rust, while maintaining and interfacing with established C++ components., * Lead the design and development of embedded software solutions using Rust
- Analyze and work within an existing C++ codebase to support enhancements and migration efforts
- Architect and implement high-performance, reliable embedded applications
- Drive best practices for Rust adoption within embedded environments
- Provide technical leadership, mentorship, and code reviews
- Troubleshoot, debug, and optimize system performance across both Rust and C++ layers
Requirements
- 8+ years of embedded software development experience
- Deep expertise in Rust (production-level experience required)
- Strong proficiency in C++ with experience maintaining legacy systems
- Experience with low-level systems programming, memory management, and performance optimization
- Proven ability to lead technical efforts or operate at a principal/architect level
Preferred:
- Experience migrating C/C++ codebases to Rust
- Knowledge of hardware interfaces (SPI, I2C, UART, etc.)
- Background in safety-critical or high-reliability systems
- Experience with build systems and toolchains for embedded development