This is a short review of a book that I read last year.
Summary for people in a hurry:-
- Just out of College? - I’d definitely recommend reading the book end to end.
- Reasonable Experience? - Skim through everything and drill down on areas of your choice. You’ll pick up a few neat things you weren’t aware of.
- Veteran? - Reading it end to end won’t be good use of your time. I’d recommend selective choosing and going through the reference section (less than 1 page for every topic covered) for recommendations (books, blogs etc). They are pretty interesting and will help you delve deeper.
At first when I saw the photo of Shakthi Kannan with the book on his website I thought that he was holding some sort of banner and was looking for projects to work on.
It’s an excellent read for people who know how to code but are yet to digest the fine details of the trade. College students with no work experience are a perfect example. Shakthi covers a wide plethora of information (really wide) that programmers are expected to know. People who’ve learned Computer Science at home from books / online tutorials should definitely read it. I strongly feel it fills certain gaps that help smoothen your journey as a programmer.
I love the quotes that he mentions in the book. I’ve started following many of the authors of those quotes. The details that he stresses on are useful. For instance I remember him mentioning to be careful while posting to mailing lists as the mails are often stored permanently on those servers (I could instantly relate when I saw a few substandard emails and later learned that they were hosted on some email listing site). I’ve also understood the importance of a few things that he mentions months later when I encountered them at my job. I particularly like the resource section of the book, it helps me quickly glance things I want to read more about. He has also explained things quite well using real life examples. Many of the books / resources mentioned in the book are spot on (I’ve read many of the books he mentioned before reading his book and I can personally vouch for them). He doesn’t leave out health and sanity. I was under the impression that RSI was a distant possibility (I was proved wrong again. People who I know very well have suffered in the past). I’ve realised that I am going to face more problems than I care to admit and on the bright side there are always going to be helpful sources that I haven’t even considered. Many of the tips that he mentions will not be applicable to you at this very moment or help you solve your current problem but you’ll find them useful sooner or later.
If you’ve had even a little experience with online communities, have attended a few local meetups or have worked for sometime in a real work environment you might be aware of many things that he discusses in the book. You would still benefit if you glanced through a few sections of your interest. I am confident that you will stumble upon a few tips / tools that you wouldn’t have been aware of.
If you’re a veteran and are involved in open source development from quite some time, this book isn’t for you. You’d be better off researching specific areas that you think you need to improve / streamline.