Favorited An app can be a home-cooked meal by Robin Sloan
(via Peter Rukavina and Roland Tanglao)
For a long time, I have struggled to articulate what kind of programmer I am. I’ve been writing code for most of my life, never with any real discipline, but/and I can, at this point, make the things happen on computers that I want to make happen. At the same time, I would not last a day as a professional software engineer……
I am the programming equivalent of a home cook.Robin Sloan
I really like this metaphor by Robin Sloan. I would never call myself a ‘real’ programmer, or a programmer at all really. Yet, I’ve been programming stuff since I was 12. In BASIC during my school years, in assembly, Pascal, C++ at university, and in Perl, VisualBasic in my early days at work (which included programming the first intranet applications for my then employer), and currently in PHP and Applescript (to get my websites/tools and my laptop to do the things I want). Except for some university assignments all of that programming was and is because I want to, and done in spare time.
I too am the programming equivalent of a home cook (which coincidentally I also am).
Robin Sloan also hits on what irks me about the ‘everyone needs to learn to code’ call to action. “The exhortation “learn to code!” has its foundations in market value. “Learn to code” is suggested as a way up, a way out… offers economic leverage … [it] goes on your resume.”
“People don’t only learn to cook so they can become chefs. Some do! But far more people learn to cook so they can eat better, or more affordably, or in a specific way…..”
The above is I think an essential observation. Eating better, more affordably or in a specific way, translates to programming with the purpose to hone the laptop as your tool of trade and adapt it to your own personal workflows, making it support and work with your very own quirks. This is precisely what I don’t get from some that I quizz about their tool use, the way they accept the software on their laptop as is, and don’t see it as something you can mould to your own wishes at all.
“And, when you free programming from the requirement to be general and professional and scalable, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen.”
Removing the aura of ‘real programming’ from all and any programming except paid for programming, might just break this ‘I’m not a programmer so I better accept the way software works as the vendor delivered it’ effect.
Me and Boris Mann cooking in his kitchen in Vancouver in 2008. Coincidentally we connected through our desire to shape tools to our personal wishes. Programming as a home cook, brought us together to well, home cook. His blog still is a mix of cooking and programming well over a decade on.
I like the cooking metaphor, and I also like when people exchange the ‘recipes’ for their homebaked ideosyncratic tools.
Yes, exchanging recipes, that is a valuable extension of the metaphor. Thank you. I normally use my friend Peter’s phrase ‘obligation to explain’ for it.
I thought you might see this article and write about it before I had a chance to 😉 The “ping pong” of blog posts referencing each other is lovely to be getting back to.
Lovely to see you and I working side by side many years ago in that tiny apartment of mine.
I am going to write about Sloan’s post as well, but likely a more developer centric version. Tools (and recipes) need to be designed so they work for home cooking is my thought.
“Tools (and recipes) need to be designed so they work for home cooking is my thought” Looking forward to reading it!
there’s nothing wrong with being a an amateur cook and there’s nothing wrong with being an amateur software developer. both are great! and it is also great to be a pro cook and pro software dev! people just have pre-conceived notions of what cooking (coding) in the small and cooking (coding) the large is 🙂 most of those notions about large and small are wrong. man pro chefs can’t cook at home or feel they suck at it. i feel many pro developers can’t really do lightweight “last minute pick what you need from what got in the cupboard” software development either! everybody should cook at some level just like at everbody should write software at some level and complicated spreadsheets and other non command line programming environments are programming too!