A review by stag1e
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas

5.0

A timeless classic. Recommended for all developers and has a lot of food for thought. Has a handy page of all tips at the end of the book which is very useful. Also, has the answers to exercises at the end so you can check if you were right. I would say that it is a light book, full of excellent tips. Most important tips, IMHO:
* Apply the DRY principle everywhere
* Build orthogonal systems i.e. do not repeat the same nuggets of knowledge all over your programs
* Law of Demeter - modules and functions must only know about other parts of the program as less as possible
* Be proud of your work
* Ruthlessly test - make it easy, repeatable
* It's just a view - again, only update the model and generate "views" from it - it may be documentation or something else
* Meta-data vs. hard-coding it into the program itself - nowadays there is "language oriented programming" which is an extension of this idea. Take both into consideration when designing your programs
* Finding out the real requirements - sometimes the requirements given by the users aren't actually requirements and you have to "generalize" them

And plenty of other goodies inside of the book. Read it - you will not regret it.