
CS 3100: Program Design and Implementation II
Lecture 38: The Future of Programming
©2026 Jonathan Bell, CC-BY-SA
Learning Objectives
After this lecture, you will be able to:
- Analyze what AI coding tools actually change about software engineering — and what they do not
- Evaluate the real-world evidence on AI-assisted development and identify when AI helps vs. hinders
- Identify durable skills and concrete next steps for continuous learning
Arc 1: What Does AI Actually Change?
Open Poll Everywhere.
Every Generation Says "That's Not Real Programming"
L1 callback: Grace Hopper built one of the first compilers. The response?
"I kept getting told that I couldn't do that, because a computer could only do arithmetic. They couldn't write programs."
| Decade | New abstraction | "That's not real programming" |
|---|---|---|
| 1950s | Compilers | "Real programmers write machine code" |
| 1970s | Structured programming | "Real programmers use GOTO" |
| 1990s | Garbage collection | "Real programmers manage their own memory" |
| 2010s | Frameworks, low-code | "Real programmers write everything from scratch" |
| 2020s | AI coding assistants | "Real programmers write their own code" |
The pattern repeats: a tool automates part of the work. The definition of "programming" shifts upward to the work the tool cannot do.
The Hard Part Was Never the Typing

Fred Brooks (1986): AI is spectacularly effective above the waterline. Everything below it is what you are paid for.
The Productivity Gain Is Real — It Is Just Invisible
| Era | Tools | What "a web app" meant |
|---|---|---|
| 2000 | Hand-written HTML, CGI scripts | Static pages with a form |
| 2008 | Rails, Django, jQuery | Dynamic CRUD app with a database |
| 2015 | React, Docker, microservices | Real-time SPA with mobile support, CI/CD, monitoring |
| 2020 | Kubernetes, serverless, design systems | Multi-platform, accessible, globally distributed, auto-scaling |
| 2026 | AI-assisted development | All of the above, plus AI features, built by a smaller team |
Each generation's tools made the previous generation's software trivial to build. But nobody used the tools to build last generation's software faster — they used them to build this generation's software at all.
L36 (Jevons' paradox): The 10x gain is real — it is invisible because the baseline keeps moving. 2026 has MORE accidental complexity than 2000, not less.
AI Removes the Accidental — The Essential Remains
AI handles (accidental)
- Boilerplate and syntax
- API lookups
- Routine test generation
- Code translation
- Pattern application
- First-draft documentation
You handle (essential)
- Understanding what to build (L9)
- Designing for change (L7)
- Edge case reasoning (L15)
- Architectural tradeoffs (L18)
- Stakeholder evaluation (L9)
- Professional responsibility (L35)
Every lecture this semester focused on the right column. AI makes the left cheaper. The right is what you are paid for.
Discuss with a Neighbor (3-4 minutes)
Think about your GA1/GA2 experience.
- What parts were accidental complexity — boilerplate, setup, syntax — that AI handled or could have handled?
- What parts were essential complexity — design decisions, debugging integration issues, understanding user needs — that no tool could bypass?
- Do you agree with Brooks that the 10x gain is real but invisible? Or is something genuinely different this time?
Arc 2: Does AI Actually Make Developers Faster?
Open Poll Everywhere.
Feeling Fast Is Not the Same as Being Fast
Multiple controlled studies — they disagree on speed but agree on one thing:
| Study | Year | N | Speed effect | Perception |
|---|---|---|---|---|
| METR RCT | 2025 | 16 experienced devs | 19% slower | Believed 20% faster |
| Microsoft "Dear Diary" | 2025 | 200+ engineers | No significant change | 84% reported positive impact |
| MIT/MS/Accenture | 2025 | 1,974 devs | +26% PR throughput | — |
| DORA 2025 | 2025 | Thousands | +21% individual tasks | Org delivery flat |
The resolution: Individual speed ≠ organizational throughput. DORA and Faros both found: individuals produce more PRs, but PRs are 154% larger with 91% longer review times. The bottleneck shifts from writing to reviewing.
The Quality Evidence Is Less Ambiguous — and Not Good
DORA 2025: "AI is a multiplier of existing engineering conditions."
| Study | Key finding |
|---|---|
| CodeRabbit | 1.7x more issues, 2.74x more XSS |
| Uplevel | +41% bug rate |
| GitClear | Code churn doubled |
| Stanford/Boneh | Less secure, more confident |
L13's review step is not optional — it is where quality comes from.
Discuss with a Neighbor (3-4 minutes)
The evidence says AI makes developers feel faster while producing buggier code.
- Have you experienced the perception gap? A moment where AI seemed to help but actually cost you time?
- DORA says AI is a "multiplier of existing engineering conditions." What does that imply about the value of what you learned in this course?
- Where on the vibe coding spectrum (pure vibe → assisted → AI-informed → manual) should you be working for different kinds of tasks?
Arc 3: What Does This Mean for Your Career?
Open Poll Everywhere.
Learning Debt Compounds Across All Four Dimensions

The "learning tax" is not just pedagogy. It is a sustainability investment.
The Entry-Level Question + Professional Responsibility

Stanford (2025): ~20% drop in software developer employment ages 22-25. The question: are the bottom rungs disappearing, or is the on-ramp changing shape?
Discuss with a Neighbor (3-4 minutes)
Three questions — pick the one that matters most to you:
- The jobs question: Which read do you find more convincing — pessimistic or optimistic? What evidence would change your mind? What skills from this course are most relevant to "the roles that remain"?
- The learning debt question: Did you accumulate learning debt this semester? Is there a concept you relied on AI for that you couldn't explain? What would it take to pay it down?
- The responsibility question: If your AI-generated code had a bug that affected a real user, who is responsible — you, the AI company, or both?
Arc 4: What Endures?
Same Question, 40 Minutes Later
"AI will fundamentally change what it means to be a software engineer within 5 years."
Vote again on Poll Everywhere. Did your position change?
If it changed: what moved you? If it did not: what would it take?
Three Trends Worth Watching Beyond AI
Memory safety as policy: The White House called out C and C++ by name. CISA lists memory-unsafe languages as a "bad practice." 45% of organizations now use Rust in production. Microsoft is rewriting Windows kernel components in Rust. Language choice is becoming a regulatory decision. (L35: safety-by-design embedded in a language.)
Formal verification + AI: Kleppmann argues AI will make formal verification mainstream — not by replacing it, but by making proof generation cheap enough to be practical. If AI generates code we cannot fully review, proving correctness becomes more valuable than testing for it. Extends L15: unit tests → integration → E2E → formal proofs.
WebAssembly beyond the browser: Wasm is quietly becoming a third runtime. Zero cold-start, ~1/10th memory of Node.js. Write in Rust/Go/TypeScript, compile to Wasm, run anywhere. L6 (information hiding) at the runtime level. L21 (sub-millisecond serverless). L36 (10x less energy per request — but Jevons asks: 10x more requests?).
Every Lecture Sustains Something That AI Does Not Replace
| Lecture Arc | What It Taught | What It Sustains |
|---|---|---|
| L1-L4: Java, contracts, specifications | Write code that means what it says | Correctness over time |
| L5-L8: Readability, coupling, SOLID | Write code others can change | Maintainability over years |
| L9, L12: Requirements, domain modeling | Build the right thing | Value over project lifetime |
| L13: AI agents | Use tools without outsourcing judgment | Competence over career |
| L15-L16: Testing, testability | Know when code is wrong | Confidence over every commit |
| L18-L21: Architecture, networks, serverless | Build systems that survive change | Adaptability over organizational lifetime |
| L22-L23: Teams, open source | Work with humans and communities | Collaboration over industry lifetime |
| L28-L30: Accessibility, GUI, MVVM | Build for all users | Inclusivity over societal timescale |
| L31-L33: Concurrency, async, events | Handle complexity at scale | Scalability under load |
| L34-L36: Performance, safety, sustainability | Do not harm users | Responsibility over consequences |
| L37: MapReduce | See it all in one real system | Synthesis |
| L38: Today | What endures when everything else changes | Learning agility over career |
The Future Is Unwritten — But You Are Not Unprepared
We do not know what programming will look like in 10 years.
What we do know: the people who thrive will be those who can learn what is needed, adapt when things change, work effectively with others, and bring clear thinking to complex problems.
Those are not "soft skills" separate from "real" technical work.
They ARE technical work, viewed over time.
Looking Ahead
L39 (Thursday): Review — exam preparation, course synthesis, your questions.
GA2: Feature Buffet due Thursday April 16. Process over product — a well-documented partial feature scores higher than a complete feature with no documentation.
Final Report due Monday April 20. Written report (architecture, team reflection, sustainability assessment), infographic poster, demo video, individual reflection. Mostly assembling things you've already done — but don't leave it all for the very last moment.
Final Exam: Check the schedule. Covers the full semester, emphasis on final third (architecture through sustainability).
| If you are interested in... | Take... | Why |
|---|---|---|
| Distributed systems, consensus | CS 4730 | Formalize L31-L33 |
| Systems programming, memory safety | CS 3650 | What Java hides — and why Rust exists |
| Security, supply chain | CS 3700 | Extend L20 to network attacks |
| AI/ML systems engineering | CS 4100 | Understand the tools from inside |
| Open source at scale | CS 4535 | Apply everything to Pawtograder |