The Pragmatic Craftsman
:: Simplicity from complexity : by Stanley Kubasek ::

Beyond Code: Learn to Distinguish Yourself in 9 Simple Steps!
by Rajesh Setty
ISBN 1590791029
Date Read 4/2006
My Rating

This book is similar to My Job Went To India. However, it’s shorter and reads smoother. It focuses mostly how to improve yourself; how to distinguish yourself. The author has been there, and he tells interesting stories. He has excellent quotes in each chapter. Excellent book recommendations on the back.
Even though a lot of the information can be found elsewhere, the author presents it in an interesting way.

My Job Went To India
by Chad Fowler
ISBN 0976694018
Date Read 4/2006
My Rating

When I first looked at the book, I judged it by the title. I thought, what a stupid title. I did not even look into it. But then I saw recommendations from some people and overall good reviews. I jumped in, bought it, and read it.
If you are scared that your job might go to India, this is a required book for you. Otherwise, you will find a lot of good tips and valuable information that will help you become a better developer.
This book is a quick read. It cointains short 1-2 page chapters — 52 of them. Or you can call them “short lessons.” As I read, I kept telling myself: I need to do that, or I need to do that more often. Some info is common sense, but it serves as a good reminder.

Extreme Programming Explained (E-book from ACM)
by Kent Beck
ISBN 0201616416
Date Read 3/2006
My Rating

Extreme Programming is a good, agile process. It is a disruptive force in the software community. Some XP practices are really good and worth adopting, and some are not so good, I think.
This is a well written overview of XP. If you just want to see what XP is all about, then this book is for you. It is a general overview of XP. For that purpose, the author does an excellent job. However, it’s just an overview, and if you’re looking for a lot of details, you might be dissapointed.
There is not enough detail. I want to see examples of the stories, I want to see the whole process actually work in a example from start to finish. I was not able to find that in this book. There is not enough detail for me.
If you want an overview of XP, this book is for you. If you want a lot of details so you can actually implement XP, look elsewhere. Overall, a good book on a software development process, and might help you improve your process.

The Non-Designer’s Design Book
by Robin Williams
ISBN 0321193857
Date Read 3/2006
My Rating

It’s a great little book for people like me: I have no clue about design. I am not going to become a designer after reading this book, that’s for sure. But I liked the book. I gained some “design” knowledge. I know — by name — the different aspects of design now: proximity, alignment, repetition, and contrast. I’ve also validated some of my thoughts on design. A good, handy book. It’s an easy and a quick read.

Don’t Make Me Think
by Steve Krug
ISBN 0321344758
Date Read 3/2006
My Rating

This is a required reading for UI designers, web developers, and very useful for web users. That covers almost anybody, right? Written in a style that is accessible to anybody, so why not? Anywhere you fit in that group, you will benefit.
Think about yourself as a web user. When you visit a new site, what happens? Do you spend a lot of time figuring out where everything is, or do you quickly scan it then if you find you’re looking for, you click on it. I certainly follow the latter. And I’ve gotten frustrated a lot of times when a site is making it hard for me to see where I am, what the site is all about. I give up a lot of times. But I know, now, because of the book, that the site is badly designed. On the other hand, I appreciate the sites that just seem right instantly.
This book is very valuable. I learned how users browse (they scan). I learned what users don’t like (they don’t like fancy stuff). I learned what users like (standard, intuitive interfaces). I became a better user because I see this when I browse. I became a better developer, because I know that users don’t think and I try to make it as easy as possible for them. I think about that when I design an interface.
This is an excellent book. It is a quick read (you can even read it in a bookstore in one or two sittings). I bought the second edition, but it doesn’t differer too much from the first. This is the best, most intutive, and the shortest book on UI I’ve read.

Surviving Object-Oriented Projects
by Alistair Cockburn
ISBN 0201498340
Date Read 2/2006
My Rating

It is a decent book, and the author has a good writing style, but I think this book is more geared towards project managers than software developers. I enjoyed it, it was a quick read, but never really “got into it.”

JUnit in Action
by Ted Husted, Vincent Massol
ISBN 1930110995
Date Read 2/2006
My Rating

