COBOL moved complexity from machine instructions to business logic specification. 4GLs moved it from code to data modeling. No-code moved it from programming to workflow configuration. LLMs are moving it from syntax to verification. The complexity never disappeared. It accumulated at the new boundary. And the new boundary is arguably harder than the old one.
Category: Software Development
AI Made Writing Code Easier. It Made Being an Engineer Harder.
Yes, writing code is easier than ever. AI assistants autocomplete your functions. Agents scaffold entire features. You can describe what you want in plain English and watch working code appear in seconds. The barrier to producing code has never been lower. And yet, the day-to-day life of software engineers has gotten more complex, more demanding,…
The First 1,000 Lines Determine the Next 100,000 in AI Coding
I learned this the hard way while working with Claude Code. AI looks at your existing code and copies the patterns it finds. If you start with clean code, the rest stays clean. If you start messy, the problems pile up faster than any human team could create them. And unlike a junior developer who…
No, Average People Will Not Build Their Own Software With AI
There is a narrative gaining traction in tech circles, on social media, and in breathless conference keynotes that goes something like this: AI will soon let anyone build their own software. Need a budgeting app? Just describe it to an AI and it will create one for you. Want a custom CRM for your small…
You Don’t Want a Claude Code Guru
The job posting practically writes itself these days. “Looking for a senior developer proficient with AI coding tools. Must be comfortable using Claude Code, Cursor, or Copilot to rapidly produce production-ready code. We need someone who can 10x our output.” I have seen variations of this everywhere over the past year. Companies scrambling to find…
Prompt Patterns Catalog, Part 2: Iteration, Verification, and Persona
In the previous post, I introduced three foundational prompt patterns: Decomposition for breaking complex tasks into manageable units, Exemplar for teaching by example, and Constraint for defining boundaries. These patterns address the most common generation challenges. This post completes the catalog with three more patterns, then addresses the practical question of building and maintaining a…
Generate: The Art of Effective AI Collaboration
Generation is where the visible work happens. You provide input, and the AI produces code. This is the moment most developers think of when they imagine AI-assisted development. It is also where most developers start, jumping directly to generation without the specification work that should precede it. In the ADD cycle, generation is the second…
From Waterfall to ADD: Why AI Demands Its Own Methodology
Software development methodologies do not emerge from academic theory or conference talks. They emerge from pain. Practitioners encounter problems that existing approaches cannot solve, and they develop new disciplines to address those problems. Understanding this history matters because AI-assisted development is at an inflection point. The unstructured approaches I described in my previous post are…
The Unstructured AI Problem: Why Most Teams Are Using AI Wrong
Every developer I know uses AI tools now. Copilot suggestions appear mid-keystroke. ChatGPT tabs stay permanently open. Claude conversations stretch across multiple projects. The adoption curve was vertical, faster than any technology shift I have witnessed in two decades of software engineering. But here is the uncomfortable truth: most of us are using these tools…
The Future Engineer: What Software Development Looks Like When AI Handles the Code
The software industry has entered a period of genuine transformation. After decades of incremental tooling improvements, AI-assisted development is introducing changes that feel qualitatively different from what came before. Code completion, automated testing, and intelligent refactoring are no longer experimental features but daily realities for many developers. This shift raises uncomfortable questions about the future…