Let’s face it: The barriers to becoming a programmer are extremely low. Whether this is a good or bad thing is debatable, but an almost infinite number of internet resources means that anyone with the time and desire can learn pretty much any programming language. This, my friends, is a problem.
You see, a lot of the programming tutorials and examples on the web just plain suck. Sure, you’ll become a programmer, but chances are you won’t learn how to become a good programmer. The difference between an average programmer and a good programmer (and a good and great one) is significant, usually brining dramatic productivity increases (and bigger salaries to boot).
This was a stuggle of mine for quite a while. I really wanted to do the right thing when coding, but I didn’t know the practices of good programmers, or what good code looked like. This finally changed last summer when I read The Pragmatic Programmer: From Journeyman to Master. David Thomas and Andrew Hunt really know their stuff, and give you almost all of the high level knowledge you need to be a successful programmer.
Even better though, they’ve baked the same pragmatic philosophy into the entire Pragmatic Bookshelf. You can learn how to really program Ruby, kick ass with Rails, get agile, or actually ship a product. Whatever it is, you’ll learn it, and you’ll learn it the right way.
So, if you’ve been programming for a long time, or just getting started, the Pragmatic Programmers have something on the bookshelf that’ll help you out. Take a little while and look around!