Writing Code Is More Like Being a DJ

0 comments suggest edit

While we’re on the topic of appropriate analogies for software development, my homie Micah writes a post about how certain analogies fall short, and he compares writing software to being an artist.

He has some great insights into the idea that there is no such thing as “maintenance” in software, it is merely just another software development phase. But I have to respectfully disagree on his idea that perhaps we would do better to call ourselves software artists.

I disagree because of the image I get when I imagine the general archetype of the “true” artist. I often think of an artist as one who takes some tools and a medium, and creates the art that was there all along, but dying to get out. Now let’s try applying that to software. Do you really think there’s an ERP system in your keyboard dying to get out, if you’d only let it? Perhaps.

Also, the true artist does not create art for his or her audience. The artist creates art for the sake of art, the audience be damned! Now try telling that to your next client.

Ummm… we were kind of hoping for a content management system. You wrote an RSS aggregator.
Indeed I did! Isn’t it beautiful! It is my masterpiece. Client:
Well we’re not paying. You:
I wouldn’t expect such a simpleton as yourself to be able to truly appreciate such fine code.

I don’t know about you, but I’m not interested in living out the romantic image of the starving coder.

Rather, I think of writing code as being more like a DJ. You have your set of tools and existing code snippets (records) and until you’re a big name, you take requests. However, even if you’re a big name, you still read the audience as you play, refining the music choice, tweaking knobs and sliders here and there until you have the audience (your client) in a joyful frenzy on the dance floor.

Honestly though, I don’t think my DJ analogy is all that useful. Ultimately software development will mature to the point that it will not need an analogy, it will be understood for what it is. How many building engineers do you imagine lose sleep at night thinking about a proper analogy to their craft?

Wait, I got it! Building a skyscraper is like writing software!

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



2 responses

  1. Avatar for Micah Dylan
    Micah Dylan December 31st, 2005

    An amusing twist on what I wrote, Phil! But the problem I see isn't about what analogy we use for ourselves, it's the analogy that non-developers use to understand what we do that is important.

  2. Avatar for Jeff Atwood
    Jeff Atwood December 31st, 2005

    > Also, the true artist does not create art for his or her audience. The artist creates art for the sake of art, the audience be damned!

    I'm not sure this is entirely true; artists have to make money too. And art that won't sell doesn't make money. Only the extraordinarily lucky and/or talented artists have the luxury of doing whatever they want and waiting for the money to come to them.