When browsing Amazon recently for a book someone recommended to me, I happened upon "The Pragmatic Programmer", by Hunt and Thomas (ISBN 020161622X, £17.39). It had good reviews, so I ordered it.
Now I've read it, my conclusion is simple: if you make a living, or even a part of your living, from software development, go and buy it (if you haven't already, that is).
The underlying tone of the book, and the message that it keeps hammering home, revolves around the word "pragmatic" - i.e. practical. It tells you things like:
- If you make a mistake, swallow your pride, admit it, and figure out how to fix it.
- Write code so it can be re-used later.
- Get to know the tools you use to build code and keep using them instead of learning a new tool for every project.
- Instead of specifying things to death, write something and then modify it later.
- Write documentation in plain language - don't expect users to understand UML, etc.
- Automate repetitive tasks, as it'll save time in the long run.
In fact there are 70 key points made and explained throughout the text, and the vast majority are very useful ones that are worth taking note of. Helpfully, there's a pull-out card in the back with a list of the points and a quick sentence for each reminding you of what it means.
One thing I found reassuring about this book is that a decent number of the things it said I should be doing were things I do already - so I'm doing at least something right! The average good programmer will probably find the same applies to them. I'm sure, though, that any developer, no matter how good, can benefit from giving "The Pragmatic Programmer" a read.