Friday 4 June 2010

The Importance of Reading Books

Book The title of this post may seem rather obvious, but believe me – it’s not obvious for many many many programmers all over the world. These people ignore books as a source of information and by this they basically slow down their professional development to turtle speed. I hope you’re not one of them! :)

WHY do we need to read? From the primitive point of view, there are two ways to increase skills: theorize and practice. As with all opposite things it’s crucial to find a balance and is a complete mistake to shift entirely to one side only. People who theorize only will always fly in the sky with no practical implications of their knowledge. People who practice only will never have enough knowledge baseground for really full and hard practice. While programming provides you practice, reading is the only way to improve your theoretical background.

So, WHAT to read? One very important point to remember about reading is be balanced. Yes I know that’s just I said before, but in this time the edge cases are different. Programming books are only one edge but I recommend you to have a look at these ones:

  1. Fiction (science, fantasy, pulp) – fiction is a really good source of inspiration and relaxation
  2. Psychology – this one may be strange but listen to me. We all communicate on daily basis, communicate not only with computers, but also with real people. And if we think natural to improve our skills of working with computers – why not improve our skills working with other people? As for me, I read psychology books just because they are damn interesting!
  3. Art – from all points of view I prefer to think of programming as of an art. We create, we construct, we imagine, we innovate.
  4. Business – this category includes all books about time management, career management, success stories, marketing. You may think why you have to read books that cannot be directly applied to your profession but you’re mistaken about their implication. Most business books can be directly applied to programmer’s work. Success stories are about how to achieve what you want. Time management is the basis of project and team management.
  5. Project management – this one is very obvious – we all meet PMs every day and some of us are PMs :) Let’s try to understand these people and finally know what they want from us!
  6. Presentation – I differ these from Art category because they’re more about explaining, not expressing. Your idea is worthless if you can’t present it.

You may concentrate on two or three of these categories but I inspire you to pay attention to all of them and find your own areas of interest.

WHEN AND WHERE to read? I usually hear from many people - “When should I read these books? I have no time!”. When – any time you’re wasting your time waiting for someone or something, any time you are doing nothing useful – like moving in the underground. You can easily find time for books if you really want this.

HOW to read? Of course you should read all books the way you prefer most, but you should remember some basic principles:

  1. If book has some points to think about like a patterns book – “schedule” some time to think about it. It’s not actually a time planning – just don’t read chapters one by one. Read several points and stop reading for some time. Think about these points when driving or anywhere else. Return to reading only if you are sure you have processed information you’ve already received.
  2. Don’t read trash books. Yes, there are horrible books and there are a plenty of them. Try to find book reviews before reading it or subscribe to some passionate reader who’s not lazy enough to write book reviews in his own blog (just like me :))
  3. Read only things that are interesting. If you’re reading something that is not interesting to you – you’re wasting your time because nothing of it will stay in your head after you close this book. However, if you know this book is damn important – change your attitude to it and make it interesting :)

And now, stop reading this and go find some interesting book!


Alex Suslin said...

ctrl+h "read" - "think"
ctrl+h "book" - "mind"

also will be very usefull $)

Ivan Suhinin said...

Yes it is :)