Amy in a white Nike “just do it” t-shirt in front of a boxy CRT and PC with keyboard, speakers, and floppy disks. A small desk lamp lights a corner of a wooden desk.
Cringey adolscent boy-mode me posing for my proud mother. Credit: Amy J. Ko.

Pride and shame in hobbyist programming

Amy J. Ko
Bits and Behavior
Published in
4 min readAug 9, 2024

--

As a child, I was not one to have hobbies. That wasn’t for lack of trying: my mom signed me up for baseball, for soccer, for painting, for track and field. I signed myself up for basketball in middle school because of my love of the sport, and something about the constant ridicule of never being passed the ball just didn’t resonate. The closest I got was origami in primary school, where my friends and I would fold endlessly, trying to bring paper to life. But it was an expensive past-time, and it didn’t last.

I think, in hindsight, that there was something about leisure time that was deeply unsatisfying. I saw the same restlessness in my mother and grandmother. We could not sit still; my grandmother would endlessly organize things, my mom would find the next most perfect way of balancing her checkbook. She didn’t garden for pleasure, she gardened because we were flipping a house. My grandmother didn’t just go for a walk, she walked with purpose, to gossip with a neighbor, to deliver a letter, to preach to her walking companion. I think I knew early on that if I did ever find a hobby, it probably would not look like a hobby. It would look like work.

And so when I discovered programming, I knew that I had found my hobby. I would diligently read and learn, make little projects to test myself, eagerly make little libraries with which to construct new user interfaces or new virtual worlds. The kind of making that I found most pleasurable was the kind that empowered others. I made drawing programs my for my illustrator friends, simulations for my science teacher, organizers for my tasks. I sometimes would make art, like interactive pixel flip-books and elliptical nature scenes and explosive voxel scenes — but often just for myself, to see if I could, and rarely to show anyone else. The point, in these cases, was not what others might see in my work, but what they might do with it, or what it might enable me to do.

For a long time, the unvarnished utilitarian goals of my leisure time masked the fact that programming was, in fact, my hobby. It looked so much like work, and in some ways became my work, as it became my academic major, a central tool of my academic research, the basis my discoveries as a doctoral student and professor. I loved the work — when I was in a flow of coding, it was pleasurable and did not feel like work. But I still saw it as work because I was being paid to do it.

It was only on sabbatical in 2022–2023 that I realized that it had never been work. Programming had always been my hobby, since I first typed out the quadratic formula in my transition math class on my TI-82 graphing calculator. It was something that I did for fun, in my spare time. I did it to find stillness in my body and a kind of trance in my mind, to excise my distracting thoughts. After a long day of professorly administrative work — writing grant reports, filing reimbursements, managing team conflict in an undergraduate course—I found myself most excited about sitting down after dinner to fix a bug or chip away at a new feature, erasing all of the complexity of the day with the simplicity of creative logic.

At some point, this became a point of shame. I would work a long 10 hour day as a professor, deserving of a nice bath, or book, or some other low-stakes self care. But instead, I would build the toolbar for Bookish, or implement graph traversal for unit conversions in Wordplay, or learn Supabase as a backend for Adminima. The shame was not so much that I wanted to work on these things, but that as a professor, I already looked like a workaholic. The idea that I would rest and recover on nights and weekends by doing “work” sounded tragic.

But since sabbatical, I’ve realized that there is no shame in having a hobby that happens to be productive. Just like it is okay to make furniture on the weekends to give away to a neighbor, or to crochet a onesie for a friend’s newborn, it is okay that I want to make wonky administrative apps, platforms for digital publishing, and weird programming languages for making weird art. The shame doesn’t stem from the nature of the work — it comes from not having community of other people doing the same.

Of course, such communities do exist. There are people who volunteer their nights and weekends on open source projects. And people who help maintain software for not-for-profits. And countless hobbyist coders on the web, making things for fun. These are all people who find pleasure and leisure in programming. That I haven’t connected with them is more on me: many are toxic, elitist, masculine spaces, like much of computer science. I long for a creative community of hobbyist coders who are kind, supportive, and quirky.

Until I find that, I will joyously and unashamedly relish leisurly weekend mornings of hobby time, productively wrangling web frameworks to design and build things of use. That others might find them useful, and that they support my day job, is a splendid side effect!

--

--

Bits and Behavior
Bits and Behavior

Published in Bits and Behavior

This is the blog for the Code & Cognition lab, directed by professor Amy J. Ko, Ph.D. at the University of Washington. Here we reflect on our individual and collective struggle to understand computing and harness it for justice. See our work at https://faculty.washington.edu/ajko

Amy J. Ko
Amy J. Ko

Written by Amy J. Ko

Professor, University of Washington iSchool (she/her). Code, learning, design, justice. Trans, queer, parent, and lover of learning.