Web Development With Node and Express

In October of last year, I submitted a proposal to O’Reilly Media for three different books, hoping they would pick up on one.  I have no previous publications.  I have no agent.  This is what is referred to as an “over the transom” proposal (and any expression with a nautical origin warms my heart).  It was a long shot.  Everywhere I turned, I read about how hard it was, and how few proposals get further attention.  I thought it was such an incredibly unlikely prospect that I wasn’t even nervous.  Not one little bit.

Why O’Reilly?  Because they’re the best.  In my opinion, they are hands-down the best technical publisher in the world.  My first O’Reilly book was Randal Schwartz’s Learning Perl; it was certainly not my last.  Many O’Reilly titles later, I have come to think of them as the first, best option.  If I need to learn something, I look for an O’Reilly title first: I only grudgingly consider other publishers if O’Reilly doesn’t actually have a title on what I’m looking for (which is rare).  For me, it was O’Reilly or nothing.

When I got the letter from O’Reilly, I steeled myself for the form letter rejection.  I was ready for “thank you blah blah blah unfortunately blah blah blah”.  I was completely unprepared for the sequence of events that followed.  Talking to a senior editor over the phone.  Discussions of royalties.  A stack of O’Reilly books arriving at my doorstep:


And here I am, a short three months later with more than half of a finished book.  Quite honestly, despite all the hours I’ve spent writing, and the encouraging check-ins with my editor, the shock still hasn’t worn off.

The working title for the book is Web Development with Node and Express.  Readers of my blog know that Node is looming large on my horizon, and if you needed any more evidence that I’m investing in the future of Node and JavaScript, this should lay to rest any doubts.

Betting on technology futures is as tricky as betting on any other trend.  Who could have predicted the resurrection of Apple, or the fall of Blackberry?  Certainly Brendan Eich, when he wrote the first version of JavaScript in 1995, had no idea that it would become the dominant language of the Internet.

Despite the inherent risks in betting on technology futures, I’m betting on Node.  I’m not just dipping my toes in the water, either, I’m betting the farm.  I think server-side JavaScript (as enabled by Node) is going to be bigger than Java, PHP, and .NET.  I’d be shocked if it’s not already bigger than Ruby, which was once the darling of the Internet (which, I might add, is a technology I was never tempted to bet on, even though I have tremendous respect for it).

The happiest part of this for me is that I love JavaScript.  So often in life, one has to compromise.  You vote for the lesser of evils.  You learn to like what’s good about a technology because it’s the clear winner, and you don’t want to swim upstream with a better, less popular technology.  I’m not claiming that JavaScript is a perfect language, but really diving into JavaScript is the most fun I’ve had programming since I did an embedded project on an 8-bit processor in C.  It’s got legs.  It’s going to win.  And it’s fun.

Once the book contract was signed back in November and the reality started to set in, I started to wonder if I could really crank out a book in six months.  Now I’ve relaxed about that: the writing’s going well, my editor seems happy, and I have a good grasp on how much writing I can realistically expect to get done in a given week.

Some things I have learned along the way:

  • Writing a book is hard work, but fun hard work.
  • O’Reilly has been great…their publishing tools, their editors, everything about the process is top-notch.
  • Writing a book about something is a great way to learn it.  Really, really well.

As for the inevitable question…what animal are you going to get?…the answer is that the author doesn’t have much say in the matter.  The art department picks an animal based on some kind of mysterious criteria (my editor quipped that they hold a seance), and unless the author has some kind of deep moral or religious objection to the animal (?), they get what they get.

Still, I can dream.  Obviously, who wouldn’t want a Tarsier?  Unfortunately, that bizarre animal was taken long ago.  I can’t complain, though: it couldn’t have gone to a better title (in case you didn’t know, I’m a huge vi fan).  Here are people’s suggestions, and my take on the likelihood of that choice:

One Comment on Web Development With Node and Express

  1. This is exciting — keep us posted!