When I first started testing, I looked at some of the testing related titles that were on offer. At the time I was confronted by a number of books that all talked about calculating the number of theoretical paths that were needed to test software and I quickly ran out of the bookstore vowing to never look at a testing related book again.
Some years later, older and wiser … I returned to the bookstore and returned to those books that I thought were completely irrelevant a few years earlier. The art of software testing was one of those books.
Recently revised, this title has been around for ages however if you are looking to learn about the latest TDD techniques, then you will, sadly be disappointed. The ideal audience for this book is the experienced tester who want to take themselves to the next level in regards to understanding their “Art” (Sorry … I couldn’t resist that one.)
If you are familiar with my previous posts you will know that I refer to the self assessment test on a semi-regular basis and would highly recommend this title. The only downside is that it is not cheap. So, if you are only ever going to buy one book, buy code complete, however if your budget can stretch a little further, then it is a title you may want to consider. The self assessment test, however is a must read.
A few years back I was put in charge of a $1M+ project with a team that at it’s peak was 12 developers spread across three sites. A lot of this team were quite junior and had a minimum amount of development experience. The work that we were doing was a ground up rewrite of an existing system that our customer could no longer maintain.
One of our main goals was to breathe some maintainability into the code base, which meant that we needed to have a consistent output across the whole team. A week or so in, what really became evident that the junior team members had very little knowledge about good code structure, code layout or commenting and they used very poor design techniques.
I gave one of the team members, who seemed to really be struggling at producing a quality output, the following piece of advice. “Go and buy a copy of Steve McConnell’s Code Complete, and read it cover to cover. If you are only going to buy one book in your entire career this is the one to buy.”
Code complete has been updated since then and is now in it’s second edition. It covers a lot of the fundamentals, and hygiene factors that are really important, which, most new developers just don’t seem to understand, or think are important.
Two years after I dispensed that initial advice, I received a phone call from the developer, thanking me for that advice and he told me that it was the single most lucrative investment he had ever made, and he was now earning $10k more, all of which he attributed to applying the things he learnt from Code Complete.
It’s funny though how life repeats itself. 6nly last week I found myself dispensing some advice, to a junior developer, and it went along the lines of: “Go and buy a copy of Steve McConnell’s Code Complete, and read it cover to cover. If you are only going to buy one book in your entire career this is the one to buy.” I wonder if he is going to make the same investment.