Category: Software

JavaScript Blitz!

For a long time, my relationship with JavaScript could best be described as “indifferent”. We didn’t dislike each other per se, we just didn’t have any interest in getting to know each other any better. I found JavaScript to be without reason or accountability and she found me to lack focus and commitment.

However, there were signs along the past few years that things were probably going to have to change. But each time it happened, I reluctantly learned just enough to get whatever project I was working on un-stuck.

All this changed when I started at Sharethrough back in June and started working full-time on a (somewhat front-end heavy) Rails app. I could no longer fake the JS funk and expect to be as effective as I needed to be. I was suddenly thrust into the world of jQuery, Backbone.js, Jammit, Underscore, and more recently, 3rd-party JavaScript. So…. I needed to get up to speed, and quickly. I decided that this 6-month span (Jan-June 2012) will be my JS blitzkrieg. I still have a long way to go, but so far so good. Here are the resources I’ve been using:

1. Learning Advanced JavaScript: This is an awesome interactive online tutorial by John Resig that acts a great intro and primer. I’ve probably worked through this 3 times already.

2. JavaScript Patterns: This is the first JS book that actually made sense to me, but if I’m being honest it’s probably the first one that I actually gave the needed attention. Lots of great stuff in here, helps explain why a lot of JS libraries look like they do.

3. Backbone.JS Peepcode Screencast: Specific to the Backbone.js library, but extremely well-done. The teacher really knows his shit and keeps an almost comically high level of enthusiasm throughout the whole thing. Comes with a sample app to give some real-world examples.

Sharethrough – 60 Days In

I recently started a new job at a media/tech start-up called Sharethrough. It’s been great so far – I really like the people and the work. Before that I worked for about a year doing consulting and really missed working on a product as part of a permanent team, so the switch back has been awesome. I don’t regret trying out consulting but I can tell after 2 months out of it that my heart is really in creating a product that me and my team have ownership over.

"Formal Friday"

Some things that I’ve found interesting along the way:

1. The Incredible “Start-up”-iness of Sharethrough

Sure, I’ve worked at small companies before, but this one feels different. We’ve got a ping-pong table, a beer fridge, investors, a board, a young CEO, a rapidly-growing staff, a liberal “dogs at work” policy… all the trappings of your typical modern start-up. It’s cool, and makes for a very pleasant environment. Sometimes it’s weird that my office is cooler than my house, but I’m getting used to it.

2. Pair Programming

Our engineering team works in pairs pretty much all of the time, which is fairly new to me. And when I say “works in pairs”, I mean literally working on the same task on the same computer with the same person for 8 hours or so. It’s intense and it takes some getting used to, but I now prefer it to working alone (or “soloing”).

3. The move from .NET to Rails

For the past bunch of years I’ve been working almost exclusively with the .NET platform. I really liked it (and still do) but I wanted to branch out and try working professionally in a different language. I noticed that all the companies I found interesting were using Rails, as well as a lot of my friends, so I decided that my next position would be at a company using it.

It’s been a real trip – it feels very close to learning a foreign language. I’m working hard to get up to speed but I still have a ways to go. Overall Ruby is a pleasure to work with, and I like that the community is young and vibrant.


As with every other tech company in the Bay Area right now, we’re hiring. Life’s too short not to love what you do, so check out our website, find a job that interests you, and join us.

Best job in the world?

I’ve come to what may seem like a strange realization: I really love being a software engineer. It dawned on me sometime in 2007 when I was working at my first job in San Francisco at a small software company called Lenos. I remember being pretty surprised by the fact of how much I enjoyed going to work. It seemed slightly unnatural – almost like I was getting away with something or cheating my job by actually enjoying it. It was a very different experience than what I was used to.

It’s funny – now that I’ve had a few years to get used to it and think about it, I take it as a given that work can be fun and fulfilling. It still shocks me how many people view their job as something to put up with, get through, tolerate, etc, rather than something that can be creative and wonderful. 

Now that software geeks are getting mad paid and occasionally even respect, there’s a bunch of attention being paid to the job that wasn’t there before. It’s topped a lot of “Best Jobs 2011″ lists, but of course that’s a lot of horseshit: the best job is any one that you actually enjoy. That’s why I was so glad when the 2000 tech bubble burst: it got rid of all the people who were only in software because their parents told them it would be a good career. Their hearts weren’t in it, they wrote shitty code, and I’m glad they’re gone. ; )

I’ve heard of a lot of people who burn out on technical jobs and lose their taste for it – but so far for me it’s still a real pleasure. I feel extremely grateful to be able to be part of such an awesome profession.