The leverage of a software engineer's time

You should work as hard as possible and write as much software as you can, particularly if you are a junior engineer, however, this can only get you so far.

In order to become a great engineer, you have to master the leverage of your time, which will help you do more in the same amount of time. Engineers spend time on two sets of activities – writing software and everything else.

The leverage of a piece of software is a function of the current & future customer value it creates, the time it takes to write and how easy it is to change in the future.

Leverage = ( CustomerValue / TimeToWrite ) ^ Changeability

This idea of leverage can help you with tradeoffs of building software like which bug is worth fixing? should I generalize this code? It also shows you the levers of growing as an engineer like how can I create more customer value? how can I write code faster?

As far as spending time on other activities like meetings, mentoring, learning etc. Ensure that any time spent on these activities is directly helping you increase the leverage of your time spent writing software otherwise they're not worth it.

Show Comments