Nothing beats a good book
During the last few years, I've read many books. Of course, since I work on IT branch in a technical position, most of the books I've read deal more or less with technology or technology-oriented things like design, coding and things related to them. I've read books which have been published just to promote new technology, no matter if the book really is good or not, main driving decision has been to support market conquest. I've read books, which have been very theoretical in their nature, promoting so called best practises, how things should be done in perfect world. I've read books which have had lack of focus while they've had potential, which has prevented the book from being a true gem.
So I believe one can understand that to find a gem you need also to read through quite big pile of s*it so that you learn what you look for from reading a book and when the book is good and when it is not. One learns to respect the outspoken way of writing, and you definately don't want to re-read what you already can read on marketing brochures. That's a waste of time. The best is if you can get real-world expertise, in which things are said as they are with zero market-orientance.
No pun intended for any author who might read this, I know a few of you, and I know it is very unthankful job. You don't necessarily get paid well, in it's fact far from it but also you are always expected to write something which makes world a better place for everyone. :-) So those of you who really can do that, I raise my hat to you.
So what I really want to say. There are only a handful of books, I've fallen love with. Three of them are Steve McConnell's Code Complete 2nd Edition, Rapid Development and Software Project Survival Guide. However, my latest love is Krzysztof Cwalina's and Brad Abrams's Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (Addison-Wesley). It's not entirely fresh book, released in 2005 however during this last year its written wisdom and real-world orientation has just hooked me. By reading this book, I've not just realized how to develop better applications and produce quality design, but also evaluate my design and and to learn from other people's experiences.And in this case, this information comes from horse's mouth, Microsoft experts themselves. This book has entirely changed some views I've had, in fact crushed some of them, which has done good for my professional morale and self-esteem. I don't have to make world a perfect place, it's enough that I do my best. :-)
Very VERY recommended reading.