Skip to main content

Most influential books every programmer should read

I came across the question "What is the single most influential book every programmer should read?" in Quora and i answered it with the name of not 1 but 6 books.

When i look back at the posts in this blog, i realized that the books mentioned in my Quora response and the authors have figured prominently in many posts.It is like a thread that runs through most of the posts in this blog. Now that is some influence. :-)

This is my quora response.

--Start of response--

Inluential is a very relative term and what influences a person also changes over a period of time. Listed below are six books that i consider quite influential in my career as a software developer and now a software program manager. I have also given brief reasons for the 'why'. And of course, i have these books in my library and refer to them time and again.

The Practice of Programming by Kernighan and Pike - because programmers need to write code that is effective and productive

Code Complete by Steve McConnel -- Code Complete: A Practical Handbook of Software Construction - because you need a guide to programming and this is the best.

The Mythical Man-month by Frederick Brooks - because this has timeless lessons from managing a very complex software project, that a programmer or some one who manages programmers shouldn't miss.


The Psychology of Computer Programming by Gerald Weinberg -- because this book is as relevant today as it was in 1971 and it started the talk on people oriented approach to programming.

Peopleware: Productive Projects and Teams by Tom DeMarco -because this book teaches you that Projects are about people(always) and this book has many timeless lessons.


How To Solve It: A New Aspect of Mathematical Method by George Polya- because you need to understand how to solve problems and this book teaches a systematic way to do that.

--End of response--

Below are the posts that were influenced by the above authors and their books

Reading Steve McConnel's books resulted in the posts Understanding Estimates, Plans, Targets and Commitments , Common mistakes in software estimation , Plan to do new mistakes and More mistakes to do .

Gerald Weinberg's book The Secrets of Consulting resulted in the post 'Orange Juice Test - Will you pass it?'

Reading Tom De Marco's books resulted in the posts Seven False Hopes of Software Management and Administrivia...

George Polya's book 'How to Solve it' resulted in the post On Problem Solving.

Comments

Popular posts from this blog

Kano Model of Customer Satisfaction - Notes to Self

Note: What follows is the notes taken from my study of Kano's model of Customer Satisfaction. I came across this model when i wanted to know if there was a structured approach that would help me prioritize features for software product development. 

To evaluate a product or service, following parameters are very important

The value provided - this helps attract customersThe Quality offered - This earns customer respectProduct or Service innovation - This helps differentiate from competition
But these are not perceived directly, but indirectly through the product and it's features. Kano's model help to group product features into 3 categories ( 6 categories, but only 3 are important) and there by makes it feasible to deliver value at a promised quality while offering innovation. 

The 3 important feature categories are 
Basic featuresLinear featuresExciters or DelightersBasic features are that must be present in the product to be successful. They are also referred to as must have…

Knowns, Unknowns and Project Management...

This article is a draft of a paper i started to write in september 2007 and left it where you see it today.  The purpose is to to come out with a conceptual framework through which “the knowledge needed to successfully execute a project” can be viewed and gauged and presents a brief outline of the same. As always comments are most welcome...
Financial Resources, Domain, Technology, Communication, Cultural Differences, Organizational Structure, Organizational Culture and Power Play within an organization are some of the factors that have an ultimate bearing on the success of a project.
All projects come in shades of grey is a fact that has to be acknowledged. For example, when we start a project, very rarely do we know everything about Project Requirement, Scope and other factors that impact the project. There will be lot of ambiguity and this ambiguity has to be accepted and put to proper use.
But the problem is that people usually look at these factors in black and white. This may be ac…

Aggressive Schedules - Few thoughts...

During my early years in the software industry, i used to look at people who worked in projects with aggressive schedules, in awe. The people working in such projects talked about, long hours, working week ends and heroic endeavors in their projects. The people who worked in such projects were given more awards and rewards, compared to others. i thought that this was the way to be.

After working in projects with aggressive schedules, I realized that what I saw was only the silver lining and there was a big dark cloud behind this ( talk about what experience can do for you). The common thread that linked all the projects was that all of them exhibited one or more of the following.
Project ended up delayed by more than 100% Project got cancelled Project got de-scopedProject has a high cost of maintenance.  Having been burnt up by working in projects with “Aggressive Schedules’, (henceforth denoted as AS), I understand that projects with aggressive schedules cause more damage than what we …