Software Engineer [crates.io]

Rust Foundation

Location Remote. Regular collaboration with US/EU time zones will be required.
Salary $100k-$150k USD (experience-based). Salary/benefits to be agreed based on experience and local employment package norms.
  • Closing: 5:00pm, 13th Jan 2023 PST

Job Description

The Rust Foundation’s mission is to steward the Rust language through supportive community initiatives and by actively supporting the volunteer maintainers that develop and govern the Rust Project. The person in this role will help ensure that Rust is the most secure, robust and developer-friendly programming language in the world. The Software Engineer will work within the Rust Project to support new and ongoing software projects, including efforts within the Foundation’s Security Initiative. They will engage directly with the Foundation’s Security Engineer and Rust Project teams, with the possibility of collaborating with other members of the Rust community. This role will make an important, strategic contribution to the Rust Foundation, helping the organization strategize on and achieve goals around security, specific Project (e.g., crates.io) and ecosystem needs, and other potential work items, primarily in an open source environment.

The Rust Foundation’s Software Engineer will work with:

  • The Rust Project crates.io team to form a strategic and tactical partnership in designing and implementing prioritized solutions.

  • Other Rust Project maintainers (e.g., cargo) designing and implementing prioritized solutions.

  • The Rust Project and Rust Foundation Engineers to help prioritize key features and issues requiring engineering, particularly within the security space, and design and implement important related software solutions.

Responsibilities

Crates.io

  • Establish a presence on the crates.io team for routine, impactful collaboration.

  • Improve the crates.io frontend, including updated design, new features, extended test suite and implement server-side rendering.

  • Optimize the crates.io database, including queries and data structures

  • Help ensure that crates.io is as secure as possible by implementing new features that improve the security of its ecosystem, e.g. GitHub secret scanning and API token scopes.

  • Improve the maintainability of crates.io in terms of deployment, observability, scalability and more. This could include decoupling provider-specific code to allow for hosting crates.io elsewhere, migrating away from a custom HTTP framework and using off-the-shelf components, improving logging/metrics/tracing, etc.

  • Provide timely reviews on pull requests from other contributors and participate in the RFC process.

Additional Software design and implementation

  • Collaborate with the Rust Project and the Rust Foundation to understand additional software engineering priorities. A roadmap will be jointly developed to determine opportunities with the greatest impact.

  • Design appropriate engineering solutions to current code that requires improvement or new features.

  • Write the code necessary to implement improvements, fixes, and/or new features.

  • Help maintain and expand efficiency within relevant Rust Project teams in order to reduce workload and burden amongst an already bandwidth-limited volunteer organization.

Collaboration and advocacy

  • Communicate effectively between the Rust Foundation and the Rust Project about priorities, roadblocks, and progress.

  • Advocate for software solutions that increase the goal of continued Rust growth in the developer community.

Skills/Experience

  • A working knowledge of the Rust Programming language is required.

  • Understanding of the collaborative programming infrastructure in the Rust Ecosystem including source control, build systems, continuous integration systems, package management, etc. is required. This role may require use of crates.io, cargo, git, GitHub, GitHub Actions, AWS, Cloud Computing, Shell Scripts, Docker, etc.

  • Ability to work in both a reactive (e.g. fixing current issues) and proactive (e.g. developing new features) environment is required.

  • Experience working with an open source community is strongly preferred.

  • Experience with security engineering and security practices is preferred.

  • Experience in front-end development, including HTML, CSS and JavaScript, is preferred.

  • Experience in programming and developing software in a professional environment is preferred.

  • Experience with project management or maintaining an open source project is preferred.

Role Logistics

  • Compensation: $100k-$150k USD (experience-based).

  • Salary/benefits to be agreed based on experience and local employment package norms.

  • This role will be full-time (independent contractor status considered) and fully remote. Regular collaboration with US/EU time zones will be required.

  • This role reports to the Director of Technology at the Rust Foundation.

Removing bias from the hiring process

Applications closed Sat 14th Jan 2023

x

Removing bias from the hiring process

  • Your application will be anonymously reviewed by our hiring team to ensure fairness
  • You’ll need a CV/résumé, but it’ll only be considered if you score well on the anonymous review

Applications closed Sat 14th Jan 2023