Skip to content

Latest commit

 

History

History
54 lines (28 loc) · 3.79 KB

competencies.md

File metadata and controls

54 lines (28 loc) · 3.79 KB

Contributing: Engineering Competencies

The Engineering competencies are used to inform conversations about career progression between an engineer and their line manager. Every engineer in the CTO organisation of the Financial Times can help shape these competencies.

Language Guidelines

The competencies all follow tone and language guidelines, any edits or additions should keep to these guidelines.

Editing on GitHub

Using the GitHub interface is the quickest way to get started with making suggestions to the engineering competencies. There are a few files in the repository that you'll need to care about:

If you want to add a new level, you'll also have to create the relevant levelname.html file in site/pages/competencies.

Once you've committed your changes and opened a pull request, your changes will be automatically tested to make sure that the files are in the correct format. Pay attention to the status of your pull request and use the CircleCI interface to review any errors.

Editing Locally

GitHub is useful for smaller changes, but you may prefer to edit competencies in an editor on your local machine. Before reading further, you'll need to follow a short Local Development guide to get yourself set up.

Once you have everything set up locally, you can start to edit the following files. It's best to do this on a branch so that you can open a pull request later on GitHub.

If you want to add a new level, you'll also have to create the relevant levelname.html file in site/pages/competencies.

Running Tests

We use JSON Schema to test that the competencies YAML is valid, and that no changes to the structure can be made accidentally. These tests are run automatically on CircleCI, but it may be useful for you to test changes locally before pushing. You can do this with:

make validate-competencies-json

This will first run make build for you behind the scenes, and then run the tests against the built JSON. If there are any validation issues, errors are output to the command line and the command will exit with a code of 1.