Today I learned that Robin Sloan — author of Moonbound — writes software. He has this great story about how he wrote a messaging app for his family. He also articulates very well this desire that many people who can program computers have: that more people should learn to code so that they can write their own little softwares for themselves and be thus liberated from the tyranny of Big Tech and the marketplace.
He likens this type of programming to cooking.
When you liberate programming from the requirement to be professional and scalable, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen.
It’s such a seductive idea to me (a former professional computer programmer). It certainly permeates communities such as the IndieWeb and Small Web communities. But after over 20 years of computer programming, I am well and truly suspicious that this idea appeals to anyone outside of the relatively small group of people who are already inclined to learn to write software.
As compelling as the analogy to home cooking is, I think it falls short of reality. The biggest difference is that many home cooks, I suspect, only ever really follow recipes. After over 20 years of cooking for myself, I still always work from recipes. Of course some people — like my wife, or my friend Doc — can just look in the fridge and whip up something from whatever happens to be in there, but I suspect this is not typical.
And this is, for me, where the idea that coding for yourself is like cooking for yourself falls apart. I’m not sure how practical it is that home coders could just follow recipes the way that home cooks do. And coding without a recipe, like cooking without one, takes more skill, even if it doesn’t have to be at a professional level.
Still, it’s interesting to contemplate how that might work. People used to disseminate software by publishing the code in magazines for other people to copy and modify. People used to View Source other people’s websites to learn how to write CSS. Could people begin publishing recipe books for computer programming (again) the way they do for cooking? There are certainly many recipes floating around the internet, but it seems like collecting enough good recipes is pretty tough if you don’t already know where to look. And of course there’s the problem that computer platforms change in a way that your kitchen doesn’t; a software recipe from 10 years ago may no longer work on modern platforms, whereas you can probably still cook a recipe from 100 years ago.
Anyway, I enjoyed reading Sloan’s story about building an app for his family. It’s a great example what’s possible for home coders, even if it will never be as widespread as home cooking. Plus it’s just cool to discover that an author I like also likes to tinker with computers (see also Douglas Adams).