In the previous article, we discussed one of many possible journeys for the evolution of ‘System Design’ in search of nirvana of Independence, i.e. Independence of development, technology, deploy-ability, scalability, and team structures (autonomous).

If we weave this whole journey so far, it is evident that effort and direction were…

Is story point estimation mandatory for being Agile? Can we use Hours?

Photo by Zach Lucero on Unsplash

“Let’s use Story Points


We are following agile now

Yayy.. story points!

How many hours will these stories take?

But are we not using story points now?

Yeah, but we still need to plan. Hours are better…

Hiring is complex and tedious work, but one of the most rewarding too

Photo by Michael LaRosa on Unsplash

I started my career in an early-stage startup. That gave early exposure to a few of the responsibilities which are sometimes bestowed after years of experience. One of such experiences was to be involved in the hiring process. I took my first interview in 2002. Being an early-stage startup, our…

The mind is a very powerful organ at our service, as long we know how to tame this beast, and are not letting it become our master.

Photo by Glen Carrie on Unsplash

This is an incident from my childhood. Back then, our daily routine used to start very early in the morning (4 am). I learned this habit from my mother and grandmother. They used to wake me up every day. At some point, I grew a wish to surprise them by…

Write code that can be read like a story.


If someone asks me who is my Guru for Java, I would say ‘Sun Microsystem’ and ‘Apache Foundation’.

I am from a generation, where most of the programming learning was by reading Java source code. Internet was not a big store of many rich blogs or forums, and hence reading…

Logs that can narrate the story of the system state in simple words


“In some ways, programming is like painting. You start with a blank canvas and certain basic raw materials. You use a combination of science, art, and craft to determine what to do with them.” — Andrew Hunt

My first lesson on the importance of logging was in 2001–02, from my…

Context changes with time, which makes understanding the truth difficult. Let the truth be accessible easily to everyone, with effective documentation.

When I think about documentation in code, I think about a fellow developer reading it a couple of years down the line when I am not around. And that defines the test/quality criteria of documentation for me:

Will a developer who just understand the system domain, would be able to…

Changes are difficult. Leaders lead the changes by setting the example, and by showing that it is possible

Photo by krakenimages on Unsplash

Albert Einstein once said “Setting an example is not the main means of influencing others, it is the only means.”

To complement this quote, let me tell you a story.

I started working as a shop supervisor back in 1998. It was a mechanical workshop with approx 25 technicians. …

Surprises are inevitable. Handling these early and gracefully helps both customers and developers.

This is the second article in the ‘Art of Clean code’ series. Refer to the first one here.

Error Handling is to accept that surprises are inevitable and to be prepared to manage any surprise gracefully with as minimal impact on customers as possible.

But isn’t error handling something which…

Photo by Susan Yin on Unsplash

Microservices architecture bring us so many great benefits, as we discussed here. However, nothing comes free and so the benefits of Microservices. There are various challenges which are by-product of microservices, and it makes all sense to understand these well before beginning journey in new fancy world.

One of these…

Mohit Gupta

Enjoy building great teams and products, a learner, an explorer of matrix

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