Don’t be a Coder, Engineer, or Developer: be a Software Artisan!

Update: Check out my followup post on whether or not software is handmade.

What is your job description? What do call yourself, or tell people you do?

There’s nothing . . . absolutely nothing . . . half so much worth doing as simply messing around with computers.

My apologies to Kenneth Grahame.

When you were fifteen, you called yourself a hacker. The term, in its original meaning, is probably still more accurate than you know.

If you are … older (ahem), with young children, a wife, a house, a yen for a pool someday, etc., you are less comfortable telling people you are a hacker; all those unfortunate connotations. People look at you funny if they think you will break into their bank account.

So you struggle a bit.

I’ve been a Software Engineer, a Software Architect, a Software Developer, a Software Development Manager, a Principle Engineer, on and on. For a long time, it bugged me, because I really wanted to say that I was a hacker; because that was what I felt I was.

What I did was what I was. I’ve loved designing and coding software since I got my first access to a UNIX machine with a Ratfor compiler; loved it on my TRS-80 Color Computer in BASIC, learning thewonders of arrays; loved in through the Shareware Years of DOS; and continue to love it today in Java plus whatever else falls to hand.

But recently I’ve come to use a better term for what I do: Software Artisan.

An artisan is a craftsman who makes things by hand.

Think about that for a second. It describes the central tenet of what I do, and the primary reason software project management is so intractable.

Every line of code, every transform of idea to code, every leap of intuition is essentially a manual process. There’s no way to automate it all, no way to predict it all. Every day, I do a completely new thing in my job. No matter how many meetings, how much business development, tech support, and swearing I do during the day, I will still at some point try to do something that I have never attempted before, something new and exciting. Odds are even I may attempt something no one has ever tried to quite they way I am trying.

Odds are good I’ll fail many times a day.

And whatever code I write, whatever software I develop, it’ll be hand-made; unique to me. My colleagues could look at a piece of code and tell you which team member wrote it; I bet they’d be right better than 90% of the time.

Because software is, in the end, a by-hand, manual process. It has a lot more to do with turning a bowl on a lathe, or painting a landscape in watercolor than it does building a house.

Note that I did not say designing a house. Different kettle of fish.

Not all computer-related jobs require an Artisan; I’ve been fortunate to do some really neat stuff; satellite comms systems, telemetry systems, digital logic compilers, deductive databases.

Not all software jobs are relentlessly creative. But the good ones are.

So ask yourself — are you a Developer, a Coder, an Engineer, a Programmer? Or are you an all-growed-up Hacker: a Software Artisan?

Updated: Please don’t go to a party and tell people you are a Software Artisan. As someone said, you’ll look like a pretentious idiot. But if you get into a discussion with people about how software development works, I’ve had good success describing it in those terms.

Explore posts in the same categories: Tech

Tags: , ,

You can comment below, or link to this permanent URL from your own site.

28 Comments on “Don’t be a Coder, Engineer, or Developer: be a Software Artisan!”

  1. Moschops Says:

    Which principles did you engineer? 🙂

    • designbygravity Says:

      It was an odd title. Near as I can tell I just designed and coded software. Like every other software geek. 😉

  2. Mankhool Says:

    Artisan? Your’re NOT an artisan. By your own definition an artisan is someone who makes things by hand. A sculptor, a carpenter, a weaver and a blacksmith are all examples of an artisan. You are none of these, so get over yourself and call yourself a Computer Programmer.

    • designbygravity Says:

      If you don’t think code is written by hand … hey, it’s your opinion.

      But I disagree, pretty strongly.

      Maybe if you’re building the world’s millionth contacts manager, or taken the days 27th tech support call on Active Directory, maybe your job is repetitive. Got me. Maybe you just feel that way.

      My career has been rife with interesting, dynamic problems requiring thoughtful, innovative solutions. Like I said — I’ve been *very* lucky. I’ve succeeded sometimes and failed sometimes, like everybody else.

      The software I produce, however, is very much hand-crafted. And I am fairly certain the same is true of most of the interesting software ever produced.

      • Andy Says:

        I hate these narrow distinctions that are popping up these days in the name of software development, pure zealotry designed to serve personal agendas. With this simple definition all engineering activities could equally be describes as ‘hand-crafted’. Engineering (although may have aesthetic elements) applies scientific and mathematics to understand, define and develop products. Crafting such as sculpting, painting etc. do not and for example care not about accuracy or reliability. Your distinction as with this article is misrepresents the activities involved with software development, is therefore misleading and plain wrong.

  3. Daniel Says:

    infinite money says Mankhool has a boring job.

  4. Jack Says:

    Even sculptors, carpenters, and weavers use a tool to create their works of art.

    I think artisan is a good fit, maybe not for all conversations, but amongst nerds it works.

    • designbygravity Says:

      That’s sort of where I was going. Nobody is going to tell their mom they are a “Software Artisan”, but among developers? It seems to capture the job, at least for me.

      I’ve also had resonance with craftsman, which is a vaguer term.


  5. I like Software Auteur, but it sounds even more pretentious 😉

  6. ufelkay Says:

    I like “Genius” even better.

  7. marram Says:

    Why not just print “hacker” on your business card?

  8. TheJFB Says:

    I have chosen an entirely different name, “codewright”,
    for these reasons: http://thejfb.blogspot.com/2009/07/codewright.html


  9. […] the original post:  Don't be a Coder, Engineer, or Developer: be a Software Artisan … By admin | category: developer software | tags: architect, contract, designers, […]

  10. Sam Says:

    There’s an interesting sidebar here about our identification with our professions. We tend to answer the question “What do you do?” by saying “I am a Foo.” (My usual response is, “I write software.”)


  11. […] Christopher Schanck’s Design By Gravity: Are you software artisan? Yes, I am. I burned off two 100% coverage unit tests in half an […]

  12. Rich Says:

    Software is hand-made, couldn’t agree more…


  13. […] Don’t be a Coder, Engineer, or Developer: be a Software Artisan! « Design By Gr… a few seconds ago from web […]


  14. […] Design By Gravity Things work that way because the universe wants them to « Don’t be a Coder, Engineer, or Developer: be a Software Artisan! […]


  15. People tend to confuse terms artisan and artist. And for most of us artist is a person that needs freedom to break rules and actually she is slowed down by rules.

    In reality most of it professionals are some sort of artisans if you only take right viewpoint. But they are probably not artists.

    When people talk and think about artisans, they tend to think the artistic freedoms some artisans use. And this is the decisive point here. Why? Because most of any coders work, should follow strict existing practices. To be sure, besides those practices they will use freedom, but actually they should use freedom far more less than other it professionals. So they are not artists and we shouldn’t use any term that is so closely connected to term artist.

    We know that coders have used these “artistic” freedoms and this has led to lot of problems.

  16. Rick Innis Says:

    Hacker, artisan, craftsman and codewright are all terms I’ve used to describe my personal approach to software development. As you point out not every software job needs an artisan (and possibly the majority don’t); I’d also observe that not every software developer is an artisan – and possibly a majority aren’t.


  17. […] Don’t be a Coder, Engineer, or Developer: be a Software Artisan! « Design By Gr… a few seconds ago from Gwibber […]


  18. Very good info. Lucky me I recently found your site by chance
    (stumbleupon). I’ve book-marked it for later!


  19. […] are certainly the most common ones. However, there are more exotic titles out there, such as software artisan and even software […]


Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.