I’m Burned Out on Web Programming; Give me Mayhem

I’ve been working feverishly on my developing world capstone project, which is a Ruby on Rails e-commerce+content management website.  I’m starting to realize that I’m slowly becoming burnt out on web programming.  I’m fairly certain that this is just a phase; this is what I’m thinking:

Making websites is great because your products can be used and seen by huge numbers of people with very little upfront time and cost commitments — this is the main reason why I fell in love with the web in the first place.  I remember when I made my first website and got my first user contribution from a stranger; I was so happy I jumped out of my chair and ran around the house for a while.  It’s an awesome feeling having regular people use your product; I’d even go so far as to say that I live for it, partly at least.

The downside to programming websites is that the majority of your tasks are repetitive and, at lest in my opinion, annoying.  The tasks I’m referring to are getting CSS to work in IE6, copying and pasting DB code so that one model can function the same way as another, figuring out how to vertically align something in CSS, getting an XML traversal to work in all browsers, etc.  Rapid development frameworks and JavaScript libraries such as Ruby on Rails and Prototype, respectively, abstract a lot of the knitty-gritty that I just complained about, but they don’t let you totally avoid annoying web development details.  Moreover, most of the websites that I’ve made, with the exception of Timedex, did not have large performance constraints that create interesting engineering challenges.  Perhaps part of that is my own fault for not making popular websites ;).  Regardless, my involvement in website creation has been for the most part not as engineering-esque as I would like it to be.

What interests me the most about the web is scalability.  I would love to be Twitter’s lead softare engineer right now, facing tons of downtime and pissed off customers, figuring out clever ways to deal with insanely computationally-intensive problems.  I get excited just thinking about it.  It seems to me that the only way a 22-year-old kid could be involved with scalability whatsoever is if the company was a very, very small startup.  Otherwise the chances are high that an older, more experienced developer will own scalability issues.

Lately I’ve been recalling all the hours I’ve spent in the CSE labs hacking Linux kernels, extending a poor implementation of the EXT2 filesystem, creating peer-to-peer networking applications, taking a single-threaded web server and making it multi-threaded, creating my own preeumptive thread library in C, lexical analysis to create a timeline of events, creating Netflix movie recommendations, computing PageRank for Wikipedia, etc.  I badly, badly want more of this.  I want meaty, huge, disgusting engineering problems that make people scour and cry at the mere thought of them.  Now I’m not arguing that I’m capable, qualified, or what have you; I’m merely stating my interests — to be engulfed and overwhelmed with vomitous engineering problems dealing with scalability.

Partly what has motived this post is my frustration with web programming.  The recent Mars mission, Phoenix, has also got me thinking some.  I’m hoping that my desires will be fulfilled while at Google this summer.  In fact I’m confident they will be.  A wise man once said, “Be careful what you wish for.”  Hopefully I won’t regret this post in the future :).

  • http://www.agoodreed.com Huckleberry Hart

    Are you going to Mars?

  • http://www.alexloddengaard.com Alex Loddengaard

    There is no way I could handle the isolation ;).

  • Jordan C

    Man I am in the opposite situation. I did hardware track, so I’ve done mostly lower level stuff (mostly the same stuff you probably have) and I want to do web stuff. I want to throw up ideas in a week or two and have people actually get to experience them!

    You just need a break I think. ;)

  • http://www.alexloddengaard.com Alex Loddengaard

    Hey Jordan, totally agreed that it’s an awesome feeling to see people actually using your product, which is a huge benefit to web programming. Maybe I just need a break as well. Europe …