5 Reasons for the Joy of Craft, or, Why Is Computer Programming Fun?

Every Wednesday is Tip Day, or List Day.
This Wednesday: Five reasons for the joys of craft, or, Why is programming fun?

I recently read (sort of) Frederick Brooks’s The Mythical Man-Month. As I understand it, this book is a cult classic, and I was very curious to read it. It’s about software project management, and even though that’s a subject about which I know nothing, I found the book very interesting — that is, the parts I could understand.

My favorite section was a discussion of “The Joys of Craft,” in which Brooks answers the question, “Why is programming fun?” This question interests me because it’s such a good reminder of my Secret of Adulthood: Just because something is fun for someone else doesn’t mean it’s fun for me — and vice versa.

Nothing is inherently fun. Some people find computer programming fun, or skiing, shopping, drinking wine, doing crossword puzzles, playing tennis, knitting, fly-fishing, watching American Idol. I find none of these things fun. But then, some people wouldn’t enjoy blogging — or reading books about computer programming! Which I do find fun.

But apart from the particular fun (or not) of computer programming, Brooks had a great list of the reasons that “craft” is fun:

1. “The sheer joy of making things.” Not to be underestimated.

2. “The pleasure of making things that are useful to other people.” Seeing other people take delight in what we’ve created, or benefit from something we’ve done, is enormously satisfying.

3. “The fascination of fashioning complex puzzle-like objects…and watching them work.” Getting something to WORK. An under-appreciated joy. Gosh, when I finally got some songs to load into my iPod, I thought I would break into song.

4. “The joy of always learning, which springs from the nonrepeating nature of the task.”

5. “The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff.” True — but the opposite of a profound truth is also true, and I think there’s a mirror pleasure to be gained from dealing with actual, physical, tangible materials.

Reading this discussion reminded me of Stuart Brown’s styles of “play personality,” which, as several commenters pointed out, seemed to omit the computer-programmer’s kind of play, though perhaps it is encompassed in Brown’s #7.

The more I’ve reflected on the nature of happiness, the more convinced I’ve become that an atmosphere of growth is a key to a happier life. Making something, fixing something, helping someone…these kinds of activities give me enormous energy and zeal. William Butler Yeats wrote: “Happiness is neither virtue nor pleasure nor this thing nor that, but simply growth. We are happy when we are growing.”

How about you? Do you get happiness from the “joy of craft”? What kinds of activities bring you that joy? More and more, I’m making sure that I have plenty of the atmosphere of growth, and the joy of craft, in my life.

* Speaking of the joy of creating something, and also of the things that I find fun, I’m intrigued by the site Uncovered Cover Art — “a sketchbook of reimagined children’s books.” Different artists create their own covers for children’s books. Fascinating!

