Cynet Systems ยท 3 months ago
Senior Rust Software Developer
Cynet Systems is a company seeking a Senior Embedded Software Engineer to lead the development of embedded software applications with a focus on Rust. The role involves applying engineering principles to design, implement, and test software for embedded systems while collaborating with cross-functional teams.
EmploymentRecruitingStaffing Agency
Responsibilities
Support the engineering team in developing embedded software applications, primarily using Rust
Lead the adoption and deployment of Rust programming practices, design patterns, idioms, and tooling across multiple product lines
Apply computer science, engineering, and mathematical analysis concepts in the development of software for target hardware
Collaborate with cross-functional engineering teams to define and evaluate interfaces between hardware and software, operational performance requirements, and system design
Participate in all phases of the software development lifecycle, including requirements analysis, design, implementation, hardware-software integration, and formal testing
Investigate root causes of complex software issues and implement solutions independently or as part of a multi-discipline team
Develop software test plans, procedures, and technical documentation
Utilize modeling tools and experimental test equipment to prototype, evaluate results, and establish operating data
Conduct peer reviews, track defects, and implement fixes
Develop code for embedded real-time operating systems (VxWorks, Linux, Integrity) using Rust, C/C++, and Python
Qualification
Required
Support the engineering team in developing embedded software applications, primarily using Rust
Lead the adoption and deployment of Rust programming practices, design patterns, idioms, and tooling across multiple product lines
Apply computer science, engineering, and mathematical analysis concepts in the development of software for target hardware
Collaborate with cross-functional engineering teams to define and evaluate interfaces between hardware and software, operational performance requirements, and system design
Participate in all phases of the software development lifecycle, including requirements analysis, design, implementation, hardware-software integration, and formal testing
Investigate root causes of complex software issues and implement solutions independently or as part of a multi-discipline team
Develop software test plans, procedures, and technical documentation
Utilize modeling tools and experimental test equipment to prototype, evaluate results, and establish operating data
Conduct peer reviews, track defects, and implement fixes
Develop code for embedded real-time operating systems (VxWorks, Linux, Integrity) using Rust, C/C++, and Python
Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field
Preferred
Experience converting C/C++ codebases to Rust
Prior experience developing Rust software for embedded systems
Object-oriented design and implementation experience, with exposure to UML and modeling tools such as IBM Rhapsody or MagicDraw/Cameo
Experience developing device drivers and Board Support Packages (BSP) for real-time embedded systems
Knowledge of information assurance, cryptography, or software security practices
Experience with SW certification standards such as NSA Type 1 or DO-178