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.
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.
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.
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