* Want to get my free monthly newsletter? It highlights the best of the month’s material from the blog and the Facebook Page. Email me at gretchenrubin1 at gretchenrubin dot com. Just write “newsletter” in the subject line.

  • I definitely agree that growth is the key to happiness. I went to a meditation retreat this past weekend (first one). I learned some techniques that expanded my practice and felt like I was on top of the world.

  • Allen Knutson

    It’s related to, but not quite the same as, some of your insights as to why programming is fun: the instant gratification. You can bang away for a while, not check your work, but just run it and see how it’s going, and occasionally it just works the first time.

    Also, it can have the RPG-like aspect of only having progress, not regress. (Or at least much more progress than regress.)

  • Yes, yes, a thousand times yes! There is nothing I love more than crafting a beautiful paragraph or snapping a stirring photograph.

    As for growth, I am an information junkie. I love to learn new things and to explore new places. When I am doing the same things over and over again with no creative outlet or novelty, I get bored, frustrated and a little depressed, quite frankly.

  • Angela

    Hi Gretchen,
    I just started reading the Happiness Project and am finding it very inspiring.  I was wondering if you had a sample of your resolution charts anywhere on this site. One of my challenges is that I get so many ideas that putting them into practice daily and making them habits is difficult because I just as soon forget them. What tool did you use on a daily basis to remind yourself of your resolutions, new and old? Thanks for your help and inspiration,

    • gretchenrubin

      I’m so happy to hear that the book resonates with you. Email me at
      gretchenrubin1 at gretchenrubin dot com, and I’ll send you a copy of the


  • I’m constantly amazed at how long I’m prepared to dink around with Excel graphs, or the appearance and spacing of lists.  It’s busy work but it gives me some sense of pleasure to ‘craft’ in this way.  There are many things along this line – chairing a race committee and learning how to organise a road race; crafting a backpack from a craft book instruction all by hand; figuring out to put adverts on my blog (the ads that appear crack me up, I don’t make any money from them).  When I was working for a living (I’m now retired) my most important goal was to have a sense of ‘forward moment’; I think that’s an atmosphere of growth as you describe it.  From my limited experience of computer programming (my Dad was one of the first for the State of Oklahoma and I taught the other secretaries in my unit how to work the first dedicated IBM word processor – talk about feeling old!), I can see why it’s fun… a puzzle to be solved.

  • Peter

    programming liberates me. I am structurally creative: give me some rules and constraints and I just go to town for hours. It is something that pervades my dreams and life. I need that next “high” from getting it to work

  • How true this post is! I adore cooking, knitting, reading, fixing things, making things from scratch, re-purposing items, repainting or refinishing furniture and learning more about gardening. I am also a research junkie. I’ve never tried programming so I don’t know if I’d enjoy it. But I like learning new things so I might! I do know that most things I enjoy my own mother can’t stand. We’re different breeds of cat! It always amazes each of us but we respect that each of us are, indeed different, and we celebrate those differences. 

  • Meg

    Hi Gretchen,

    I really enjoy your blog and your book was quite inspirational. Like you, I often become interested in (seemingly) obscure topics. So I’v decided to embrace my desire to learn about these topics. my question is: how do you find resources on subjects that are completely unfamiliar to you? You seem to find great books, websites etc. Any advice would be appreciated!


    • gretchenrubin

      I start at the library with books on the subject, and that always seems to
      lead me forward — to places online, to other books, etc. The thrill of the
      hunt is definitely part of the fun for me.


      • Rachel

        You would make a good reference librarian, Gretchen! 🙂

  • Ally

    I recently read a great article in a women’s magazine about how working with your hands contributes to happiness.  It was a very very simple premise but has made a real difference in my perspective.  Just going outside and weeding for a few minutes somehow feels relaxing (even though it sounds unfun) and a nice break from emails/texts/blogs/Facebook.

    • I read something similar. It was an article theorizing that a possible cause of modern day depression is the lack of  physical activity (using our hands and body) because everything is so automated. There is something very therapeutic about being physical, whether it’s creating something with our hands or getting outside and exercising. Sitting in front of a computer all the time feels very artificial and unsatisfying after awhile.

      • Peninith1

        Well maybe programming is like being a car mechanic instead of just driving the car. I think that using a computer can become very deadening and boring . . . but tinkering with a program might have all the elements of hands on work to make you happy.

  • This is such a great post. Most of the people think that computer programming is not so much of a fun. I will share this will all of my friend who think that way… a

  • Peninith1

    All these five statements describe something I love about quilting . . . putting the puzzle together and making it all fit as perfectly as possible . . . I love the hand work aspect, love the interplay of colors . . . even the simplest patterns can yield infinite and clever variations. I think we ARE happiest with tools in our hands, making something.

    • gretchenrubin

      It’s interesting — I think there’s great pleasure in making things with my
      actual hands, but as Brooks points out, there’s also something satisfying
      about using a medium that’s intangible.


  • Rachel Lesher

    Gretchen, thanks again for your thoughts and for exposing me to a new author and new ideas!  You have been a large source of the inspiration for my blog (as you can see: it is referenced in 90% of the posts!).  These benefits of craft were fascinating to me – it is amazing how enjoyment of something is “to each his/her own!”.  I would never find programming interesting, but his principles easily could apply to my interests of writing, researching, and trying new recipes.  

    You can read more about my inspiration from THP here : http://rewardsofsimplelife.blogspot.com/

    • gretchenrubin

      Yes, computer programming is something that some people find tremendously
      fun — and otehrs stand around, mystified.

      I’m so happy to hear that my work resonates with you.


  • Suzanne

    Thank you! :o)  As a computer programmer myself, I really enjoyed this post.   My favorite part of writing code is when it finally works.  I’ve been known to dance in my cubicle when it’s something that I’ve been struggling with for a long time.

  • Lettergirl

    My once-a-month catch up on your blog never disappoints! I love looking at the big picture — that programmers & poets & quilters have common ground. Makes me want to get Shop Class as Soul Craft from the library again (and finish it this time).

  • ” and I think there’s a mirror pleasure to be gained from dealing with actual, physical, tangible materials.”

    [programmer joke] Yeah, but that’s a hardware problem [/programmer joke]

    I had to say it – software types and hardware types are always sniping at each other.

    I’m a long time crafter and an almost as long time programmer, and there is a lot of similarity between the two.  One thing that I really like from both crafting and programming is that I can have something that is based on my preferences – I don’t have to hope that I find something that is the color I like (or for cooking, the flavors I like), or find a program that does what I want – if it’s not there, I just make it.

    And if you’re interested in something I “just made” check out thirty dots dice (.com)

  • Vernon Harmon

    Hi Gretchen! Great post! I thought you should know, though, that there’s a bug in your 11th paragraph: you quote Yeats as saying “nor thing thing” instead of “nor this thing.”

    Also, being a programmer compels me to point out that Brooks lists these reasons using ordinal words rather than a numbered list, such as yours. I can’t say for sure, but I suspect his reason may have been that any numbered list for programmers would begin with 0, not 1. 🙂

    I suspect this programmer humor will be lost on you, unfortunately, but I look forward to checking out some of your older posts and your book.


    • gretchenrubin

      Fixed! though is a typo a bug?


      • James Birchall

        Yes.  *grin*

  • Butlers

    Hi Gretchen,
    I bought your book because I was intrigued to read about another educated woman and how she juggled her many responsibilities.
    I am a mother of three children, ages 11-18, and work in a high-pressure job.
    Between work commitments,  school and sport commitments for my children, the mundane home and household maintenance responsibilities, let alone attention to my marriage, I feel the modern middle class woman does not have your upper-class privileges to sit and contemplate what it means to be happy.
    Although I have appreciated your list, and know it is a documentary of your personal journey, I do not think it speaks to the majority of women who do not have the luxury to stay at home and write.
    On another note, I was deeply moved by Ayaan Hirsi Ali’s  books (Infidel, Nomad) cry from women in the west to assist their less fortunate sisters.
    Why are we complaining about clutter when our sisters are having their vaginas sown shut?

    • gretchenrubin

      Sue, thanks for your thoughtful comments. I am who I am, and I write about
      my happiness project — what I tried, what I learned — so it very much
      reflects my circumstances, my nature, and my quirks. That said, my
      resolutions are almost without exception things that don’t take any time,
      energy, or money: sing in the morning, kiss more, imitate a spiritual
      master, get enough sleep, and the like (though it does take energy to decide
      what to do, and to DO IT, I know!)

      A common myth about happiness is that happy people are complacent and not
      interested in other people. In fact, research (and experience, I think) show
      that happy people don’t want to drink daiquiris on the beach, they want to
      help other people. They volunteer more, give away more money, and are more
      interested in the problems of the world. So by working to be happier
      ourselves, we equip ourselves to do things, for instance, like figure out
      ways to help people in dire circumstances.

      From what I’ve seen, when people feel overwhelmed with the demands of
      everyday life, that they’re barely hanging on by their fingernails, it’s
      hard for them to feel happy and it’s also hard for them to work for larger
      change in the world. My interest is: what are the small, manageable,
      concrete things, within an ordinary routine, that can boost happiness? — a
      sense of unhurriedness, calm, order, tenderness, light-heartedness,
      patience, helpfulness, and love?


  • crimsonbull

    @Ms. Reuben: “The Mythical Man-Month” was required reading for me.  And one that inspired me. Thanks for the reminder I’ll read it again. Although I don’t program much now, it is a very sublime feeling when a program does finally work !!

  • Kelli

    I’ve been reading your blog for a while (and read your book a while ago) and I was delighted to run across this post as I work with Dr. Brooks. 🙂 He’s a pretty amazing man.

  • The Joys of the Craft really is a great list, and well written too! I’ve been programming for over 20 years, and still love what I do. I think Brooks captures the essence of why very well. I wrote it about it in Why I Love Coding http://henrikwarne.com/2012/06/02/why-i-love-coding/