I have been part of building Product & Engineering teams and Digital Transformation setup for almost more than a decade.
My first experience was during the build of MDL (McKinsey Digital Labs) by our leaders: Satty Bhens and Biju Bhaskar - a startup-like setup (for both engineering and business building) inside a large organisation. Both strongly believe in a garage-like setup and gave full support to establish guard-rails in protecting the culture of working as a startup. Together, we built a solid team of 50-70 engineers (today MDL is more than 200 globally) following the hubs-spokes model knitted together with an Engineering Mindset & connected via various communication tools.
We are engineers (can be safely generalised to humans), who at heart enjoy building not extending/enhancing/improving
Disclaimer: doesn’t mean we don’t enjoy extending/enhancing. I strongly believe in the philosophy of – You touch it, you improve it!
This is driven by the fact - programmers think old code is messy as Joel Spolsky writes – It’s harder to read code than to write it
Having said that, programmers use tonne of external libraries & modules to avoid re-inventing the wheel. And yet, if you ask them about the code he/she has inherited, the answer would be a mix of: