December 22, 2006

Recommended Reading for a Software professional

Here's something to read along the Career path

As a fresher out of college, as and when you step into the world of software development, I suggest you pick up a programming language book related to VB / C# / java based on your nature of work and technology, language used. 

After a couple of years of coding its time to reflect on your performance and make necessary corrections Code Complete (2nd Edition) by Steve Mc Connell is an excellent book which will help you in this task

2 more years down the lane you just don’t do coding only, you also involve in Requirements analysis, Design etc. Its time to understand Architecture styles, patterns, unit operations, qualities, etc. there are n no. of books in the market. I suggest you can pick up books by Yourdon, Booch, Martin Flower, Luke Hoffmann, Karl Weigers, Paul Clements etc. check out architecture section of  www.sei.cmu.edu

(I will probably write a separate article on R & D I mean Reqmnts & Design)

By this time you would have followed one or more processes during the development life cycle, its time to uderstand the importance of the various process steps, terminologies etc, SDLC, Waterfall, Spiral, Agile, Lean  etc. for anything on the traditional process, I suggest you check out www.sei.cmu.edu Process Management section. For Agile check out http://www.agilealliance.org/  and for anything on Lean  which laso happens to be my favourite check out books by Poppendieck, Lean software development & implementing Lean

Around this time you would have slowly transitioned to a supervisory role and have probably started making decisions on behalf of the team. You would have taken a few right decisions & made a lot of mistakes too. You have reached a transition point where you need to get things done from others. At this point you should read Rapid Development by Steve Mc Connell, It will help you not only reflect on your mistakes, but also learn from others mistakes and how to handle various real life scenarios. You should also read books from Gerald Weinberg most of them are classics

Couple of years down the line you are ready for Project Management resposibility, Its time to make plans, estimates, Monitor progress and Control execution. I recommend two books at this stage, Project Management - A managerial Approach by Jack Meredith and
Project Management: A Systems Approach to Planning, Scheduling, and Controlling by Harold Kerzner. These two books cover almost everything you need to know, to be a successful PM.

Iam sure I have missed out a lot of good books in this list, people will have different opinions, tastes and habits.
 
There are a lot of other books of general interest that I have read, and found very useful. I have restriced this list to Software development processes only, Hope it is useful