How AI programming feels after 15 years in programming
Created at 2026-06-09 Updated at 2026-06-17 - 3 min. read
I started my career with punch cards and command lines. I’ve watched GUIs, the web, and cloud transform how we build. Now AI is in our toolchains—and it’s stirring strong feelings. After three decades, here’s my plain take: AI is a powerful partner, not a replacement.
1. Why I’m Excited
AI saves time on the boring stuff. It suggests code, auto-completes functions, and can generate entire modules from high-level descriptions. That’s a win for repetitive work and boilerplate.
What this means for me:
- Faster iteration on routine tasks
- Less mental overhead for formatting, tests, and docs
- Junior devs grow faster with intelligent suggestions
AI also helps improve reliability. Tools that scan for bugs and security smells catch things we’d miss in large codebases. And no-code/low-code platforms—partly powered by AI—let non-developers build useful tools quickly. That’s democratizing in a way I genuinely hope for.
2. Why I’m Worried
Over-reliance dulls craft. When developers accept AI output without thinking, they lose the instinct for why one design is better than another. I’ve always taught juniors to understand the “why” behind each line—AI can’t replace that intuition.
Context is AI’s blind spot. It might suggest code that looks correct in isolation but breaks under real conditions, creates side effects, or introduces security holes. I’ve spent nights tracing bugs that only appeared under load or when two teams’ changes met in production. AI doesn’t yet have that lived experience.
There are also ethical and security concerns:
- Models trained on public repos can reproduce bad patterns—and sometimes sensitive logic can surface.
- Training-data biases can push people toward certain frameworks and away from others, subtly shaping the ecosystem.
3. How I Think We Should Use AI
My principle: partnership, not replacement.
Let AI handle routine work: formatting, tests, documentation drafts, and boilerplate. Let humans keep the hard, messy jobs: defining requirements, making tradeoffs, and thinking about long-term architecture and user impact.
That means:
- Investing in education—teaching people to evaluate AI output, spot hallucinations, and keep critical thinking sharp.
- Better tooling and processes—rigorous code reviews, security audits, and provenance tracking for AI-generated code.
4. A Quick Mental Model
I use this rule in my work:
AI = accelerator. Human = architect.
AI accelerates execution. Humans decide direction, tradeoffs, and responsibility.
AI in programming is a powerful tool. Used well, it amplifies what we do; used naively, it dulls our edge. After thirty years, I’m optimistic but cautious. I want to see AI make software development more inclusive and productive, while we keep insisting on human judgment, responsibility, and craftsmanship.
Let’s build software where AI speeds us up—and humans stay in charge.