The Passionate Programmer by Chad Fowler describes various techniques to boost your career as a software developer or programmer. Chad compares your career with a product you want to sell. In this case, the product is you. You have to find the right market for you. Meaning, that you know how supply and demand work in your market. How can you react on changes in your market? This is best done by being a generalist and a specialist together. As soon as your special knowledge is no longer needed, you can use your general skills to survive and find your next niche to survive.
Further on, when you know your market, you need to create a product. As a software developer, you solve problems of your customers. By knowing the business of your customers, you can easier understand their needs. They enjoy working with you. At the lifetime of your product, it is useful to be guided by a mentor who knows the business. It is also helping to be a mentor to others, because teaching increases your knowledge and abilities. Another way of learning new skills and improving your product is by practice. The more you practice in playgrounds, the better your product gets.
Practising in playgrounds is not enough for a successful product. You must show that your product works in real life. Go out and get some real projects done. Concentrate on the current project and your current job, but also keep the goals of your company in mind. Leave your comfort zone to be reliable in stressful situations. This increases the trust of you and others in your abilities.
Now you know how to perform in real life. This is the time to sell your product the right way. Marketing yourself is more brand building than just creating a product. The product must speak for itself by being remarkable. Ensure, your management knows you and understands how you perform.
In the end, you have to think about your far away goals. You need to evolve constantly. Like in agile software development, develop your career in an agile way. Check regularly your current situation and in which direction you are heading. Is this still the right direction?
This is a short summary of The Passionate Programmer. For me many of the techniques sound useful. The Apprenticeship Patterns by Dave Hoover and Adewale Oshineye points in the same direction. Some techniques found in The Passionate Programmer can be found there, too. I started to install some techniques of both books in my daily work as habits. Therefore, I recommend new software developers to read The Passionate Programmer. It will boost your daily productivity.
Check out the following links to read more about the topic.