On importance of unified tooling

What does your typical work day as a (software) developer look like?

You probably spend some time writing actual code, a lot of time integrating it with existing systems and finally spend weeks delivering it to production.

In this short post I want to emphasize the importance of unified tooling.

By “tooling” I mean everything — from debuggers to monitoring systems.

By “unified” I mean that the tooling stack is explicitly defined i.e. set as a “standard” across the company.

The working process without “unified tooling” is deplorable. At best you’ll have a long feedback loop and will not be able to scale development of your product, at worst your product quality will suffer. From my professional experience, if you are trying to build a scalable product, you definitely need a unified tooling.

Here are 5 main tips that I have.

1. Consciously spend time on tooling

If you did something manually twice — automate it!

2. Continuous integration of the code is a must

  • Gitlab CI/CD
  • Github Actions
  • CircleCI
  • TravisCI
  • Jenkins
  • Terraform
  • Ansible
  • many others

3. Create a unified development environment

4. Create and maintain an example module

5. Unify your technological stack

That’s all for today!

Systems Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store