If you know someone at your workplace who you consider to be a great developer, ask him what technical book he is reading. He will have one to name almost always.
The simple fact of the matter is that great developers read books
Most highly skilled developers will have a library of books. Not every person who has a stack of books on their desk is a great developer though. One thing to look for is to see if the book binding looks like the books have ever been opened. Some developers just collect books and don’t actually read them. When I am interviewing someone for a development job, I will often ask about mocking and books read recently or favorite books. Chances are if someone knows about mocking and is reading good development books they are a good developer. Seems a little wild to make a large statement like that, but experience has taught me this is true.
Why do great developers read so many books?
There are actually quite a few answers to this question.
A great developer always knows that there is always something more to learn.
It doesn’t matter how smart we are, or how much we think we know. There is always something to learn. Someone can always teach us something we didn’t know and we can always improve. As soon as someone stops learning they stop growing, and if you’re not growing in the software industry, you are shrinking. Someone who is learning is someone who is always getting better. A person like that is also very likely to analyze problems in a way that asks questions and looks for better solutions rather than jumping to conclusions. In a field this big that is growing so rapidly it is impossible to know it all. I often fantasize about being a developer in the 80′s when you could perhaps know it all, but nowadays the amount of technology, libraries, frameworks, best practices, methodologies, tools, etc are growing so rapidly that you can’t even hope to keep up at a steady pace. You just have to keep from drowning.
A great developer always knows that there is someone to learn from.
What’s the difference between getting in an argument, excuse me, discussion, with a great developer and a mediocre developer? Authority. A great developer can speak with authority, because it is not his idea or words that he is saying, but that of someone smarter than him. That of a whole bunch of people smarter than him. If you are arguing with a well read developer you are most likely arguing with Robert Martin, Don Knuth, Steve McConnel, and others. A developer who knows that someone has something to teach them not only values other people and idea, but values teaching. A great developer recognizes that it has all been done before. That someone else has asked the same question, spent many hours researching it and has a better solution than they could make up in 30 minutes. A good developer says “how can I solve this problem.” A great developer says “how did someone else solve this problem.”
A great developer wants to do things the right way.
You’ve heard it called elegant code, software craftsmanship, clean code many other things, but I think deep down its all about doing it the right way. A great developer looks for other people’s views on how something should be done, ever in search of the elusive “right way.” How to design the database; how to write good unit tests; how to separate concerns; how to build good software. Books contain some of these answers, a great developer turns to others for help. A great developer knows from experience that the first way we think to do something is not likely to be the best way, so he is interested in seeing what someone else has to say on the subject.



I truly believe that. Most of the guys working with us are librarians. The freshers look towards them for the solution of the problems they face rather than going to books..
By: Tushar on January 28, 2010
at 3:02 am
[...] I recently completed reading the book “Clean Code” by Robert Martin. I have to say that this one is a keeper. I would highly recommend getting this book and keeping this one for your library. [...]
By: Book Review: Clean Code « Making the Complex Simple on February 16, 2010
at 10:07 am
[...] again in your programming skills. There are many others, and I have talked about some of them before. But, today I want to talk about a very specific way I have found to break through the barriers [...]
By: So You Want to Become a Better Programmer? (TopCoder) « Making the Complex Simple on April 2, 2010
at 12:00 pm
[...] I wasn’t following my own advice. [...]
By: The Importance of Always Reading « Making the Complex Simple on July 2, 2010
at 4:01 pm
I was amazed by your blog sir john. Keep on writing and inspire us.
By: Alex Sales on April 19, 2011
at 7:31 pm
Thanks!
By: jsonmez on April 20, 2011
at 10:35 am