Building reliable software

Creating reliable software is difficult. When you start to create the initial version of the software, you don’t expect the application to have a huge codebase. Very few software’s have a large codebase. At least if you are going the MVP route.

If your application does move past the MVP stage, adding more features and maintaining the codebase soon becomes a topic of discussion. It’s a good thing though. Very few software projects reach this stage. There is so much to learn when your project gets to this level.

We have been facing this issue at Brightpod recently. Brightpod is my first project which is now used by more than 4500 companies across the world. My previous projects were websites and e commerce sites which never reached the stage Brightpod has.

It’s been great to see Brightpod grow, used and liked by a lot of companies. Improving it over time has been a joy and also pain at times. Fixing bugs now takes a bit longer. We now spend a lot of time testing software. Every feature decision is now thought in terms of speed and simpler design. It’s different from how I built websites and applications before.

Every bug in the software now affects a lot of people and their work day. When a lot of people depend on the software you have helped build, you start to learn more about how to build reliable software.

From not paying much attention to writing unit tests / behaviour tests, we now spend time learning how to do these. Revisiting SQL queries written a year before, refactoring a lot of code and investing in front end browser testings tools.

Building reliable software from here on is a priority.

Sunil Shenoy @sunil
Made with