Structured Résumé Format (SRF)

Structured Résumé Format (SRF) is a specification of a simple human- and machine-readable file format for representing the content of a résumé, independent of formatting and other styling information. SRF was designed to fill the gap between the formats in which résumés are frequently given to organizations and the great pains to which developers have written tools to extract information from those résumés. Furthermore, it provides a straightforward way to quantitiatively compare (wherever possible) the qualifications of potential employees, if the résumés are being used for this purpose.

In many cases, an SRF document can be directly translated into whatever structure is already used by hiring offices for input into their existing databases. This is partly because every SRF document is a YAML document, and YAML parsers are available for many popular programming or scripting languages.

With the help of easily-written tools, SRF documents can be turned into documents with styling information, RTF or Word documents, and from there to portable formats like PDF.

I began development of SRF during the summer of 2015. This page contains the “official” specification of SRF and links to the tools I’ve written to parse or convert SRF files.

SRF 1.0 specification

July 10, 2015

An SRF file is a YAML 1.2 file. Therefore, for information about the allowed syntax of the file, and any advanced features of YAML, see the YAML specification.

Introduction and general notes

SRF files must be plain-text1 files. This is a requirement inherited from YAML. Thus SRF files can contain no font, color, or any other styling information. This specification considers such styling information separate from the content of a résumé itself, and delegates the styling to other tools that can convert an SRF file to a format that supports styling.

Here are some other notes:

Document structure

In this specification, the term key-value pair will be used to refer to a given mapping in a YAML dictionary. In other words, in the valid YAML document

title: The Selfish Gene
author: Richard Dawkins

there are two key-value pairs contained in one dictionary, and the keys are title and author, and the values mapped to by these keys are the strings "The Selfish Gene" and "Richard Dawkins", respectively.

Top-level key-value pairs

The following key-value pairs are allowed at the “top” level (in other words, the level not nested in any other outer level of the document).

Education dictionaries

Each education dictionary under the education key should represent a single period of time during which the subject of the résumé invested time at an academic institution.

Only one education dictionary should be used per academic institution, even if multiple degrees or certificates were awarded during that period. However, if more than one year elapsed between enrollments at the same institution, it should be listed twice.

An education dictionary consists of the following key-value pairs:

Position dictionaries

Each position dictionary under the positions key should represent a single period of time during which the subject of the résumé invested time at a non-academic institution.

A position at an organization is determined unique by one or both of the following factors: the type of position held or the “end” date of the position (the year during which the subject of the résumé left that position).

A position dictionary consists of the following key-value pairs:

Award dictionaries

Each award dictionary under the awards key should represent a specific award or prize given to the subject of the résumé by a named entity.

An award dictionary consists of the following key-value pairs:

Example CV-like SRF document

The following is an example of an SRF document that simply lists education and work background, with a focus on awards and achievements. This makes it “CV-like” because specific work-related achievements are left out.

given_name: Clinton Richard
family_name: Dawkins
prefix: Professor
suffix: [FRS, FRSL]
telephone: +44 1234 678 999
address: |
    Museum of Natural History
    Oxford University
    Parks Road, Oxford, OX1 3PW

  - type: secondary
    school: Oundle School
    location: Oundle, England
    start: 1954
    end: 1959
  - type: post-secondary
    school: Balliol College
    university: University of Oxford
    location: Oxford, England
    focus: zoology
    start: 1959
    end: 1967
      - type: B.A.
        awarded: 1962
      - type: M.A.
        awarded: 1966
      - type: D.Phil.
        awarded: 1966

  - type: assistant professor
    organization: University of California, Berkeley
    start: 1967
    end: 1969
  - type: lecturer
    organization: University of Oxford
    start: 1970
    end: 1990
  - type: reader
    name: Reader in Zoology
    organization: University of Oxford
    start: 1990
    end: 1995
  - type: professor
    name: Simonyi Professor for the Public Understanding of Science
    organization: University of Oxford
    start: 1995

  - name: ZSL Silver Medal
    date: 1989
  - name: Michael Faraday Prize
    date: 1990
  - name: International Cosmos Prize
    date: 1997
  - name: Fellow of the Royal Society
    date: 2001
  - name: Nierenberg Prize
    date: 2009
  1. A plain text file is a file containing no styling information. It is usually produced by a program like Notepad (on Windows) or TextEdit (on OS X). See here for more information. 

  2. Note also that the collection type used for storing the mappings in an SRF document is !!map, not !!omap (see here) for more details.