I am currently working with a leading MNC as a Java/J2EE Developer. I am passionate about blogging, reading books and listening to music. You can read my blogs @ https://iduvejeevana.wordpress.com/ Suresh has posted 9 posts at DZone. View Full User Profile

The Pragmatic Programmer

  • submit to reddit
Published by: Addison-Wesley Professional
ISBN: 020161622X

Reviewer Ratings




Buy it now

One Minute Bottom Line

A must read for all developers who wish to do more than just coding.



The Pragmatic Programmer

After reading some really positive reviews of this book, I finally placed an order of this book online. I got my copy in just 3 days. I was really looking forward to reading this book since it had generated a lot of curiosity in me after reading the table of contents.

I must say that the book is must read for every programmer. The reason why I liked this book the most is the presentation of the content in a tone that is slightly different from a hardcore technical book. Both Andy and Dave have done a great job in compiling some of the best practices of programming. The authors also throw some light on what it takes to be a pragmatic programmer. You will find almost every tip useful in one or another way. I must say that it is a total no-nonsense guide to becoming a programmer who does more than just coding.

My personal favorites in this book include a section that talks about the importance of communication between members that develop software. The authors recommend the following tips to help ensure the communication is really effective.

1. Know your audience

It is very important to know who your audience is while communicating something. As a developer we always have the tendency to get into the technicalities of an issue while communicating it to the clients or even other stake holder who may not necessarily be initiated to consume this information. Hence know your audience and sample the right information that needs to be communicated. E.g. If you are talking to a marketing team about a software they might be more interesting in knowing how the customer is benefitted by using a software than to know what are those coolest design patterns you managed to implement in the software.

To be more precise the author suggests remembering an acrostic WISDOM that best describes aspects to be kept in mind for successful communication:

1. What do you want them to learn?

2. What is their interest in what you’ve got to say?

3. How sophisticated are they?

4. How much detail do they want?

5. Whom do you want to own the information?

6. How can you motivate them to listen to you?

2.  Choose your moment

For a communication to be really effective what matters is not just what you say or even how you say, but also when you say. Let’s say that it’s Friday evening (say about 6:15 pm) and you get a brilliant idea. You decide to walk up to your manager, who has just got a call from his relatives asking him to rush to a hospital to see someone who isn’t keeping well.  What do you think you should do? Do you think it is right time to talk? Certainly this isn’t a great time to talk, no matter what. You may be having the best idea that can change things around, but if it is not presented at the right time, it is really ineffective. So be diligent of the timing of the communication and choose the right moment to present your ideas.

3. Choose your style

It is very important to choose a style for communication. It sets the right expectations from the audience. If someone is asking you for presenting something in just a paragraph and you are convinced that it can be done with no less than a single page, tell it up front. Since you form half of the transaction in any communication, it is very important to have a style for communication to set the right expectations from the audience.

4. Make it look good

If your ideas are really good why present them uninterestedly? Try to present your ideas in a neat and succinct manner by avoid common mistakes like typos and grammatical mistakes. Use the right formatting and word processing tools to better the presentation.

After awl, their are spelling miss steaks that the chequer can knot ketch. [You get it right?]

5. Involve your audience

We often find that the documents we produce end up being less important than the process we go through to produce them. If possible, involve your readers with early drafts of your document. Get their feedback, and pick their brains. You’ll build a good working relationship, and you’ll probably produce a better document in the process. Try this out. It works!!

6. Be a listener

Are you surprised to see this point here? Well it really is one of the most important aspects of any communication. There is one surest way to make people listen to you: Listen to them carefully when they speak! Try this out. Next time you have something really important to say and you approach the stake holders, allow them to speak. Listen to them carefully, even if you know all of what they are saying. Then present your ideas. I am sure you will be surprised to see how they lend their ears to your ideas/points.

7. Get back to people

“I’ll get back to you”. This is probably the most widely abused phrase of all times. When you say this someone, please be sure you really mean it. Don’t just say it because it’s hip hop or a cool phrase. If you get back to people who have contacted you either on your mailbox or voice mail, you are not only responding, but showing due respect to the person at the other end. It actually speaks volumes about you as an individual. Always get back to people, else tell them up front. The last thing people want is to be kept guessing!!!

I hope the above points would help you communicate better in you workplace and significantly impact all your communications.

The other topics that have deeply kept me interested are:

  1. The concept of orthogonality in software development (AOP based programming stems from this concept)
  2. DRY principle [Evils of duplication]
  3. Testability of a code
  4. Re-factoring
  5. The requirements trap

I sincerely recommend this book to all those developers who are keen to learn and pick up some very good practices that can help you better yourself as a programmer. This book is worth every penny and you will not regret it.

Published at DZone with permission of its author, Suresh Murthy.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Eric Bowersox replied on Thu, 2010/06/17 - 3:10am

The development team I'm on now is currently doing a weekly book discussion focused on this book, a chapter per week. Our chief architect and ScrumMaster, like the author of this piece, considers it essential reading for all developers.

Manuel Jordan replied on Thu, 2010/06/17 - 7:46am

This book is mandatory to be read it, I like this book very much

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.