The Rust Development Lead is responsible for designing, developing, and implementing high-quality software solutions for the company that is efficient, readable, scalable, lean, and cloud-friendly and for providing leadership within the Rust Team.
Required activities and tasks:
- Creating the architectural designs, planning the development process, and execution
- Building software using programming language Rust and other languages (C++, go, etc.)
- Multi-platform development (Linux, Windows, AWS, Azure, GCP)
- Participate as an active member in Architecture forums, make proposals, and decisions
- Planning and team learnings, Organize planning sessions and retrospective
- Provide guidance in planning for development
- Provide data on the performance of developers in retrospective
- Take an active part in refinement meetings with Refinement issues - Product and Engineering Manager
- Research new technology, performance testing, working with DevOps and Support
- Liaising with DevOps on environments needed for Development
- Working with Support on high-profile urgent issues
- Working with other lead developers from other teams
- Working with the Product Owner and Senior Project Manager to help refine issues
- Provide an example of standardization of work – the lead’s issues contain description, architectural breakdown, and clear and clean code with reasons why the direction was chosen
- Daily update of reports – allowing teams to see progress
- Time management Code Reviews, Architectural Discussions, Merging
- Development of own lead issues
- Working with frontend, backend, and DevOps teams to improve test coverage and test environment
- Suggestions to improve ways of working e.g., when a new developer starts we set up a few basic examples of ways of working. Working with Hubstaff and Git
- Providing information and decisions on new libraries when required
- Research, analysis, and evaluation of software applications and operating system needs; and capturing of that research in the Gitlab repository
- Research, design, and develop the product architecture
- Daily committing of code into the Gitlab repository
- Estimation and collaboration in planning sessions via digital video conference facilities
- Testing both manual and unit tests of software developed by yourself and your teammates
- Modifying existing software to fix bugs, adjust to new hardware, or improve performance
- Management of software programming and documentation development; where required discussion with technical writers to explain work that has been completed
- Participation in development and testing – through the writing of code, unit tests of your own work, as well as code review of teammates, work
- Planning of work and leave to ensure that project timelines are not jeopardized
- Provide input to technical writers where documentation is required
- Communicating where constraints will be missed i.e. timings or technology stack
- Continuous learning on new networking technologies and software products, technologies
- Strive to develop innovations that serve the company strategy and overall team performance
Requirements:
- At least 4-5 years of programming experience with the Rust language.
- 10+ years in systems programming, which may include other languages (C++, go, etc).
- 5+ years of experience as Lead Developer.
- Building and working in high-performance agile software development teams.
- Building processes to support highly effective teams.
- Network programming skills.
- Multithreaded programming knowledge.
- Experience with SSL/TLS APIs.
- Good algorithmic skills.
- Debugging, profiling, and performance optimization skills.
- Secure coding practices.
- Care for the quality and readability of your code.
- Passionate about hacking on Linux systems while also feeling at home on Windows. Multi-platform development experience.
Nice to have:
- Experience in building distributed systems,
- Build automation,
- Prior experience working as a software architect.
- Cloud platforms (AWS, Azure, GCP),
- Master’s degree in Information Technology or similar,
- Customer-oriented and able to communicate in English,
Most importantly you should be a quick learner and eager to jump on and understand new technologies.