This is a very good JUnit book, and a good programming book. There were a lot of things I liked, and some things I did not.
What I liked. This is the best JUnit book out there. It contains a lot of good advice. The author explains a lot of the best practices that every developer should be following. That’s good stuff. It is a very well written, easy to read. The examples in the book are very good as well.
What I think is missing. This is a comprehensive JUnit book. And it covers most of the topics that will be of interst to a tester. However, it does not cover HttpUnit (not that I would use it, but still). Plus, its coverage of Mock objects could be improved. This is a very important topic that should have its own chapter and be clearly explained. The book contains pieces of it, but not enough for me.
If you’re looking for a JUnit book, this is the book for you. (I want to get JUnit Recepies, but the book just looks and feels too big.)

Becoming a Technical Leader
by Gerald M. Weinberg
ISBN 0932633021
Date Read 1/2006
My Rating

Even though I’m not the prime target of this book, I really liked it. Weinberg explains the different leadership styles with good detail, and with a pragmatic style. I learned a lot of what a good leader should be. This book made me better, as well. I started writing a 5-minute a day journal. I’m enjoying doing it. It helps me to learn of who I am, and what I want to become.
But who is the prime target of this book? I would say that if you have been managing a group of people, this is a must read for you. I am not a manager, but I would like to become one eventually, and this was a good book for me (not required, though). You would benefit the most from this book if you have had some experience leading. I plan to re-read it down the road.
I came across a list of Five books every Java developer must own by Rob Sanheim. I commented on the list. But the list got me thinking. What are the books that I consider the “must have” books? Today’s Javalobby newsletter just added to the fire. I had to create the list. So here it is.
1) Effective Java, Joshua Bloch
A lot of people just code in Java, without being aware of the implications. This book clears out those implications.
2) Code Complete 2, Steve McConnell
This book will make you a better programmer. Enough said. My favorite.
3) Refactoring, Martin Fowler
It is getting a little old, but it contains invaluable information on good design, code smells, and more.
4) Design Patterns, GoF
The best book on patterns, though not an easy one. Might want to get the Head First Design Patterns to help you.
5) Core J2EE Patterns, Deepak Alur, Dan Malks, John Crupi
You have to know GoF patterns if you call yourself a good programmer. You have to know Core J2EE patterns if you want to be a good Java programmer.
6) Agile Software Development: Principles, Patterns, and Practices, Robert Martin
Not an easy book, but a best book on Agile, good Object Oriented programming, and patterns.
7) Applying UML and Patterns, Craig Larman
Java is an Object Oriented language, but a lot of people still treat classes as data structures. Learn what an object, and OO programming is all about.
Pragmatic Programmer, Andrew Hunt, David Thomas
Contains sound practices, good advice. It will make you a better programmer.
9) Facts and Fallacies of Software Engineering, Bob Glass
See what works in software engineering, and what doesn’t. Bob Glass explains it best.
10) Don’t Make Me Think, Steve Krug
A great little book, great when you’re involved in UI.
Wait List
I have not read these, and that’s why I have not put them in my original list, but the books below should be on your must-read list.
Peopleware, Tom Demarco, Timothy Lister
Domain Driven Design, Eric Evans
The Timeless Way of Building, Christopher Alexander
Patterns of Enterprise Application Architecture, Martin Fowler
Reference
Five books every Java developer must own, Panasonic Youth blog
Javalobby discussion, my list on the bottomJavalobby Newsletter: archives (great newsletter, btw)

Hibernate Quickly
by Patrick Peak, Nick Heudecker
ISBN 1932394419
Date Read 10/2005
My Rating

A quick book to read. A book written quickly. Good intro and overall a good book, but I expected something better.
The book left a “I need more info” feeling. I know this is supposed to be a “quick” book and not totally comprehensive, but still, any book has to do that. There is just not enough details to understand Hibernate totally. There is enough to get you started, but not enough to get a comprehensive understanding.
Throughout the book, I was thinking “I”m not sure if I believe that” or “that’s not correct.” For instance, in the chapter on testing, the author explains the different test strategies. First of all, none of the strategies explained were really unit tests, and the author does not mention that. Second of all, the author does not explain how you can test using mock objects. That’s just an example, but there were more points like that in the book.
You can read the book quickly (which is good), gain some knowledge, and move on to a more detailed reference book. A decent book.