Josh Skillings writes "The author, Chad Fowler, draws upon his experiences as a software engineer, a team leader over a group of Indian developers, and as a jazz musician, to describe 52 ways or tips that will help you to become a more valuable employee. These tips are described in two or three pages each, and are usually illustrated by a practical example or story. The tips are well thought-out, well-explained and make sense. Chad draws upon the open source movement as well, highlighting ways that contributing to and learning from open source can improve your career. These tips gave me greater respect and appreciation for the open source movement in general." Read on for the rest of Josh's review.Chad encourages the you to think of your career as life cycle of a product, and as such divides the 52 tips into the four areas of "Choosing Your Market", "Invest in your Product", "Execute", and "Market", and then two extra groups called, "Maintaining Your Edge", and "If you Can't Beat 'Em". This grouping works surprisingly well and provides an overarching context that makes sense. Many of the tips have specific calls to action at the end, which are useful if you don't already have ideas on how to apply the tip.
For example, under "Choosing Your Market", tip #7 "Don't Put Your Eggs In Someone Else's Basket", Chad encourages you to refrain from learning vendor-specific technologies that can disappear with the vendor, and then calls you to action by suggesting you write a small project in a technology that competes with the technology you are used to using. This will help you understand why the technology exists to start with and what opens your horizons for what might be coming next.
Under the section "Investing in your Product", tip #14 called "Practice, Practice, Practice", Chad offers suggestions on how software engineers can get even better by specific kinds of focused practice. The action items at the end of the section suggests practicing "Code Katas" katas similar to martial artists, but instead in code and in different languages.
With 52 tips, this book has a lot of tips, a tip for every week of the year, but you should expect to spend much longer than a week on most of them. A few of the tips you are probably doing already, but many of them you aren't. Some of the tips are fairly straight forward and easy to put in to practice. You could spend your entire life attempting and never achieve some of the other tips, such as tip #39, "Release Your Code." The ultimate goal of this tip is to be able to say in a job interview, "Oh, are you running Nifty++? I can help you with that- I wrote it." Chances are this scenario won't ever happen to you, but by working towards this goal in the ways the book outlines, you will definitely become a better, more valuable software engineer. Many of the tips will make you a better person in general, regardless of your career, such as tip #28, "Learn How To Fail", where Chad emphasizes how to fail gracefully and the rewards that can be learned from failure. This wide range of time, difficult, and application of the tips gives you something to work on today, next week, and next year.
The title of the book is silly. Yes, it was catchy enough for me to notice in the bookstore, with the red cover and the homeless (software engineer?) holding a sign, "Will Code For Food". So from that point of view, the cover worked. However, unless you've read the book, you might think it's as campy as the cover and wonder if it is somehow anti-Indian. I think a better title would be along the lines of "How to Get Any Job You Want", since if you can master all of these tips, you'll be the best there ever was.
While I didn't expect any specific technical advice, I would have liked some. I understand that an author needs to be sensitive to how fast technology changes, however just one tip with a warning: "This information is my opinion on April 11, 2007 and will probably change tomorrow". And then describes about how Subversion is a great tool, Python is a great language to learn, and learning design patterns can make your life easier, would have been appreciated. A tip like this would help you to understand the author a bit better and further encourage you to learn more.
If you want to improve yourself and you can accept advice, this book is for you. You will find things you can do better and skills you've never considered. Like some of the other Pragmatic Programmer books, I will never be able to master everything in this book, so I'll be reading this book again and again, trying to get better every time. Don't let the cover put you off, this is a great book.
You can purchase My Job Went To India (and All I Got was This Lousy Book) from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.