I´ve just finished reading “My Job Went to India”, by Chad Fowler. The book contains 52 tips on how to be a better professional on the field of software development. I highly recommend the book for every developer who cares about his job. It´s a perfect complement for the already classical “The Pragmatic Programmer”.
The author goes over a variety of topics on how to proactively manage a career on software development. He uses several metaphors and examples taken from his experience on offshoring in India.
The book is split into six parts, namely: 1 – Choosing your market, 2 – Investing in your product, 3 – Executing, 4 – Marketing, 5 – Maitaining your edge, 6 – If you can´t beat´em. I´ll talk a little about three of some of the great insights from the book.
1) Supply and Demand – “Exploit market imbalances”: The author applies the well-known Supply-and-demand phenomenon to our careers. The idea is that the higher the demand for programmers that know a specific technology (say Java) the lesser will be the average price paid to these programmers. On the other hand, the demand for other non-mainstream technologies, though small, usually generates higher paid jobs since there are few skilled people able to supply that demand. Exploring these technologies may increase the chances of one getting a more well-paid job.
2) Be both a Generalist and a Specialist: This issue has generated a lot of debates and we can find several articles and blogs discussing it. The book advises us to be both generalists and specialists. “Generalists are rare, and therefore, precious”, besides that, our skills should not be attached to any specific technology platform. Nevertheless, we should strive to be specialists in the tools we use on a daily basis. The author comments that specializing in something does not mean not knowing about other things!
3) Mentorship: We all know people that are more experienced than us in our field. The advice is to find a person among those people to be our mentor. A mentor is someone who we can trust and that will provide advice on real issues that appear on our careers. The other facet of mentorship is to be a mentor. The author points out that for us to find out if we really know something, we should try to teach it to someone else. The concept of learning through teaching is a key to better understand if one really knows about whatever he claims to know. By the way, maintaining a blog on some subject is a great way to do this!
There are many other awesome pieces of advice in the book concerning time-management, self-marketing and remarkability.
After every tip, the author usually gives some practical “homework” for the reader to act on what was just read. A great way to move from passive to active reading. The title of the book is quite misleading, since it´s not a book with a focus on offshoring (although the author uses his offshoring experience to illustrate some points). The publisher recognized that and came up with a new edition for the book, which is now called “The Passionate Programmer: Creating a remarkable career in Software Development.”
A great career in Software Development (and indeed in any field) does not happen by chance. We need to be consciously putting effort to develop and improve our skills in order to be excellent in our craft.
“Do you see a man skilled in his work?
He will serve before kings;
he will not serve before obscure men.” (Proverbs 22:29)