About → Handbook

Automate Everything

If you've had to do something more than once, it probably should be automated.


  • Human errors: Manual tasks will inevitably suffer from human errors occasionally.
  • Difficulty diagnosing unexpected behaviour: Automated processes offer a higher visibility into what went wrong through logs, monitoring and a myriad of capabilities available to us. That makes time to recover much quicker and the process less stressful.
  • "How do we do this again?": Humans are forgetful. When something happens infrequently we are prone to forgetfulness and sometimes that would require us to do our research all over again before any bells start ringing.
  • Time waste: Linked to the above, this could lead to a lot of wasted time having to solve the same problem over and over again every few months.
  • Knowledge silos: Chances are, you haven't built the entire product yourself which means there are bits of knowledge spread across the team. When things are automated then that knowledge is documented somewhere. Otherwise, it exists solely in someone's head.
  • More difficult onboarding: Closely linked to the above. When you have a new member joining, it can be an excruciating process trying to extract all the knowledge from everyone's heads. When Things are automated then it's easier to understand what's going on which helps the new teammate hit the ground running much quicker.


This is a small headline that covers a lot of ground. This could be anything from automating CI/CD, setting up local development environments, running data reports to automating back office support tasks. Automation will reduce cognitive load for the mundane everyday tasks and allow you to focus on the new and interesting problems. This is closely linked to Facilitate future you.

Small Teams

A few good people can work more effectively than a big, bloated team of good people.


Design through Tests

Writing tests before writing production code is essential to creating a sympathetic design and architecture.