AI Can Write the Code. Your Students Still Need to Learn It.
A twenty-year adjunct reflects on mourning, agency, and why “human in the loop” must mean more than a slogan.
Beyond the Degree
AI Can Write the Code. Your Students Still Need to Learn It.
A twenty-year adjunct reflects on mourning, agency, and why “human in the loop” must mean more than a slogan.
![intimate close-up of a stack of worn legacy computer programming textbooks (1970s–1990s) on a wooden desk: creased spines, faded covers, dog-eared pages, handwritten margin notes and sticky tabs. [Conceptualized by Dave Hallmon, AI-generated image]. Google Gemini 3 Pro, 2026.](https://miro.medium.com/v2/resize:fit:1400/1*Dqya53UTIZbis_onbniJNw.png)
intimate close-up of a stack of worn legacy computer programming textbooks (1970s–1990s) on a wooden desk: creased spines, faded covers, dog-eared pages, handwritten margin notes and sticky tabs. [Conceptualized by Dave Hallmon, AI-generated image]. Google Gemini 3 Pro, 2026.
Tuesday night, 7:14 p.m. The fluorescent lights in Room 214 have one tube buzzing slightly off-rhythm, like a metronome nobody asked for. I’m halfway through a slide on DOM manipulation — explaining how JavaScript communicates with the browser — when a student in the third row raises her hand and asks, flatly and honestly, “Why are we learning this if AI can already do it?”
Twenty faces looked up from their laptops, and the buzzing tube’s pace was slower.
This isn’t just a question about skills; it’s a question of identity.
The Grief Nobody Names
I remember on the first night of class this term, I was describing to my students the “Zen” of writing code. The feeling you get when it’s well structured, commented, and validated. As a creator, I live for that feeling, and some (not all) of my students long for that too.
***Nolan Lawson published a post titled “We Mourn Our Craft”*** — a raw, honest acknowledgment of the frustration of watching AI consume every blog post and piece of code he had ever written. I couldn’t agree more. Chasing that “Zen” feeling is my own personal nostalgia, longing for an earlier version of my work — not for the standups or the ticket churn, but for the craft itself. Those quiet hours once in a dorm or 24-hour campus library, then a floor of empty cubes after everyone had long gone.
When coding felt like a kind of private music. Deep focus. Clean logic. The small joy of crafting a beautiful solution.
Shortly after, ***Peter Steinberger — creator of OpenClaw, the open-source AI agent framework that became the fastest-growing project in GitHub history — appeared on the Lex Fridman podcast and spoke candidly***: “It’s okay to mourn our craft.”
That word — mourn — holds significance.
It suggests that this moment is more than just a software update. It names what many developers feel but struggle to articulate.
Their job is changing rapidly, and the grief isn’t solely about keystrokes; it’s also about our identities.
Steinberger likened the future of programming to knitting — something people will continue to do by hand, simply because the act itself has value.
He even personally stopped using AI agents to draft his blog posts because they couldn’t capture the rough edges of his authentic thinking.
There’s something reassuring about hearing that from someone about to join OpenAI.
Many of us carry the label of “programmer” like a quiet passport. We don’t discriminate from web or software, but we may from vibe.
It’s how we communicate our value to the world — and to ourselves. So when AI can draft code, refactor modules, generate tests, and create working scaffolds in minutes, it’s not just a workflow change; it challenges our fundamental sense of meaning.
Two truths coexist: some aspects of the craft are indeed fading, and those who have built their identities around that craft are justified in feeling afraid. If we ignore either truth, we risk doing what tech culture tends to do. Turn a human transition into an HR campaign.
So, what do we do about this?
Faster and Cheaper Aren’t the Hard Parts
Let’s be honest: what’s being automated first isn’t programming in the romantic sense. It’s the repetitive middle ground. It’s the parts that are easiest to describe, easiest to pattern-match, and easiest to verify.
Data comes in, changes shape, and goes out. That’s significant.
But it’s not the entirety of the job.
The challenging parts — the ones that continue to arise regardless of the quality of the tools — remain resolutely human. What should we build, and what should we not? What trade-offs are we making regarding security, privacy, cost, and reliability — and who bears the consequences? When a system fails, who is accountable, and what should change?
Tools that draft everything assist with execution, but they don’t inherently provide judgment.
In class, I return to the same better, faster, cheaper “three-legged stool.” As much as AI companies want you to believe you can have all three, you actually still can’t.
Yes, AI is often faster and cheaper — undeniably. But “better” is where things become interesting. Better for whom? Better can mean accessible, secure, maintainable, humane, original, and accountable.
“Better” isn’t a simple measurement; it’s a decision rooted in values.
I teach computer science courses such as Introduction to Web Programming, Systems Analysis, Generative AI & Python, and a few others. I help students create things that people actually use, fully aware that AI can produce results arguably faster and cheaper.
Why I Still Teach Students to Write Code
I’ve been an adjunct professor for nearly twenty years. I personally find great value in working with undergraduates in computer science, web development, and graphic design. I teach at two large online colleges and a local university in Dallas. Many of my students, now still trying to make sense of the future of their field. With the changes of the last year, it’s weighing on their next steps and food for their families' tables
I’ve been in the industry long enough to have experienced multiple “before” eras — before the internet became the default, before smartphones rewired our attention, and before “app” became a verb.
One day, it will be common to talk about a time “before AI.” I can sense we are crossing that line now.
I teach coding the way we teach writing in an age of autocomplete: as a means of agency. This is not because my students will always code by hand, but because understanding a system is essential for effectively directing it.
If you can’t read the system you’re shipping, you can’t truly be human in the loop.
My students’ classmates (or their future colleagues) who build entirely through AI prompts, the risk goes beyond just bugs. It creates dependence. If you don’t know how to troubleshoot, you won’t know how to innovate. Worse yet, you may not recognize the real problem before attempting to solve it.
I want my students to collaborate with AI, not defer to it.
A demo may show a working output, but the real world presents issues like edge cases, ambiguity, stakeholders, production incidents, and half-broken systems that still need to serve humans. That’s why the question, “How will you know if I used AI?” is important.
My answer is straightforward: I’m not trying to catch you; I’m trying to teach you.
I provide my students with a policy tailored to the world we live in. If you used AI, acknowledge it. Share your prompts, describe your iterations, and expect critiques. “Human in the loop” isn’t just a catchy phrase — it’s a skill, and like any skill, it can only be developed through practice.
What scares me more than AI writing code is the thought of people shipping products they don’t understand. A former student reached out to me on LinkedIn after losing their job. They mentioned it was linked to “an error made by an AI,” and they wished they had paid more attention in class.
That stuck with me — not because AI makes mistakes, which it certainly does, but because it highlighted a more significant issue: not who can generate output, but who can take ownership of the outcome.
Developer pay rose for valid reasons: skill scarcity, the integration of software into every industry, and businesses willing to pay a premium for builders. Thus, the simplistic statement “AI kills salaries” isn’t entirely accurate. The messier truth is that while the value derived from coding as a rare skill may decrease, the importance of judgment and responsibility will likely increase. This is cold comfort for early-career developers, as entry-level positions have always served as essential apprenticeships.
If entry-level work becomes automated, we don’t just lose jobs; we lose the training pipeline.
The Aspects We Can’t Automate
A deep understanding of history becomes invaluable — especially if we approach it with honesty. The transition from steam engines being a novelty to becoming essential infrastructure wasn’t smooth. Work was reorganized, power dynamics shifted, and yes, some individuals broke machines. This narrative is frequently framed as “people feared technology.” However, a deeper interpretation reveals that they feared becoming disposable, and their concerns were not unfounded. They were negotiating fundamental terms — wages, dignity, control, and the right to a future.
If you interpret today’s anxiety as a revival of the Luddites, you’re missing the larger point.
Significant technological transitions are not purely technical; they are also political and economic in nature. These transitions create winners and losers — often by default — unless we make conscious choices to do otherwise.
For some developers, hand-coding will remain akin to cooking from scratch: it may not be the only way to produce a meal, but it is an appreciated craft. For most teams, the focus will shift. Craftsmanship will concentrate more on directing systems — setting constraints, reviewing outputs, writing tests to catch subtle failures, deciding which tools can access certain data, and saying “no” when a feature may be easy to ship but carries risks.
This is still programming; it simply requires a different approach.
I tell my students — half-joking yet completely serious — that they may be a “dying breed”: developers who learned to build from the inside out. I encourage them to wear that label as a badge of honor. Not because hand-coding is morally superior, but because it equips them with valuable capabilities.
Here are the guiding principles I teach and strive to embody:
- If you can’t explain it, you can’t ship it.
- If you can’t test it, you can’t trust it.
- If you can’t debug it, you don’t own it.
- Use AI to draft. Use humans to decide.
However, this is where Silicon Valley often oversimplifies: individual adaptation is not sufficient. If this transition is indeed real — and I believe it is — then we need collective solutions that match the scale of the challenge. This includes new apprenticeships that are not dependent on luck and accountability norms that prevent “the agent wrote it” from being an acceptable excuse.
These aren’t anti-tech demands; they are pro-human demands.
So yes — mourn what is changing. Feel free to miss the old music if you need to. I do.
The future belongs to those who can move quickly and still take responsibility for what they produce.
But don’t confuse grief with defeat. The aim isn’t to dismantle the machine. The goal is to ensure that the machine serves human life — fostering good work, fair opportunities, and accountable systems — not the other way around.
On the ***Lex Fridman Podcast, [Peter Steinberger](http://chatgpt//generic-entity?number=0)*** said something that can’t be made into a classroom assignment. It’s the emotional truth sitting under all the demos:
“I never thought… the thing I love doing would be the thing that gets replaced…”
I hear the same fear in student questions — just aimed at their future, not my past.
“There’s an identity in that. There’s meaning.”
That’s what gets lost in the “AI can do it” discourse: meaning isn’t a feature request.
“To have that… replaced is painful — truly painful.”
And we shouldn’t pretend otherwise.
“Programmers are… best equipped… to learn the language… And yet… I still need to feel like I’m in the driver’s seat…”
That’s the tension I’m trying to name: the work changes, but the responsibility doesn’t. Neither does the need for meaning. What we’re defending isn’t nostalgia. It’s dignity: the right to understand what we ship.
That’s the tension I’m trying to name: the work changes, but the responsibility doesn’t. Neither does the need for meaning.
What we’re defending isn’t nostalgia. It’s dignity: the right to understand what we ship.
Join the Conversation
If you’ve ever had the “wait — why am I learning this?” moment as a student or mid-career professional, I’d value hearing about it. If you’ve found where to draw the line between “ask AI” and “ask a human,” please share your insights. That’s where the new craft resides, and none of us should have to navigate it alone.
Office Hours Are Open Late at TheNextClassroom_
None of us has a perfect roadmap for the economy our students are stepping into, but we don’t have to navigate it alone. Join ***TheNextClassroom_*** to share stories about what’s working, what isn’t, and how we can maintain the human element in an automated age.
The opinions expressed here are my own and do not reflect the views or positions of my employer.
I’m just a dad who blogs about the intersections of life, faith, family, and technology. These are the threads that weave through my personal and spiritual walk.
© Dave Hallmon, February 17, 2026.
메타데이터
- post_id
- 7c30fd32ff68
- slug
- ai-can-write-the-code-your-students-still-need-to-learn-it-7c30fd32ff68
- url
- https://medium.com/thenextclassroom/ai-can-write-the-code-your-students-still-need-to-learn-it-7c30fd32ff68
- canonical_url
- https://medium.com/thenextclassroom/ai-can-write-the-code-your-students-still-need-to-learn-it-7c30fd32ff68
- author_url
- https://medium.com/@DaveHallmon
- status
- ok
- fetched_at
- 2026-06-13 12:55:53