Tales from Production: How Real-World Coders Are Using AI
Last week I spoke to Rina Diane Caballar, who’s written an article offering tips and techniques for coders to survive and thrive in a generative AI world.” After talking to several experts, Caballar told me they don’t think AI will replace programmers in the near future. “But it has the potential to change the way programming works — though it’s too early to say how.”
But the first clues may be coming from real-world programmers who are already experimenting with AI-enhanced coding in production environment. When Caballar’s article was posted on Hacker News, it attracted 346 upvotes — and another 302 comments. In the spontaneous discussion that followed, countless programmers volunteered glimpses into their own experiences, offering assessments about the differing abilities of AI, along with their personal predictions for how it will all evolve.
The real world is messy, and the proper role for AI may be something that has to be learned empirically, from actual hands-on experience. But that effort is already underway, and several programmers are now sharing their own hard-won insights.
Along the way, they’re ultimately refining their thoughts on the true role of a programmer — both today and tomorrow — while formulating their own informed opinions about what will change, and what will stay the same.
AI Is Educational
The first insight is that AI makes things easier — and can be very educational. Full-stack developer Daniel Waltrip posted that they’re recovering from health issues (including burnout), and “For me, it can smooth out the process and ‘lower the intensity’ of accomplishing any particular task, especially if it is something where I don’t know how to do it off the top of my head… I can then pretty easily correct any mistakes, and I didn’t have to spend 20 minutes Googling, reading docs, and so on in order to solve the problem.”
Another real-world testimonial came from embedded developer/digital systems engineer Josip Miskovic. “I’ve started developing in a new language and I can hardly do any work without the LLM assistance, the friction is just too high. Even when auto-completions are completely wrong they still get the ball rolling; it’s so much easier to fix the nicely formatted code than to write from scratch. In my case the improvement is vast, a difference from slacking off and actually being productive.”
One Hacker News commenter said they’d used an AI chatbot to build an entire app in a new framework — and found it more educational than reading an introductory book. Another developer likened it to a kind of AI-enhanced documentation. “The ability to ask questions about contents of the documentation as opposed to inefficient RTFM is one of the possibilities for which I recognize LLMs as potentially especially useful.”
Another commenter seemed to agree. They stopped short of saying AI could replace a human programmer, noting that the software they recently wrote “still needs a skilled programmer to edit it, test it and deploy it. On the other hand, I am slightly concerned that ChatGPT will destroy my side income from selling programming courses… ”
And when confronted with a 30-year-old legacy codebase, one programmer was delighted with AI’s quick ability “to make sense of some old logic and syntax. It literally saves me hours in having to figure out strange code snippets…”
AI vs. Rubber Ducks
Some programmers on Hacker News were using AI tools for debugging — and even “rubber duck” debugging, where describing code’s function (and its bugs) sometimes produces crucial insights into problems. “I’ve found rubber duck debugging to be an exceptionally effective use case for ChatGPT,” one developer posted. “Often it will surprise me by pinpointing the solution outright, but I’ll always be making progress by clarifying my own thinking.”
But just how good is AI at debugging its own code? One commenter complained that at the end of the day, “Sometimes it’d give completely wrong answers. It’s just not code I’d commit or let pass a code review.” Another doubted AI’s ability to fix those bugs. “They can approximate the syntax of things in their training corpus, but logic? The lights are off and nobody’s home.”
But another commenter believes in AI’s potential. “I’ve already had the GPT3.5-Turbo model walkthrough and step-by-step isolate and diagnose errors. They 100% can troubleshoot and correct issues in the code. Literally, you give it the code and the error and it can walk you through finding the solution… I recently fed a very large file into GPT4 and it handed me a few serious bugs that I hadn’t noticed after a few self-reviews.”
So will AI replace programmers — or just offer automated assistance to make them faster and more productive? At least one commenter on Hacker News seemed convinced that in the future, they’ll co-exist. “Collaborative efforts are almost certainly where this is going, and 100% human or 100% AI will both be significantly inferior to a mix of both.”
And another agreed, arguing that warnings about AI taking your job “is like saying that a spreadsheet is going to replace accountants. It’s just a tool.”
Holding Hands, Attending Meetings
One commenter even joked that large-language models have a lot in common with the majority of developers they’d worked with. “Most have no agency, write boilerplate code with no creativity, need their hand held every step of the way, and won’t do anything they’re not explicitly ordered to do.”
One software developer/architect made a convincing case for why AI couldn’t help them with the true workplace responsibilities of a programmer today. “[W]hat we would really need from an AI to start really saving me time would be for it to interview all the customers/partners involved on the project, determine the scope of function needed, boil all that down to a set of sensible domain models that make sense to everyone, identify where/when messages need to be passed, determine which things can happen piecemeal as opposed to requiring a bulk op, deciding on a persistence technology based on the nature of the requirements…”
This prompted a lively discussion about what it means to be a programmer in real-world workplaces. One commenter argued we need an AI that can “attend endless, pointless, weekly Zoom meetings where a manager with zero understanding of the task being done, why its being done, and with no idea how to do it, nevertheless is happy to review open tickets and discuss them… When the AI can just be my doppelganger in the meeting on my behalf THEN I’ll worry about AI taking my job.”
And at this point, the conversation turned to the question of whether AI could replace managers, with at least one commenter saying they were all for it.
“[F]or the first time, the manager would understand what their direct reports are saying.”
- A developer builds an app that turns ChatGPT into Clippy.
- A new service uses ChatGPT to troll telemarketers and waste their time.
- After discovery of 2,200 personal computers from 1983, a developer hacks one into a TRS-80.
- 78-year-old author of Gödel, Escher, Bach Doug Hofstadter on the state of AI today.
- U.S. Bureau of Labor Statistics releases annual report on remote working — and the differences for women and men.
- Could a solar superstorm trigger an internet apocalypse?
- Winning HTML5 games announced for the fourth annual Gamedev.js Jam 2023.