Table of Contents
AI is no longer just assisting developers—it’s co-creating software. From vibe coding to legacy code migration, here’s how the entire ecosystem of programming is being rewritten.
Key Takeaways
- Coding is the second-largest generative AI market after chatbots, possibly surpassing it depending on classification.
- Developers now “talk” with models, writing specs and iterating collaboratively on system designs and implementation.
- Tools like Cursor and GitHub Copilot have matured from autocomplete assistants to full-stack project collaborators.
- Non-developers (aka “vibe coders”) are shipping apps with prompts alone, remaking who gets to participate in software creation.
- The distinction between formal languages and structured prompting is beginning to blur, creating a new meta-language layer.
- AI is introducing chaotic system behavior: even slight prompt changes can result in radically different outcomes.
- A new curriculum is needed—less about syntax, more about architecture, intent articulation, and human-AI interaction.
- Prompting may become the new narrow waist of the software stack, like SQL for databases.
AI Coding: From Copy-Paste to Conversational Co-Creation
- In early days, developers treated ChatGPT as a replacement for Stack Overflow—asking monolithic questions and copying answers into IDEs.
- Within months, tools evolved. Cursor now integrates with IDEs, turning AI into a real-time partner for:
- Writing high-level specs
- Asking clarifying questions
- Implementing features through command execution
- Debugging and reasoning about project structure
- Engineers describe their new workflow as starting from intent: “Here’s what I want. Help me scope it.”
- The AI pushes back: “What should I store in a database? Do you want to use this API or that SDK?”
- The model isn’t just responding—it’s challenging vague ideas, acting like a sparring partner to distill better software.
This is no longer code generation. It’s collaborative design where the machine speaks back, reorients the plan, and codes.
Why Coding Dominates the AI Economy (and Might Be #1)
- Chatbots are everywhere—but “coding” is a singular, massive, coherent use case, not a fragmented set of use types.
- Stack Overflow previously dominated developer troubleshooting. Now, AI delivers:
- Real-time responses
- Context-aware suggestions
- Live implementation with integrated docs
- GitHub Copilot was foundational. Cursor and newer tools expand this by fetching current documentation, integrating ticketing systems, and automating dev ops.
- Why it works:
- Inputs/outputs are clearly defined
- Success is easily testable
- Code maps real-world processes into machine logic
- With 30M developers × $100K productivity each = $3T market, even 15% uplift is worth hundreds of billions.
- Founders now target this space not only because of size, but because it’s legible: devs adopt early and show ROI fast.
Coding is predictable, constrained, and commercially ripe. AI is simply pouring gas on a fire that was already burning.
Inside the Senior Dev Workflow: Code as Specification Refinement
- A developer today starts with a spec—not code—and has the model question that spec.
- The result is a conversational waterfall:
- User: “Build a calendar app that syncs with Google.”
- AI: “What permissions will you need? Will this run on mobile or web?”
- User: “Just web for now.”
- AI: “Do you want to store credentials locally or in cloud?”
- This iterative querying results in a refined spec, clear architectural plan, and even initial setup (e.g., shell scripts, project structure).
- Advanced agents now handle:
- Type inference (e.g., TypeScript guessing function types)
- UI generation from design mockups
- Command execution (e.g., installing dependencies, running tests)
- Developers still guide intent and resolve ambiguity—but they increasingly offload execution to AI.
The engineer is no longer a typist. They’re an architect, delegating to a conversationally competent agent.
Vibe Coding: From Zero to App Without Code Knowledge
- Vibe coding refers to the act of building software from natural language prompts—no syntax mastery required.
- A Saturday night coder might type: “Build me a budgeting tool that tracks grocery expenses in a pie chart.”
- Cursor or Lovable can:
- Scaffold the project
- Import visualization libraries
- Render a UI with dummy data
- Ask for clarification (“Should we use localStorage?”)
- Vibe coders care about output—not implementation:
- They don’t specify OOP vs functional
- They don’t know (or need to know) what Redux is
- They want the thing to work—not be scalable or efficient
- Many are designers, marketers, or just curious creators. Their influence is growing.
- One dev noted: “It’s like blogging in the 2000s. Everyone wants their own app now.”
Vibe coding lowers the floor of who can build—but also raises the ceiling for casual experimentation.
Chaotic Systems and the New Software Uncertainty
- Traditional programming is deterministic: same input → same output.
- AI systems—especially LLMs—are chaotic:
- Tiny changes in prompt yield major output shifts
- Hallucinated functions appear confidently
- Recovery from errors isn’t graceful—it gets weirder
- Temperature 0 does not guarantee safety—it guarantees consistency, not correctness.
- Example: A developer gives Cursor a prompt to integrate Stripe, but the model picks deprecated endpoints confidently.
- Enterprises are changing risk metrics. A major bank now accepts LM-generated text if it's no worse than a trained human.
- AI requires:
- Prompt design as system architecture
- Output auditing
- Safety railings for sensitive domains (e.g., finance, legal, healthcare)
AI introduces failure modes more like networking: flaky, variable, and sometimes impossible to fully control.
Legacy Code Meets AI: Migration with Memory Loss
- Banks have been trying to escape COBOL for decades. AI can transpile—but can’t recreate intent.
- A workaround? Use AI to create specs from legacy code, then reimplement modern versions from scratch.
- Enterprises report better outcomes by:
- Extracting behavioral specs
- Rewriting in modern paradigms
- Using models to prototype replacement layers
- The real value isn’t translation. It’s recovery—documenting long-lost rationale embedded in ancient syntax.
AI won’t revive old code. But it will help us forget it—by giving us a clean way forward.
Prompting: The New Narrow Waist of the Stack
- Databases had SQL. Web apps had REST. AI has… prompts.
- Prompting is evolving into a de facto language:
- JSON mode
- System vs user roles
- Output guards
- Schema enforcement
- We now have dialects:
- OpenAI-style JSON prompting
- Anthropic’s “think step-by-step” chain-of-thought
- Google’s Gemini-style context tags
- Cursor and others support structured prompting via YAML-like interfaces, defining agents, tools, and functions.
Prompting isn’t just communication. It’s becoming an API—a programmable, patternable interface.
Rethinking Computer Science for the Agentic Era
- Will devs still need to learn to code?
- Yes—but perhaps less about syntax, more about architecture and abstraction
- Think Excel vs accounting: spreadsheet literacy replaced ledger calculation, not financial thinking
- Students must learn:
- How to write specs
- How to audit model outputs
- How to compose systems across unreliable agents
- Core CS isn’t dying—it’s changing focus:
- From loop unrolling to tool orchestration
- From sorting algorithms to data stream design
- From OOP debates to prompt composition patterns
We’re not killing computer science. We’re upgrading it to a new runtime.
Closing Thoughts
Software is being rewritten—not just in code, but in who codes and how. AI isn’t replacing developers. It’s reshaping the work into higher-order creativity: thinking, planning, verifying. And inviting millions of new creators in.