Everything difficult is essentially complex. The resources and skill required to tackle increasing complexity never linear. An assembly line of 50 workers is n times harder to manage than that of 25. A flowchart with 10 branches is n times harder to understand than one with 5. A program of 1000 lines is n times harder to manage than one of 500. And n is usually much much higher than 2. Thus complexity is the fundamental obstacle in running or scaling any system. All large systems — business processes, assembly lines, services, or programs have arrested growing complexity successfully. …


There are two fundamental things to get right when scaling engineering and engineering teams — design and code. Bad design is responsible for most of your technical challenges such as scaling, consistency and costs. Bad code is responsible for most of your people problems such as productivity, credit, ownership and motivation.

When I manage my engineering team, the most useful skill which I want to develop in my team and which has the highest return in the long run is the art of writing code.

Most teams under fast growth face the problem of not just what to do, but…

Abhijit Bhole

Engineering, Product and Research @ MindTickle

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