If you are a programmer, designer, tester, or in any way tangentially related to the software industry in your job, you must read The Passionate Programmer by Chad Fowler. Don’t fooled by its bad bodice ripper title. It is the first real career management book I’ve seen for programmers, and it is absolutely essential.
The problem with programming is that it’s a really young vocation. The first large-scale generation or programmers is only just retiring. You can find volumes upon volumes of heuristic wisdom for other professions like lawyers, teachers, and even blue collar trades like carpentry. We need our own philosophies to deal with the unique challenges of our industry, like the constant threat of obsolescence and the off-shoring of our jobs. The Passionate Programmer teaches you how to deal with all these issues and more. The chapters are short, but each of them ends in a concrete action plan. You’ll learn when to be a generalist, when to specialize, how to network, why it’s a good idea to automate IN to a job and how to search for your next indispensable skill.
I’m glad for books like The Passionate Programmer, and not necessarily for the strategies inside. Uncertainty and change are a way of life in the software industry. Every decision you make affects your future. Sometimes though, it’s just enough to know other people have faced that kind of uncertainty before. You need confidence as well intelligence to properly make your mark in the world.