What that means is that I usually collect books faster than I can read them. And the one that I pull off the heap will depend on my current focus, so some books stay on the unread list for years. I just pulled out my collection of unread books to see what's there. Some of them I've had for quite some time.
Here's a picture:
And the list (in no particular order):
- Hacker's Delight - Henry S. Warren, Jr.
- Refactoring to Patterns - Joshua Kerievsky
- Peopleware: Productive Projects and Teams - Tom DeMarco & Timothy Lister
- 100 Things Every Designer Needs to Know About People - Susan M. Weinshchenk, Ph.D.
- Seven Languages in Seven Weeks - Bruce A. Tate
- Hello World! Computer Programming for Kids and Other Beginners - Warren and Carter Sande
- The Little Schemer - Daniel P. Friedman and Matthias Felleisen
- The Art of Lean Software Development - Curt Hibbs, Steve Jewett & Mike Sullivan
- The Art of Unit Testing - Roy Osherove
- C# In Depth - Jon Skeet
- Head First HTML5 Programming - Eric Freeman & Elisabeth Robson
- Refactoring: Improving the Design of Existing Code - Martin Fowler
Some of these have to do with areas I've been thinking about. For example, I have Hello World! not because I want to learn Python but because I'm interested in how people present programming topics to folks who have never programmed before. I've been interested in getting into this space (teaching new programmers) and have been looking through various resources on this.
And some of them are updates -- for example, I've read the first edition of The Art of Unit Testing, and I've flipped through the second edition and some of the updates look interesting to me.
I'd really like to just shove all of these books into my brain. But it takes time to really study and learn stuff. Different people learn different ways, and books work well for me.
Now, I need to decide where I'm going next. If you have ideas or suggestions, feel free to leave them in the comments.