Table of contents

Designing for reliability

The developers role

Writing code is a core part of software development, but our responsibility extends beyond that.

As a developer you are responsible for the whole release process, from code review to deployment on a production system. You should also ensure that the products you are working on are easy to support and operate.

Junior level

Working with a more experienced developer, you should be able to produce code of a sufficient quality standard to ship to production.

You should use automated testing to ensure your code works.

Mid level

At mid level, you should:

  • reliably produce production ready code without assistance
  • be able to operate software in production
  • review pull requests raised by other members of your team
  • anticipate ways that software components and infrastructure can fail

If working on the frontend, you should understand how to use progresssive enhancement and why it’s important.

Senior level

At senior level, you should

  • understand how systems scale and plan for real world usage
  • make sure your build process is repeatable across environments, so it is safe to deploy changes regularly
  • monitor your software so you know that it is working in production and can inspect what it’s doing

The reliability engineer role

External resources

This page was last reviewed on 16 November 2018. It needs to be reviewed again on 16 December 2018 .
This page was set to be reviewed before 16 December 2018. This might mean the content is out of date.