Friday, March 29, 2013

Reading List 2013 (So Far)

I am a book person.  I realize that most people aren't.  Everyone has a preferred way of getting new information into his/her head: it could be books, it could be videos, it could be live demonstrations, it could be classroom learning, or it could be one-on-one mentoring.

I've read a ton of technical books over the years (well, I don't know if it is literally a ton, but several hundred pounds for sure).  For this year, I gave myself a goal of reading one technical book a month.  Some of the early books have been a bit on the short side, so I've managed to read a few more up to this point.  Here's what I've read so far this year and what I've got "in the stack" for the next several months:

Completed 2013 Reading (with Reviews)

Async in C# 5.0  by Alex Davies
Jeremy's Review (Jan 2013) / Amazon Link

Working Effectively with Legacy Code by Michael C. Feathers
Jeremy's Review (Feb 2013) / Amazon Link

Test-Driven Development by Example by Kent Beck
Jeremy's Review (Mar 2013) / Amazon Link

Javascript: The Good Parts by Douglas Crockford
Jeremy's Review (Mar 2013) / Amazon Link

The Agile Samurai: How Agile Masters Deliver Great Software by Jonathan Rasmusson
Jeremy's Review (Mar 2013) / Amazon Link

In Progress

Building Windows 8 Apps with C# and XAML by Jeremy Likness
Amazon Link

In the Stack

C# Smorgasbord by Filip Ekberg
Amazon Link

Don't Make Me Think: A Common Sense Approach to Web Usability by Steve Krug
Amazon Link

Refactoring: Improving the Design of Existing Code by Martin Fowler
Amazon Link

Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules by Jeff Johnson
Amazon Link

Peopleware: Productive Projects and Teams by Tom DeMarco & Timothy Lister
Amazon Link

Refactoring to Patterns by Joshua Kerievsky
Amazon Link

Current Themes
As you can probably tell, I've got a couple of themes with this list.  First is Best Practices.  I have had a lot of successful projects in the past as well as a number of not-so-successful projects.  I've been analyzing the differences based on my own experiences.  What I've found is that many of the conclusions that I've reached through experience are itemized in several of these classic books, such as Clean Code which I read last year.  (And as I've noted before, there are some books that I really should have read quite some time ago.)

Another theme is usability and user interaction design.  This is an area that has always interested me.  I don't have the natural eye that many designers (and a few developers) have.  I make usable (but not brilliantly usable) applications, and I'm looking to improve that skill.

The Heap
I'm a just-in-time learner on many topics, so I'll bump things out of the stack if there's something that I need to pick up more quickly (or if my whims change).  In addition to the current Stack of books, I've also got a larger Heap.  These are the books that I've been collecting, but haven't gotten to yet.

The Heap has some more user interface design books (such as About Face: The Essentials of User Interface Design).  And also a number of books about other languages (such as Haskell, Lisp, and a few others that use Scheme or Eiffel).  I'll probably start out with Seven Languages in Seven Weeks to get a taste before diving deeper.

Wrap Up
Constant learning is essential in the development world.  There's too much out there to be able to master everything, but we can get a taste for a lot of different techniques and technologies.  And we can take a deep dive to reach expert level in one or two.

Whatever your mode of learning, keep doing it.  If you've got any book suggestions, let me know.  The Heap is constantly growing, and I'm always looking for more.

Happy Coding!

No comments:

Post a Comment