For better or worse I think I have become an AI-first coder. All my life, I’ve felt I’m just an OK coder but fairly good about understanding how to structure a program to achieve the desired outcome. I’ve always struggled with the details of writing enough testing and creating test cases that are relevant to the maintenance of the app. I’ve struggled with getting enough requirements before I start a task and jumping in too quickly before all the unknowns are defined.
I’ve always struggled with the kind of brain-teasing compound problems they create in Hacker Rank and those “brain teaser” style coding tests, primarily due to the amount of time those tests espouse.
Then there’s the other problem… I’m slow. It always takes me longer than everyone else to arrive at the same code decisions. I’m not sure why and if I knew how, I’d fix it.
The advent of Claude Code has radically changed the way I approach coding problems. Asking AI to write detail problem schematics, implementation options, and a testing plan before starting a Jira ticket has radically improved the code I write and the code I check in. Not because the agent produces pristine code. Hardly.
But because of method. Programming is not just the syntax of the code. Programming is solving the right problem, identifying problems in what was written and understanding the execution path through a labyrinth of classes and functions.
Most of the work that done every day isn’t really “green field” development or rather, development that produces a new app or new code that didn’t previously exist. Most of the daily work of a programmer is boring debugging of an app you didn’t write and many times, don’t maintain.
It’s six different scalable processes that fight for database contention and how that fight is resolved. It’s deciding how to best represent this data in the database so that it can be retrieved by people who need it. Programming is asking questions like “Does this code need to be its own thing, a supporting utility class or a micro service that supports this primary app using some sort of remote-call methodology?” Is the delay that adding a micro service entails going to be something the user and stakeholders are ok with?
None of these are the decisions that AI can make. And letting AI take them over makes for very unstable codebase. Giving the code a stable structure and a complete testing plan makes AI code orders of magnitude more stable than it otherwise would be in the same way that adding testing to any code base makes it more stable and less prone to regressions.
In addition, AI makes tasks like documenting your code and producing QA edge cases stupidly easy. But you have to ask it. You have the prompt in your hand. It will do what you want it to. You just have to want the right things.
I got a deeply unsettled feeling writing this post. I wasn’t sure I wanted to write it and if I wrote it I wasn’t sure I wanted to post it here. But as I was recently reminded, I DESERVE SUNSHINE. I want the light to hit my face so I’m coming out of the AI closet.
I share your concern with AI generated content. It’s every bit as insidious as the “Fake news” stuff that circulates in people that share political and sarcastic memes. I don’t participate in it and I think it deserves every bit the slop reputation it’s developed.
But code created with intention, method and testing support is something I will always try to produce. So with that desire firmly in the front windshield, I guess I’m ready to tell the world.
I’m an AI-first coder. And I’m becoming ok with that.
Heaven endures; the earth stands fast.
Their secret: they ask nothing to last.
They live not for self, so never fade;
Their strength a selfless surrender displayed.
The sage puts himself last; so stands in the lead,
Observes without grasping, content to concede.
By tending to others, his needs disappear.
In serving the world, fulfillment draws near.
⸻
Water is good, humble, profound.
Nourishing all, chooses lowest of ground.
It rests where none seek it, refusing to boast;
Yielding, it follows the Tao most close.
At home, dwell close to the land you find.
In thought, go deep into heart and mind.
With others, be gentle, in speech remain true.
Be fair in your dealings, let justice shine through.
Act at the right time, without haste or ado.
Live with the Tao in all that you do.
Move with the current,
Don’t fight the flow,
Learn when to act and when to let go.
Learn when to act and when to let go.
Learn when to act and when to let go.
Heaven and earth are impartial, unmoved by the throng,
All things to them like straw dogs belong.
The sage, too, is steady—no special affection shown,
Bestows his gifts freely, claims none as his own.
Between earth and sky, an emptiness swells—
A bellows that breathes and forever dispels.
The more it is used, the more it bestows;
In stillness and center, true wisdom grows.
⸻
The spirit eternal, the deep and unseen,
Is the mystery called the feminine queen.
She shapes the whole world but remains undefiled,
Her essence unchanged, both mother and child.
The gateway she opens is the root of all birth—
Her whisper resounds through heaven and earth.
Invisible, ageless, her presence extends—
Guiding all beings to where wholeness begins.
Prize status and envy takes root,
Treasure possessions and theft is acute.
Show off desire, and restless hearts stir
Hide what’s alluring, let calmness occur.
The sage leads by clearing the mind and the chest,
By tempering wants and letting bones rest.
Act without striving, let actions release,
And in gentle stillness, all settles in peace.
⸻
The Tao is a vessel—empty, yet filled,
Bottomless well, from which all is distilled.
Edges are softened, the tangled undone,
The glare of the sun by the cloud is outshone.
Invisible, constant, it’s hidden from sight
I know not its source nor who gave it light.
Older than gods, and yet ever new
The ancestor’s breath that all things renew
Speak it aloud, and it slips from your grasp
The Tao’s true nature none can clasp.
Nameless, yet endless forms appear,
The Source of the Tao, forever unclear
Call it not, and it is the wellspring of being.
Call it forth, and it weaves the world into seeing.
Unspoken, it births all that ever can be—
Named, it mothers infinity.
Desireless, it comes unbid,
Desiring, sees all things hid.
The mystery opens, silent and wide
Through its threshold, wisdom will guide.
We know beauty, for ugliness walks by its side,
And understand good where evil resides.
Being and nothing in endless parade
Hard becomes easy as striving fades
Long always starts as the shortest of days
Shadow lives astride light’s golden haze
So the sage moves gently in paradox and grace,
Acts without striving, leaving no trace.
He teaches in silence, gives without claim
Lets things unfold, unburdened by fame.
Labor content tho no price won
Finished, his self undone
The work endures tho he be gone.
I’m doing some housecleaning. I’ve neglected this site for far too long and I’m going to start updating it again.