☕ Markdown Is Becoming the Language We Use to Build Software
Thoughts on Spec-Driven Development, AI, and the Future of Engineering
Welcome back to Code & Coffee.
Every so often, a technology comes along that doesn’t just change how we build software. It changes where the real engineering happens.
I think AI is one of those moments.
Not because it writes code.
We’ve had code generators for decades.
What’s different is that modern AI can reason over requirements, architecture, documentation, APIs, business rules, and tests simultaneously.
And that has led me to a simple thought that I haven’t been able to shake:
Maybe code is no longer the primary artifact of software engineering.
Maybe the specification is.
The Thought That Started It All
A few months ago, I noticed something interesting about my own workflow.
I wasn’t spending most of my time writing Java anymore.
Or Python.
Or TypeScript.
Instead, I was writing...
Markdown.
Not documentation.
Specifications.
Requirements.
Architecture decisions.
Domain models.
Acceptance criteria.
Plans.
The actual coding part often came afterwards, with the help of AI.
That felt... backwards.
Or perhaps...
It’s actually the new normal.
What If Markdown Is the New Programming Language?
Obviously, Markdown isn’t replacing Java.
Or Python.
Or Javascript.
Or Go.
That’s not what I mean.
What I’m suggesting is something different.
Programming languages describe how software behaves.
Specifications describe what should exist.
As AI becomes better at translating intent into implementation, that “what” becomes increasingly valuable.
Markdown isn’t executing software.
It’s executing ideas.
Through AI.
We Used to Think Like This
For years, software projects looked something like this:
Idea
↓
Architecture
↓
Implementation
↓
Testing
↓
DocumentationNotice what happens?
Documentation is almost always trying to catch up.
Requirements drift.
Architecture diagrams become outdated.
The code becomes the only thing anyone truly trusts.
AI Quietly Changes the Equation
Now imagine something different.
Idea
↓
Specification
↓
Planning
↓
Tasks
↓
Tests
↓
Implementation
↓
Continuous ValidationThe specification isn’t an afterthought anymore.
It’s the first artifact.
Everything else is derived from it.
Including the code.
That’s a profound shift.
Why This Feels Different
When I use AI today, I notice two completely different experiences.
One looks like this:
“Build a billing system.”
Then follows fifteen prompts explaining everything I forgot to mention.
The other starts with a carefully written specification.
Business goals.
Actors.
Rules.
Constraints.
Acceptance criteria.
Performance expectations.
Security.
Only then do I ask AI to implement it.
The second experience feels less like prompting.
It feels like engineering.
AI Doesn’t Need Better Prompts
It Needs Better Context.
That’s the biggest lesson I’ve learned.
Developers spend a lot of time talking about prompt engineering.
I think specification engineering is much more interesting.
A good specification answers questions before they’re asked.
It removes ambiguity.
It becomes a contract.
Not between developers.
Between humans and AI.
We’re Becoming Designers Again
One concern I hear often is:
“Will AI replace software engineers?”
I don’t think so.
But I do think it changes what great engineers spend their time doing.
Instead of manually implementing every detail, we increasingly focus on:
designing systems
understanding domains
defining constraints
thinking about trade-offs
reviewing implementations
ensuring quality
making architectural decisions
Ironically...
AI pushes us toward higher-level engineering.
Not lower.
The Most Important Repository Isn’t /src
Imagine opening a new project in a few years.
Instead of seeing this:
/srcYou see:
/specsInside are files like:
constitution.md
product-spec.md
domain-model.md
security.md
api-spec.md
acceptance-tests.md
tasks.mdEvery AI agent reads them.
Every engineer reviews them.
Every feature begins there.
Every pull request references them.
That repository becomes institutional knowledge.
Not scattered conversations with AI.
Not forgotten documents.
Living specifications.
This Isn’t About Replacing Code
We’ll always need code.
We’ll always need algorithms.
Performance still matters.
Architecture still matters.
Programming languages still matter.
But perhaps they stop being where software starts.
Maybe they become where software finishes.
A Small Prediction
Five years ago, asking an AI to generate production-ready code sounded unrealistic.
Today, many of us do it daily.
So here’s my prediction.
Within the next few years, the first file created in many software projects won’t be:
main.pyor
App.javaor
index.tsIt will be:
product-spec.mdNot because Markdown became executable.
But because intent became executable.
And that may be the biggest shift software engineering has seen since version control.
Coffee Break ☕
I’m curious how your workflow has changed over the past year.
Are you still starting with code?
Or are you already spending more time writing specifications than implementations?
If you’re experimenting with Spec-Driven Development, or even if you disagree with the premise, I’d love to hear your perspective.
The most interesting conversations often start with a simple question.
Maybe this is one of them.
Further Reading
If you’d like to dive deeper into Spec-Driven Development, these resources are worth your time:
Martin Fowler — Exploring GenAI: Spec-Driven Development
https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.htmlGitHub Spec Kit
https://github.com/github/spec-kitSpec Kit Documentation
https://github.com/github/spec-kit/blob/main/spec-driven.mdKiro Documentation
https://kiro.dev/docs/specs/Heeki Park — Using Spec-Driven Development with Claude Code
https://medium.com/@heekiparkCJ Roth — Building an Elite Engineering Culture
https://www.cjroth.com/blog/2026-02-18-building-an-elite-engineering-culture
Thanks for reading Code & Coffee.
If you enjoyed this article, consider subscribing. Every week I share thoughts on AI-assisted software engineering, system architecture, cloud engineering, and the future of how we build software, and not just the tools, but the ideas shaping the next generation of engineering.
About the Author
Wallace Espindola
Senior Software Engineer | Solution Architect | AI Enthusiast
💼 LinkedIn: https://www.linkedin.com/in/wallaceespindola/
💻 GitHub: https://github.com/wallaceespindola
🌐 Website: https://wtechitsolutions.com



