For decades, the act of creating software was exactly that: writing. It was a distinctly left-brained, agonizingly precise discipline.
Programmers were typists of logic, translating human intent into a rigid, unforgiving syntax that a machine could understand. A single misplaced semicolon, an unclosed bracket, or a misspelled variable could bring an entire system crashing down.
Building software meant placing one brick after another, working meticulously from the ground up.
In this traditional paradigm, coders were the ultimate embodiment of Annie Dillardโs writer. As she noted in The Writing Life, โWritersโฆ work from left to right. The discardable chapters are on the left.โ
When you wrote code, your mistakes, your refactoring, and your discarded logic were all part of a linear, grueling journey. If a feature didnโt work, you had to physically wade back into the text, debugging, reading line by line, and rewriting the narrative of the application. The discarded chapters were the endless hours spent wrestling with a single broken dependency.
But recently, a profound paradigm shift has quietly taken over our screens. We are transitioning out of the era of writing software and into the era of โvibe coding.โ
Vibe coding fundamentally changes our relationship with the machine. With the rise of advanced AI coding assistants, we are no longer placing the bricks ourselves; we have become the architects and the creative directors. You donโt write the loop or manually construct the database query. Instead, you describe the feeling, the function, and the outcome. You tell the AI, โMake this dashboard feel more modern,โ or โThe logic here is too clunky, make it flow faster and handle edge cases gracefully.โ You are coding by intuition. You are steering by the “vibe” of the output rather than the mechanics of the input.
Suddenly, Dillardโs other metaphor takes center stage. In the age of vibe coding, we have become painters.
“A painting covers its tracks. Painters work from the ground up. The latest version of a painting overlays earlier versions, and obliterates them.”
When we vibe code, we ask an AI for a functional prototype, and it gives us a canvas. We look at it, test it, and sense whether it aligns with our vision. If it doesnโt quite hit the mark, we donโt necessarily rewrite the code from scratch. We simply prompt the AI to try again, adding a new layer of instruction. The AI paints a new layer of code directly over the old one. The awkward, underlying iterationsโthe messy attempts at styling, the inefficient logic of the first draftโare obliterated by the newest prompt.
The machine covers our tracks for us. We don’t need to know exactly how the underlying pixels were rearranged or how the syntax was refactored. The final application emerges as a stunning obliteration of its own clumsy past.
As someone who has spent time wrestling with the rigid demands of syntax, there is a strange, quiet grief in letting go of that left-to-right process. There is a deeply earned, tactile satisfaction in building something manually, understanding the precise weight and placement of every line of code. Relinquishing that control can feel like a loss of craftsmanship.
Yet, there is also a breathtaking liberation in this new medium. We are moving from a world of manual construction to a world of artistic curation. The barrier to entry is no longer fluency in a specific, arcane language; it is simply the clarity of your imagination and your ability to articulate your intent.
The next time you sit down to build something digital, notice the shift in your own posture. You no longer have to carry the heavy burden of the writer, agonizing over every word and leaving your discardable chapters on the left. You can step back, look at the whole canvas, and trust your intuition. Let the AI cover the tracks. Embrace the obliteration of the early drafts.
We are all painters now, coaxing the future into existence one brushstroke at a time.
You must be logged in to post a comment.