Slow Programming: An Exit from "Hotel LLM" Hell?
This post came about following my Bluesky post and a response video from Kevin Powell. My thanks to him.
-----
"We are all just prisoners hereOf our own device"
- Hotel California by The Eagles
In this post, I want to make the case for slow programming.¹ This is a reflective approach that prioritises coding as craft. I view it as a way to overcome the walled garden of LLMs, which can seduce us from expanding our knowledge and skills. Before getting into the details, let's look at some recent examples where generative AI's contracting horizon has had a negative impact on businesses.
The same issue can be seen in other sectors. AI summaries in search have meant a catastrophic drop in visits (/sales) for businesses (e.g. recipe writers) reliant on search referrals to make money. Newspapers and publishers have been dealing with similar issues for years. To stay afloat, their solution has been to either erect a paywall, which The New York Times has done very successfully, or partner with an LLM provider, see: Financial Times / OpenAI, The Guardian / OpenAI, Taylor & Francis / Microsoft.⁴
Today LLMs are the default route to content access. The walled garden of the LLM means users never leave the chat window (or a search page), even if they feel they want to. Everything -- or at least everything they think -- they want is right there, right in front of them. So, what is to be done? I don't claim to have the answers but I can offer some provocations.
As a former university professor, it may not surprise you to hear me say that non-engagement with content is an educational issue. Broadly speaking, we need to develop working environments where continuous professional development (CPD) is seen as core to building and maintaining a highly-skilled workforce. In the case of developers, we need to rethink what it is to be an expert and how expertise relates to LLM use. Employers should create working conditions that encourage developers to move beyond the seduction of the LLM. To aid this process, we need to be clear about what motivates people to improve their knowledge. Matthew B. Crawford, a bike mechanic and philosopher, in his book Shop Class as Soulcraft argues that motivation is deeply rooted in the relationship between thinking and doing.² LLMs change the nature of knowledge work and thus the relationship between thinking and software development. Developers have been pretty vocal about this change. Writing in The Register, software engineer Alain Dekker encourages us to "stay in control and think for yourself", noting that his experiences with AI programming have been "mixed". Edd Gent, writing in the MIT Technology Review (paywalled), finds that "initial enthusiasm is waning", and although productivity may be increasing (10% is suggested), there have been associated "sharp declines in several measures of code quality". Furthermore, many coders like to code (shocker!) and one suggested to Gent that "[i]t’s just not fun sitting there with my work being done for me [by AI]".
- Value their work
- Think critically
- Work creatively
- Solve problems in a way that produces excellent code.
On the other hand, envisioning such a future again leaves power in the hands of the LLM providers. Returning to the Tailwind figures, visits to their documentation are down 40%. But what about the other 60%? What encouraged them to visit Tailwind? Could they be slow programmers? What would an alternative future look like when the motivation is to increase their numbers? We could imagine LLM over-reliance being subverted by building communities of slow programmers who advocate for tools that support the craft of coding.
This is no doubt a challenge. Computer scientists, albeit with various levels of success, have engaged with such "value-drive" visions before. I am reminded of Niklaus Wirth's classic paper, "A Plea for Lean Software" (paywalled / alternative). In making the case for developing software in a lean manner, so that that "systems can be built with substantially fewer resources in less time than usual", he too went against the prevailing practices of the day. We can and must do the same.
Addressing new ways of mediating the relationship between thinking and software development in the age of LLMs means thinking big. Following in Wirth's illustrious footsteps is something we can be proud of.
[-- This post is linked on my Mastodon and Bluesky socials. You can follow your preferred community's discussions there. --]
² For those interested in the broader area, see research on situated cognition.
³ As distinct from what David Graeber termed Bullshit Jobs (book).
Comments