If you prefer reading paper to reading a computer screen, you might like The Best Software Writing I: Selected and Introduced by Joel Spolsky. It contains a number of articles by various authors on various aspects of software development. Much of the content is available online – in fact, I’d already read a handful of the articles – but printed books are still a lot easier on the eyes and the brain than reading out of a Web browser.
Here are some of the main points that I want to remember:
- Coding style should be enforced by the compiler.
- Software should be flexible, simple, sloppy, tolerant, and forgiving.
- Strong testing can replace strong typing.
- Great programmers want interesting projects more than anything else.
- You can’t directly measure the performance of programmers or testers.
- Emphasizing rewards for individual merit is dangerous for team morale.
- Writing good social software is really hard.
- Small software companies should “trust the customer.”
- Hiring good people is hard (but still easier than firing).
- Ruby looks even stranger than Perl.
I can’t promise that it’s the “best” software writing, but it’s pretty good, so I recommend this book to anyone in the software industry looking for some interesting ideas.