Think Like A Gardener

Posted 3 years, 11 months ago | Originally written on 15 Oct 2020
Great code is grown not built.

It is dangerously incorrect to think of code in the same way we think of physical products; that once built they are complete. Software is never complete. The correct metaphor for a programmer is a gardener, who endlessly tends to his garden to bring out the best in it. After tilling and applying compost and fertilizer, the gardener needs to prune and water, reseed and rake to make sure that her plants have the best chance. Similarly, the task of writing software is never done. There will always be scope to refine the mental model given the ever expanding breadth of knowledge.

For this reason paying for the rights for software without access to the developers who were involved is like buying a car without wheels: it's only half the product. The team that was involved is just as part of the production environment as instructions in the code.