About This Role
This engineering role is for a Rust Engineer to create, maintain, support, and improve complex, cutting-edge embedded platforms. The ideal candidate will apply their knowledge in a highly energized, fast-paced, and innovative environment while working on the company's products. The role suits someone who has deployed or supported Rust code in production or moved a meaningful open-source Rust project into real community use.
Responsibilities
- Contribute to the full software development life cycle
- Write maintainable, extensible, well-tested, and well-documented code in compliance with coding standards and agreed technical design decisions
- Produce specifications and determine operational feasibility in alignment with architectural guidelines and project objectives
- Continuously integrate and deliver software components into fully functional software systems, ensuring reliability and maintainability
- Take ownership of assigned work through completion, ensuring all acceptance criteria are met and addressing issues identified during testing and review in a timely manner
- Deliver assigned work within expected timelines and proactively communicate risks, blockers, or ambiguity that may impact delivery
- Facilitate end-to-end user testing with customers
- Troubleshoot, debug, and upgrade existing systems as necessary
- Work closely with product owners to shape and deliver features to customers
- Participate in team meetings and maintain timely communication to support effective project delivery
- Participate in code reviews to ensure code quality and share knowledge
Requirements
- 3+ years of software engineering experience
- Experience writing clean, concise, tested, maintainable code in Rust
- Experience in deploying Rust applications to production or providing support for Rust applications in production
- Hands-on experience applying current best practices and principles in software development
- Ability to work well in a team-oriented, agile software engineering environment
- Ability to learn and apply new technologies, programming practices, patterns, and methods
- Basic knowledge of modern architectures, CI/CD practices, and/or related competencies within the engineer
- Demonstrates problem-solving, troubleshooting, and decision-making skills
- Solutions-oriented with an ability to keep an open mind while finding agreeable solutions
- Organized and detail-oriented
- Ability to develop healthy working relationships and collaborate with peers and leaders
- Exhibits integrity and high standards in work quality
- Excellent verbal and written communication skills