Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
63 lines (34 sloc) 6.58 KB
layout title date comments categories
Book Stores Are No Good for Programming Books
2014-09-01 16:48:24 -0400
books ruby

##Memories of a Career Just Missed

{% img %}

Seven years ago, when one contract was ending and I wasn't sure what the next one might bring, I made the decision to end my time as a Perl programmer and move on to some newer language that was more in demand.

As fate would have it, I got a job as a Perl programmer again, and it's what I continue to do to this day. I'm living proof that the "Perl is dead" mantra may not exactly be true. There will always be legacy projects to take on, I suppose.

But, for a few months in late 2006 and early 2007, I was on the road to being a Ruby on Rails developer. I spent a lot of time learning from tutorials on-line, but mostly by investing in a lot of books. See, back in 2006, the state of on-line education wasn't nearly what it is today. There were video tutorials around, I'm sure, but they were sparse. Heck, Google had just bought YouTube in October 2006. The video world was much smaller, but about to explode in a big way.

{% img %}

The short version is this: I bought a lot of books. There were Borders and Barnes and Noble stores a plenty back then. I must have bought 8 or 10 different Ruby and Rails books in that time frame, devouring each as I went. My biggest problem is that I found time to read alot, but never enough time to do something with it. Or I'd get so far in learning something, hit a wall, and stall out. In the end, it all died out for me.

##Paging Through History

I came a few of the books recently. All have publication dates of 2006 on them: "Ruby Cookbook" from O'Reilly, "Rails Recipes" by Chad Fowler, and "Agile Web Development with Rails" by Dave Thomas and DHH (along with others). The bookmark I was using on the latter was the sales receipt from when I bought it.

{% img %}

Agile Web Development, it should be noted, was written for Rails 1.2. "Rails Recipe" included tips for the new Rails 1.1. And the "Cookbook" is meant for Ruby 1.8 or 1.9.

The point isn't that I'm some sort of hipster who liked Ruby and Rails before you did. Far from it. You've likely done more with both things than I ever did, and I'll be forever jealous of you. I often wish I had taken that road more seriously and dedicated myself more to it. With 7 years of experience under my belt as a Rails programmer today, I'd probably be in a better position, career-wise.

I have two other directions to go with this.

##First, Things Have Certainly Changed

Ruby has undergone some transformations since these books were published, but it's nothing compared to Rails, whose development effort of the last seven years could likely fill a book as a study in open source management and the fights back and forth therein. Those Rails books I have from 2006 are nearly useless today. Too much stuff has changed. Earlier this year, I tried to get back into Rails. I missed a lot. Things got a lot more complicated. EVERYTHING did, from web engine choices to CSS shortcuts to JavaScript plug-ins to the mysterious and "wonderful" thing known as the Asset Pipeline. Nothing's safe. Even testing has split off in a myriad directions. It seems Cucumber is just laughed at today, compared to the plaudits it received back then.

Rails has become a scary thing to learn. Undertaking that process requires a full time dedication. I don't envy anyone trying to do it in their spare time.

Multiply learning the most recent Rails with the realization that so many of the extant Rails apps are years old and running one of a few different versions of Rails, each with its own quirks and features.

##Second, Books! Paper books! What strange things!

I haven't bought myself a paper computer technical book in a long time now. Buying them on-line with a discount code and getting them immediately is a lot more gratifying. Plus, you get free updates and bug fixes. And, quite often, the books I buy are usually in development. Whether it's Manning's MEAPs or O'Reilly's Early Release books or PragProg's Beta books, I find most of the things I buy today are for newer technologies that are stil evolving quickly. (See the entire Elixir library, which is being written alongside the language, itself.)

I bought a couple of eBooks back in that 2006/2007 era, as well. I didn't have an iPad to read them on, though. I printed out chapters to read during my lunch hours. I had a folder full of most of the chapters of the Pick-Axe book by the time I was done. Off to recycling that eventually went.

##The Bookstore as Vast Wasteland

{% img %}

I was in a Barnes and Noble last night. (I much prefer Borders, but they went out of business a couple years back...) Their technical section seemed like a foreign land of tech literature. So much of it concerned itself with Microsoft products or Java or network licensing or any of a dozen other languages. The sections dedicated to Ruby and Perl were scant. PHP had a huge section. JavaScript got some love. Lots of publishers I didn't recognize had books out. There are, it turns out, more publishers in this world than O'Reilly, PragProg, and Manning. (APress is still going, right?)

I didn't have an interest in any of the books. I owned a few of them that I saw there, all as eBooks. And if I bought those paper things, they'd be out of date already and there would be no updates coming. They do have the advantage that they won't chew up any battery power on my iPad when I read them, but the iPad has a big enough battery that that's never been a problem.

Also, you're paying full price for the books. Sign up the mailing lists at all the on-line publishers and wait a month. Odds are, you'll get an email one day about any book you're interested in with a discount code for it. I bought two books this weekend for half-off with the Labor Day sales.

I can't look at that "Computing" section of the bookstore with a straight face anymore. It is hardly a delivery method for computing information that's worthwhile. I like books. I have a ton of books. They're mostly not right for this kind of thing. Even at work, where I half a dozen different Perl/Linux/JavaScript books lined up at my desk, I mostly search on the PDFs on my hard drive.

It's a bit of a shame. I like the tradition. I've just come to realize that it's not so much for me anymore nor, I suspect, most modern programmers.

You can’t perform that action at this time.