Reports to

Director of Technology.

Background

With its climbing popularity and adoption, the Rust programming language has an extensive documentation library, including a language reference — however, it does not yet have an official specification. This resource is commonly created by programming languages to clarify what is and what is not normatively-defined behavior and help ensure accuracy and compatibility for those implementing language tools. Specifications can also be used for education, writing accurate test suites, as a check against a canonical implementation, and much more. The Rust Foundation is committed to ensuring that the language has a high-quality specification in place to serve as a valuable cross-industry standard for Rust use.

Role Overview

The Rust Specification Editor and Project Manager is a contractor role responsible for the technical writing and editing of a Rust language specification, and managing good communication and collaboration between all stakeholders, including members of the Rust project and the Rust Foundation. The Rust Project has an approved RFC to begin work on implementing an official language specification – this will require a talented editor and organized project manager to manage a high-volume of input and to develop a fit-for-purpose specification within an agreed timeframe.

Objectives

The Rust Specification Editor and Project Manager will work to achieve the following objectives:

  • Deliver a high-quality Rust language specification within an agreed upon time-frame, likely 6-9 months.
  • Ensure that the final Rust specification includes input from key stakeholders, including representatives of the Rust Project, Rust Foundation, and from the wider Rust communities.
  • Ensure that all stakeholders are actively participating in the drafting and approval process.

Responsibilities

Technical Specification Editing

  • Incorporate the concepts, principles and content that will ultimately make up the Rust language specification, based upon agreed formatting and style guidelines.
  • In conjunction with any potential required ancillary design or copyediting resources, produce a developer and community-friendly Rust language specification based upon agreed upon targets.
  • Propose technical clarifications and corrections to the specification to ensure accuracy.

Specification Project Management

  • Join and actively participate in any specification working group or team that is created as a result of the specification development effort.
  • Coordinate meetings, suggest relevant topics of discussion and help manage the collaboration process in the creation of the specification.
  • Collect and aggregate information from specification stakeholders to ensure all agreed upon viewpoints are represented well and fairly in the specification.
  • Coordinate cross-project response plans in the cases where specification work uncovers deficiencies in Rust that may need addressing.
  • Provide regular status updates on the progress of the specification, through agreed upon vehicles for those updates.
  • Ensure the final specification is supported by all relevant stakeholders.

Skills/experience

  • [Required] Experience writing technical prose and documentation.
  • [Required] Deep understanding of how programming languages are implemented.
  • [Required] Experience managing projects with diverse members and various requirements in an open source environment, or able to adapt to an open source environment.
  • [Strongly Preferred] Experience writing technical, computing-related specifications.
  • [Strongly Preferred] Experience with the Rust programming language.
  • [Nice to Have] Experience writing a programming language specification.
  • [Nice to have] Direct involvement in the Rust Project.

Hours: Contracting role. Remote, but must be in a timezone compatible with US and European office hours, and must expect to attend regular calls to accommodate individuals from Pacific Time through Central European Time, and potentially occasionally other timezones as necessary.

Compensation: The timeframe for this work will be 6-9 months and will be paid at an agreed upon hourly or daily rate. Rate/benefits to be agreed based on local norms in the candidate's country.

Select a repo