Acara Solutions, An Aleron Company · 1 week ago
Rust Software Developer
Acara Solutions is a premier recruiting and workforce solutions provider seeking a Rust Software Developer to join their client in the Aerospace and Defence industry. The role involves developing embedded software systems using Rust, guiding best practices, and collaborating with cross-functional teams throughout the software development lifecycle.
Information TechnologyRecruitingStaffing Agency
Responsibilities
The client is seeking an experienced Software Engineer with a background in the Rust Programming Language and proven experience developing systems with Rust to guide the next generation of mission-critical systems
Responsibilities include guiding the adoption of Rust throughout the embedded development, managing the integration or conversion of legacy software to Rust, providing best practices and architectural guidance for memory-safe usage of Rust, developing best practices and implementation guidance, and translating documents into working and maintainable solutions for our C5 and Cyber Solution Centres
The selected candidate will apply technical proficiency across various stages of our SDLC, gather requirements and work closely with stakeholders to prioritise and scope tasks
The selected candidate will serve as a key team member on a Scrum team and will play a pivotal role in shaping our direction and strategy for product and infrastructure development
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 organisation to develop and evaluate interfaces between hardware and software, 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 testing
Investigate the root causes of complex issues and implement solutions, working independently or as part of a multidisciplinary team
Develop software test plans and procedures, as well as other relevant technical documentation
Utilise modelling tools and equipment to establish operating data, conduct experimental tests, prototype, and evaluate results
Participate in peer reviews, identify, track and repair defects
Utilise a variety of software languages (primarily Rust, C/C++, and Python developing code for embedded real-time operating systems (VxWorks, Linux, Integrity)
Qualification
Required
Bachelor's Degree in Computer Engineering or Electrical Engineering or Computer Science
Minimum 3 years of experience in developing Rust software for production systems with the language
Minimum 3 years of experience in C/C++ development and object-oriented design
Minimum 3 years of experience in the development of embedded systems
Minimum 10 years of experience in developing embedded software systems
Active Secret Clearance
Preferred
Master's Degree in Computer Engineering or Electrical Engineering or Computer Science
Excellent oral and written communication skills
Experience converting C/C++ code to Rust
Experience developing Rust software for embedded systems
Object-oriented design and implementation experience, with exposure to software modelling and UML tools such as IBM Rhapsody or MagicDraw/Cameo
Experience developing device drivers and Board Support Packages for real-time embedded systems
Experience with Information Assurance and cryptography
Experience with NSA Type 1 certification or other SW certification, such as DO-178