How Abe Lincoln improved my software development practices.

Sushruth Siv
Tiny Tech Tales
Published in
2 min readAug 24, 2016

If I had eight hours to chop down a tree, I’d spend six hours sharpening my ax. — Abraham Lincoln”.

Instead of just starting to chop with a blunt blade for hours on end it’s a whole lot smarter to first sharpen the blade and then take on the physically harder task of bringing the tree down. This goes for everything.

The same principle applies to software engineering as well.

Take case of my nativescript setup, where I am currently building iOS and Android apps at the same time. To visually see what my code change has done, the setup recompiles files, builds app again depending on the the type of change and syncs it with my mobile. Once I see the change, I may have to edit that particular change because it did not produce expected output.

Assuming each time I change the code, on an average it takes about 1 minute to build and check code changes. Over the course of the day I easily need to do it around 100+ times. For the sake of calculations let us keep it at 100. So basically I have to sit idle for atleast 100 * 1 minute each day while the system does its work. This adds to atleast 100 minutes of unproductive time each day. This adds up to about 2000 minutes in a month or 33.3 hours assuming 20 work days. (being very liberal here)

On the other hand if I reduce the build time by 20 seconds, the total unproductive time is down to 22.2 hours. So even a 20 second time save each build ends up saving 10s of hours each month. Now imagine you have have a big team. This leads to a lot of man-hours being wasted.

I draw a valuable lesson from this, for each project, especially if it is a long running project, STOP adding more features, improve your development setup and then continue adding features. It is always beneficial to spend some time upfront rather than wasting little time on a repeated basis.

What do you guys do to improve your workplace efficiencies ?

--

--