Member-only story
The Code We Don’t Write
Lessons I’ve learned from software development in 500 Words
1. Write As Little Code As Possible
The best code is no code at all. If we can complete our project requirements by pressing a button, we should do it. If this button does not exist, we must write code.
The temptation of all developers is to redesign systems with no concrete payoff. This is because developers are clever and enjoy building things.
The skill of developing software therefore lies in the code we don’t write.
2. Time Is A Limited Resource
In the game of software development, time is the most limited resource. If we had infinite time, we could build all our own custom libraries and frameworks, thoroughly test everything by hand, and ensure near perfect quality with zero dependencies.
We can sometimes exchange work for time. Automated tests save us the time of manually testing, at the cost of writing and maintaining the tests. Refactoring will save us the time of working around troublesome code later, at the cost of refactoring the code.
It would appear that we could add time by adding people. But adding additional developers to the project does not simply multiply the amount of time, as each additional developer adds an overhead cost to future work.