Back to blog
7 min read

Programming was always just button pushing

Yesterday I took the opportunity while waiting on my weekly Codex usage limit to reset to do a little manual coding. Yes, raw dog, totally caveman style, l...

Written by

Lucas Weaver, founder of Wordflows AI

Lucas Weaver

Founder of Wordflows AI.

Yesterday I took the opportunity while waiting on my weekly Codex usage limit to reset to do a little manual coding.

Yes, raw-dog, totally caveman style, looking up code on StackOverflow, copy and pasting UI components from TailwindUI, and asking ChatGPT in browser why my terminal commands are broken.

It reminded me of a harsh reality that seems to almost have been totally forgotten by those discussing the AI vs. pure human coding debate:

Computer programming has always just been pushing buttons.

We type into a computer, and the code we type either works or doesn't.

And we sometimes spend countless hours pouring over code looking for one comma or semicolon that's in the wrong place causing 10x level destruction.

If you just look at the reduction of raw effort that's needed now to produce code, it would have been a dream scenario to most programmers just 4 years ago.

Yet programmers, especially talented, experienced programmers, don't all feel they're living in a dream scenario.

So where is the disconnect? And is the problem really 'AI' in this equation?

I think the problem is less in the 'AI' and more in the 'Agentic' side of the operation.

Consider it from the perspective of writing a blog post.

My original writing workflow with ChatGPT back in the day was:

  1. Give ChatGPT the topic and ask it to write an outline for the post
  2. Prompt it section by section of the outline to 'write a section of a blog post' for that outline section.
  3. Edit each section to sound like me and make sure it was saying something I could stand behind
  4. Work on the transitions between each section and then the overall flow of the entire piece

So by the time I got to the end of a blog post, I still felt like I had basically written it. ChatGPT had given me the bones and the structure, and a few tendons and ligaments here and there.

But I usually provided most of the meat. The good stuff people would actually want to read.

I gave it insights from real human experience, original thought, and ideas to think about for when you finish reading.

But imagine what that looks like in the age of the 'fully Agentic writer'...

As the models advance and the tools get easier to use, we expect to just say "Write a post about XYZ." and then have a publish-ready post we can just export to Wordpress.

Okay yes, that's what I built with Wordflows AI... but, is that always the optimum experience?

If we're writing from a place of real purpose, that won't be the best option.

Can you imagine George R.R. Martin, with all his sprawling and interconnected plotlines, scheming characters, and hidden easter eggs, just letting Opus 4.7 write an entire chapter of one of his books?

It would probably sound similar to him, probably be entertaining to read, but there's no way you could get that level of interconnectedness without some advanced engineering behind the scenes.

But coming back to the coding domain... Code is not Fiction writing.

You wouldn't imagine most programmers caring if their code has 'soul'.

Surely they would be happy to just click a few buttons and just come back in 5 minutes and the full feature is finished?

Right? I mean after all, we've always been button pushers anyway.

Copy/pasting, typing mt-4 instead of mt-5, or .desc() don't exactly feel 'soulful'.

But this is what I think more and more programmers are realizing:

There was more going on in the process than just button pushing.

Somewhere in that process, in your subconscious, you're mind is doing much more than you gave it credit before.

It's updating its roadmap, it's context of connection between other features, it's understanding of the patterns you're using, and your comfort level and judgment of the efficacy of those patterns you've used and are subconsciously switching to.

Dare I say it, there's actually some soul in a good programmers work.

And even more important than soul, there's this understanding and continuity between features and files where a programmer can realize when something about an architecture is feeling off and maybe needs to be reworked, before they get too far and have to overhaul the whole thing.

But this is currently getting lost in the process of AI programming in the fully Agentic flow.

Tools like Claude Code have kind of taken us past the point we where at even just 6 months ago where we'd watch the agent make the code changes, understand them, and reject them when we noticed something off.

Or even the ability to think through the code changes as they're happening.

We're losing all of that with the shift towards the 100% vibe coding route the Agentic tools are taking.

Part of this was caused by the rapid development of code quality that came from models like Opus 4.6.

When it first came out, it was producing such high-quality code for most users that we simply just got comfortable letting it do whatever it wanted.

The thought was 'Hey, we're basically all vibe coders now, let's not be dinosaurs and try to resist it.'

But then Opus 4.6 got secretly nerfed or swarmed by demand, whatever you want to believe, and got much worse, but we didn't all catch it at first.

The result? A bunch of code we thought was really good but then when we had to circle back to it had lots more problems than we knew.

Some features that had been implemented in bare bones ways, with minimal architecture underneath, while the surface level looked like we had everything we needed.

I had an interesting moment of timing where my card attached to my Claude account was frozen so my subscription didn't renew, and I had this free trial offer hovering in my ChatGPT account for months trying to get me to try Plus there.

So I decided to give Codex a try and see if I could save $107 this month.

The results were surprising.

Codex was slower, but it seemed to be more thoughtful, and it kept me involved in the coding process more (via attention, not actual coding).

For someone like me, ADHD and switching between projects faster than James Harden switches basketball teams, it actually turned out to be a bit of a blessing.

It forced me to slow down and see and confront some of the silent technical debt Claude Code had been building right under my nose.

I know I bear most of the responsibility for this, but I also put a lot on Claude Code's rapid pace and UX.

Especially with the advent of the "Bypass Permissions", I had just been letting that bad boy go. When Opus 4.6 was first released, it was usually so good, I just got too comfortable with letting it do its own thing and thinking I was catching its important mistakes when it made them.

I was wrong. While I had stopped carefully inspecting what it was doing, it was doing half-baked tasks, telling me it was doing the whole thing, and acting like I was never going to check it or actually use the code in production.

When I got to trying Codex, I spent the first 3 days cleaning up bad code and poor architecture that I had overseen with Claude.

But that experience brought me back into the art of programming. The fun of responsibly building a reliable piece of software and knowing how it works.

I don't want to sound like an idealistic hypocrite though... I'll be resuming my Claude Code subscription soon.

But what I'm hoping I'll do this time is take it slower and be much more intentional and deliberate about the changes we make together.

I'm hoping this time my button pushing will lead to better products, released faster, that I'm more proud to ship.

In a way, I'm hoping I don't lose my soul again.

I hope I build products with passion and purpose.

I think that's where the technology will eventually come to meet developers again.

Somewhere in some kind of happy medium between the way Cursor used to work when it first came out, and how Claude Code works now.

A way to turn thought to code without all the typing, but in the way each developer actually writes functions.

Product Managers, Entrepreneurs, side-hustlers, they'll all be able to vibe code freely as they wish. But real programmers, their souls need to be preserved.

Because those people are capable of creating some truly incredible things, and that's a part of the modern world we need to preserve.

Lucas Weaver, founder of Wordflows AI

About the author

Lucas Weaver

Lucas founded Wordflows AI after more than a decade in digital marketing and product leadership. He writes about making AI content more contextual, portable, and unmistakably human.