Who is this Bob Holt character?

I’ve been doing something or other with the web since 1997. In 1996, I’m lucky enough to have two computer science-major roommates who are willing to teach me HTML and force me to do it using only a UNIX console. The next fall, I work for the Georgia Tech Research Corporation rebuilding the Office of Contract Administration’s website.

I slowly add CSS to my repertoire, but always avoid JavaScript, because as we all know, it was a pain to deal with for a very long time.

Scroll ahead a few years, and I go from doing websites on the side of my ‘real job’ to being a full-time web developer. I’m working in a .NET shop and get the task of researching this “jQuery” thing to see if it’s any good. It is. I go to the jQuery Conference at the NERD Center in Boston, and I see Rebecca Murphey, Paul Irish, and a bunch of other folks talk about JavaScript. A lot of that stuff goes over my head. I continue to code in exactly the way Rebecca’s talk told me not to, but at least I’ve been exposed to a better way.

Cut to not so very long ago.

I’m a .NET developer who only really wants to do .NET, but I’m willing to give other things a shot. I get tapped to jump into a project mid-stream as a Java developer. I’ve never coded a line of Java in my life, but I’m assured I’ll pick it up. When I get on the project, though, the more pressing need is for a JavaScript developer. I have—big air quotes here—”JAVASCRIPT EXPERIENCE,” so I’m given the task of tracking down the bugs in an interactive charting solution that’s based on data retrieved from a still-in-development web service. I have to fix it that day. No excuses. And I don’t even have my environment set up yet.

Somehow I hack something together.

It probably looks a lot like that jQuery spaghetti code, but luckily it’s inside a sensibly architected framework. So I start learning from my surroundings. And I’m lucky enough to sit next to Rob Larsen on the same project. I’m able to download knowledge from him for six months while meeting insane deadline after insane deadline. Architecture, design patterns, performance considerations, and sensible refactoring in JavaScript are all things I pick up. He rants about something the code is or isn’t doing, I figure out what he’s talking about, and go fix wherever I might have made the same mistake. Rinse and repeat.

At some point I asked Rob for recommendations on books that would help me understand the architecture of what we’re working on, and he recommends Douglas Crockford’s JavaScript: The Good Parts, and particularly Stoyan Stefanov’s Object-Oriented JavaScript and JavaScript Patterns. Those Stefanov books are still some of the best JavaScript books I’ve ever read.

So am I a JavaScript expert? No. But I’d say I’m in that upper-intermediate level where you only need another swift kick to reach enlightenment. I’m architecting small, medium, and large-scale JavaScript applications in modular, event-driven ways. And it’s really fun.

I’m no expert, but I think I have something to offer: hence this blog. If anything, I hope to help those still learning the basics of JavaScript to pick things up a bit quicker than they might otherwise.

And I promise this is about as much about me as you’ll ever have to read. Coming up: doing stuff with JavaScript, and/or helping others to do the same.