How I Got Into the Web Development Industry

I’ve been getting a lot of questions from students recently about how I landed my sweet gig at Lab Zero, or, more generally, how I got into the industry in the first place. It’s really nothing out of the ordinary, but I thought I’d write it up here so I can cut down on repetition. (DRY is an important practice!)

The main reason people ask me about my own path is because they’re often so torn nowadays between going the bootcamp route, or just soaking up as much free knowledge as possible and then dipping their toes into a small-time position. I can’t say whether one’s better than the other. Bootcamps have the benefit of teaching you a massive amount in a short time, while also taking a lot of your money and giving you unrealistic expectations about how many hours per week you should be working. The DIY route allows you to learn at your own pace and climb the career ladder, but it takes much longer until you’re making a six-figure salary, or whatever.

I chose the latter, mostly because the bootcamp option didn’t exist when I was starting off as a full-time professional in 2008 – but also because I had been making websites since I was 9 years old, in 1994. This, of course, gave me almost a decade and a half of experience before I entered the professional world in earnest. And I cannot stress how important years of experience are. No matter how much a bootcamp attempts to cram into your skull, there is no way in three-ish months that you will be able to come up with an exhaustive set of creative solutions to the myriad problems you will encounter in the real world.

It’s a bit disingenuous for me to say my career started in 2008. Even though I wasn’t getting paid for it, starting off and making my own websites was a very important step. As a kid, I found it very freeing to be able to create anything I wanted to express and put it on the web. Some comics on my site date back to 1996. This very blog started out in 2001 as a place to experiment with designs and new technology.

Here’s the results of what was probably my first paid gig, probably from around 2001. I got this job because my step-brother lives at this home and they heard that I was at “whiz kid,” so they asked me what I could do.

When I was in college, I took two summer internships at Sun Microsystems in 2005 and Autodesk in 2006, found through my dad and I think through craigslist, respectively. They were paid internships, and generally focused on me picking up the slack with the group I was in – doing some testing of features, writing simple forms (my first brush with PHP), and generally learning how to function in an office setting.

Speaking of college – I chose to be a Linguistics major, after an attempt at Computer Science didn’t work out (mostly thanks to my ridiculous fear of math). Some might argue that Linguistics has a lot to do with programming, and to that I say: that’s a pretty big stretch. Syntax trees and morphology are pretty interesting to the analytical mind, but they’re not programming. I even started off on a grad program at UW Seattle in Computational Linguistics in an attempt to rope computers into my study.

The summer before I started grad school, I found a craigslist posting from a business owner looking for help with his site. I ended up working with a designer to overhaul some HTML and add a few extra pages to the site. I ended up continuing to work on the project from time to time throughout the school year.

By 2008, family matters made me decide to move back to the Bay Area. Back to living at my dad’s house, I decided I’d get a job while I was deliberating about whether to continue my grad program. I searched craigslist again, and found a posting for a web developer position at Diabetes Health, a small magazine in Marin. This became my first full-time job. I even bought a car for my commute (which turned out to be a poor decision as I used it for less than a year). I was basically thrown onto an existing PHP stack and had to basically learn the language on my own, fixing up the previous developer’s work and starting to add features of my own. Despite being the “smartest person in the room” (that is, the only developer in the company), I learned a significant amount about full-stack web development out of necessity.

While living in Marin, I started to cultivate a group of friends mostly based in San Francisco. It became apparent after a year that 1) I didn’t want to continue my grad program, and 2) I shouldn’t stay at my dad’s house forever, so it was about time to find a job in the city.

I scoured craigslist for a position – yet again – and found a nice challenging one at Linden Lab, working on their marketing sites and a few behind-the-scenes tools. At this point I was pretty much ready to say my career had begun.

Although I was fired for weird reasons after a year, a former coworker referred me to Lab Zero, which I joined in May 2010, and I remain to this day, doing all sorts of things for all sorts of companies.

I have to say, referrals are really the way to go. But of course, you have to get your foot in the door first, and make some good connections (read: be nice to your co-workers). If you don’t yet have the connections, craigslist was pretty much the place for me, and I’d assume it continues to be a good source to this day.

It’s also worth noting that I’m happy where I work, and barring anything terrible, am not looking to “climb” the job ladder into a bigger or cushier position. Pay’s good, responsibilities are good, and I personally don’t want to end up in a situation where I’m delegating all the actual work to other people. But that sort of thinking isn’t for everyone. People at LZ have come and gone, looking to become managers or executives or what have you. And if hopping from place to place is for you, tech is currently the right kind of industry for that.

So that’s it! I hope this has been helpful and given you an idea of how one developer got to where he is today. I benefitted from growing up in a household that encouraged computer use, turning web development into a very long-running hobby for me. But if you’re on the job hunt, this predisposition is certainly not expected of you. Unless you’ve decided on the bootcamp route, start small and you’ll get somewhere sooner than you know it.

New website: Jeffrey and Anna

At work and at play, I’m always makin’ websites! Shortly after getting engaged at the beginning of the year, I started brainstorming on how best to tell family, friends, and the world at large about us. Naturally, it would be a website, but I realized I’d have to pick up a pen and pencil for the first time in years if I really wanted to make it special.

Screenshot of Jeffrey and Anna

After a few months of tinkering, I present to you Jeffrey and Anna, a super-fun, animated adventure through our life. Everything has been coded (save for some plugins) and drawn by me, and written by both of us.


What follows is a bit of a technical walk through the site.

Jeffrey and Anna is, naturally, pure HTML, CSS, and JavaScript. It adapts to different resolutions and form factors with media queries, using the same technology to gracefully degrade for less capable browsers. The site is very different from on a desktop computer, but hopefully just as usable, when you view it on a phone or tablet.

I drew everything on paper, scanned it, and colored it in Photoshop. I designed the site to use different complementary color schemes for every section, and further personalized it with Google Web Fonts and Font Awesome.

Superscrollorama is the engine behind the animations which happen as you scroll through the page. I slightly modified the library to detect whether you’re scrolling up or down, and to cause certain animations to start from wherever you currently are on the page.

I used certain parts of Twitter Bootstrap. Scrollspy causes our clothes to change as we jump through the sections, and Carousel provides CSS-animated navigation between subsections.

The site runs on Rails, my current web application framework of choice. Being database-driven, it doubles as our guest list management tool, as we can easily create invitations for guests by using RailsAdmin – and guests can enter their automatically-generated RSVP codes to instantly notify us of their attendance.

The stylesheet is written in Sass + Compass. Compass’ astounding ability to automatically generate sprites would have been an amazing help, given the massive amount of images on the site, but unfortunately, the sheer size of the sheets it generated caused the site’s performance to slow to a crawl. It turns out that it’s not a good idea to have dozens of images at tens of thousands of square pixels moving around on the screen at once. Instead, images are individually crushed and preloaded.

A little easter egg: some of you will see a little range slider in the lower-right corner of the page. Use it and see what happens!

I feel that this site represents the epitome of my current skills. It’s a bit hard to poke through the files on the site as it’s minified for best performance, but fortunately, it’s all open-source! Please poke through the code on GitHub, and feel free to comment (or create an issue) with any suggestions.


For those who are wondering, we haven’t sent out invitations yet! There’s still the task of combing over the list with the parentals, and then collecting the physical addresses of almost a hundred families. It’ll be a few weeks. But do be on the lookout soon for the location and date of our wedding!