Web Development as a Spiritual Experience

April 13, 2011

I’m setting aside the code-heavy posting for a little while to share some abstract thoughts I’ve had recently. I’ve been enjoying a brief (intentional) lull in my work load, and the resulting cognitive surplus has made me remember how much I enjoy my work as a web developer. There are many good (and obvious) reasons for this:

  • Web development involves building things. The product may be virtual, but there’s a pleasure in the construction (the kind Matthew Crawford talks about in Shop Class as Soulcraft), a fulfillment from creating something that didn’t exist before (that often provides people a clear value).

  • Web development, insofar as it involves programming, involves a molding of things to one’s will. (Coders at Work is a great read on this subject.) Code can be a pain in the ass sometimes, but it doesn’t “disobey”. Just as dealing with obstinate people can be stressful, dealing with machines can be comforting.

  • There’s a tremendous amount of mastery involved in web development. Good web developers are familiar with the whole technology stack, from performance-tuning a tiny SQL query to scaling multiple servers. There’s always something new to learn, and the learning contributes to a positive feedback loop. Web development is not a job for incurious people.

These reasons I’ve known for a while. But recently I’ve been pondering another reason, maybe the most important one:

The web is infinite. On the web anything can talk to anything else. Any knowable information can be discovered and connected to any other information. Physical boundaries are irrelevant. The promise of “open” (source, standards, data) is the most concrete manifestation of progress I can think of, maybe the most real example humanity has ever created. (Maybe this is why the web freaks out established powers.) If we expand our imagination a little more, the web could even have the potential to restructure the whole fabric of society.

So as a web developer, we deal with infinity every day. There’s always something bigger and cooler to build, some new technology to master, some new innovation around the corner. Getting from “Wouldn’t it be cool if…” to shipping a brand new creation is just a matter of putting in the time. (That makes time the only real enemy of the developer - but that post is for another time.)

I think there’s a kind of spiritual experience in working with that kind of infinity. It’s not the metaphorical infinity of religion; it’s an infinity we can directly perceive through our work. I don’t think developers of pre-web desktop software felt the same kind of potential. (That divide between proprietary lock-in and openness is the reason former titans of the tech industry have become irrelevant.) But I suspect the original pioneers of the web understood the power they were unleashing.

Long live the internet.