Looks like a year is over again. So everybody is doing some kind of review. I'll chip in by reviewing some of the books I read during the last year:

Presentation Zen Design: Simple Design Principles and Techniques to Enhance Your Presentations (Voices That Matter) is the follow up on Presentation Zen: Simple Ideas on Presentation Design and Delivery (Voices That Matter) which I loved and which changed the way I do presentations. While Presentation Zen is one extremely important book for me, Presentation Zen Design was a little weak. A lot of stuff I already knew, plus to much on the design side which I can't apply. Not a bad book but not really for me.

How Would You Move Mount Fuji?: Microsoft's Cult of the Puzzle -- How the World's Smartest Companies Select the Most Creative Thinkers is a fun read about the interview questions they supposedly ask at microsoft and other places. As a preparation for such interview it is probably pretty useless, but it is fun to read, especially when you like logic puzzles.

Domain Specific Languages (Addison-Wesley Signature) by Martin Fowler. As often with books by Fowler there is not much an experienced developer doesn't know yet or can't find in other books. BUT he once again assembles a complete set of patterns, describes them and gives names to them. While this doesn't sound like much it helps a lot in evalutating your options when considering a DSL. I also learned a lot about parsing, lexing and so on. Good book. Must Read.

Test Driven Development. By Example (Addison-Wesley Signature) is a great introduction into TDD. If you are not practicing TDD yet, you should read this. But if you already read another book about that topic, you might skip this one.

Drive: The Surprising Truth About What Motivates Us is simply a great book. It showed me a lot of things that motivate me, which is great because now I can at least to some extend use that knowledge to improve my life. I also recommend this book for everyone who is or wants to be the boss of someone. If you really can't read the book, here is my personal essence from it: Bonuses don't work. Read the book if you want to know why.

Lean Software Development: An Agile Toolkit for Software Development Managers is one of the many books I read about lean and agile and stuff. Its good. Its written by the Popendieks which shows. I especially liked the chapter about the effect of contract design on the relationship between supplier and customer.

Don't Make Me Think!: A Common Sense Approach to Web Usability a guide to pragmatic user interface design. It's simple. It's easy to read and it even shows how to do actual usability testing when you are one a tight budget.

Extreme Programming Explained: Embrace Change adds what is missing in many books about agile software development: practices of solid, high quality software development (as opposed to practices revolving around the organization of work). When you want to learn about agile, this is one of the two books you need to read as a developer.

Agile Software Development with Scrum is the other book you must read when you are interested in agile. While it is focused on Scrum, it does a great job in explaining why scrum works the way it is. This is helpful no matter what method you use.

Getting Things Done. The Art of Stress-Free Productivity shows simple little process that will lead you to higher productivity. At least it did that to me. While my productivity isn't nearly where I would like it to be, I at least know the things to tweak in order to get better. Must read when you are constantly feel like you day needs at least three extra hours.

Programming in Scala ... well the readers of my blog noticed, that I'm fooling around with scala a lot lately. This is one reason and the foundation of my fooling. It's a good book, although I have to admit I don't know other Scala books yet, so I can't make a comparison.

Structure and Interpretation of Computer Programs (Mit Electrical Engineering and Computer Science Series) is possibly the most interesting read during the last year and I'm actually not finished yet. This book gets either great or awful revisions at amazon. The reason is simple: It's not an easy read. It is not easily applicable. The chances of direct application of your new skills in the job are extremely slim. BUT no matter how much programming and software development you did, if you read this book you will learn a lot. For example you will learn how much you can do in a language without using assignement. And you will only notice this on page 200 something when assignment is introduced. So I am absolutely on the 5 star side of this book. Must read for everybody who really wants to push his understanding of programming and programming languages.

So that is my (not complete) list of the somewhat IT related books I read during the last 12 months. There where lots of helpful books in the list. I hope it will be the same during the next 12 months. Ok I'll head over to amazon and order another book. Enjoy the new year.