Less hands, more brain

2026/02/27

Recently, I started a new project.

Nothing absurdly complex. Not a moonshot. Just a real project with real deadlines, real expectations, and a team that needs things to work.

At first sight, it was a greenfield initiative, “from zero.” But if we are honest, almost nothing in software is truly from zero. We had references from other projects, existing patterns, hard lessons from previous mistakes, and a company context that should not be ignored.

Still, it was day zero for this codebase.

And because I was leading the front of the project, I made a decision that felt small in the beginning but changed everything after: start AI-first, but with discipline.

Not AI-first as hype. Not AI-first as laziness. AI-first as engineering method.

Old habits, new game

Most of us learned to measure engineering value with our hands on the keyboard.

Fast typing. Big diffs. Long coding sessions. Late nights fixing details only we understand.

There is pride in that. And I get it.

But that pride also creates a blind spot: we confuse effort with leverage.

If I spend ten hours writing everything manually, did I create more value than someone who spent two hours structuring the problem, documenting constraints, generating 80% of the implementation through AI, and using the saved time to improve architecture, tests, and delivery quality?

For years, the answer in many teams was emotional, not technical.

“Real devs code.” “Real devs don’t need assistance.” “If you don’t write it by hand, you don’t own it.”

I used to carry pieces of this mindset too.

Then this project started.

Before coding, we aligned meaning

Instead of opening the editor and immediately creating components, I opened markdown files.

Yes, markdown.

I wrote clear .md documents that explained:

It felt slow for a few hours.

Then it started feeling like power.

Because AI does not need only prompts. It needs context. It needs constraints. It needs explicit rules. Without this, it gives you average output fast. With this, it can give you high-quality output repeatedly.

The quality jump was immediate.

Best practices from the start

We included checks from day one:

This changed team behavior without speeches.

When the system enforces quality, people stop negotiating quality in every PR. When repetitive checks are automated, humans can spend time on decisions that actually require judgment.

AI code review became useful because it was not floating in chaos. It was anchored in documented standards and a stable pipeline.

Feedback loops with senior frontend engineers

Every iteration brought feedback from senior frontend teammates.

And this is where many AI-first efforts fail: people keep feedback in chat memory and never encode it.

We did the opposite.

Each relevant feedback loop became documentation updates. Each update refined the contract between our team and the AI workflow.

So the docs were not static “project museum” files. They were living operating instructions.

That means when standards changed, the AI changed with us. When we aligned on new conventions, implementation behavior followed. When we discovered weak spots, we patched the process, not just the latest file.

Over time, this compounding effect became visible: less friction, less ambiguity, faster delivery.

Architecture hierarchy made explicit

One of the best outcomes was defining component hierarchy clearly:

Design system > Tailwind > MUI > custom components

Before this kind of hierarchy is explicit, teams waste energy in invisible arguments:

With a clear stack order, decisions become faster and more coherent.

The AI also stops improvising random styling paths because the priority rules are written.

Again: language first, code second.

Repetitive tasks stopped stealing attention

We also automated what should be automated:

None of this is glamorous.

But software quality is usually won in the boring layers.

A lot of technical debt is not caused by lack of intelligence. It is caused by repeated manual friction that wears people down.

When the process carries these burdens, the team preserves energy for real engineering.

The strange part: I barely opened the code editor

Now comes the line that would sound absurd not long ago:

I have gone for more than two weeks without opening a code editor to program directly, except for small punctual adjustments.

No, I did not stop working. No, I did not become a “prompt influencer.” No, quality did not collapse.

What changed was where my attention lived.

Instead of spending most of my time typing implementation details, I spent most of my time on:

The code kept shipping continuously.

This is the part that creates discomfort in our profession.

Because many of our old identity markers were attached to visible manual output. If output can be produced with less manual effort, we are forced to ask a harder question:

Where is your real value as an engineer?

AI does things does not mean “without responsibility”

Let me be clear: AI-first is not an excuse to abandon responsibility.

If anything, responsibility grows.

You need stronger review skills. You need sharper architecture judgment. You need better requirement writing. You need to detect subtle bad assumptions. You need to identify when generated code is “plausible” but wrong.

Typing less is not thinking less. Typing less can demand thinking more.

The difference is that your thinking is invested at a higher level of leverage.

The two reactions I keep seeing

When I share this workflow, I usually see two reactions.

First, rejection.

“This is not real engineering.” “AI code is low quality.” “I trust only what I write manually.”

Second, excitement.

“How can we reproduce this?” “What docs did you create first?” “How did you keep quality while moving fast?”

Both reactions are understandable.

But only one reaction prepares you for what is already happening.

The game changed.

Not tomorrow. Now.

What actually worked in practice

If I had to summarize the practical outcomes of this initial effort, they are simple and concrete:

This is not theory from a conference slide. This is just what happened in a normal project under normal pressure.

So what now?

I think we need to review many of our concepts, and many of our prejudices.

Not every old habit should be discarded. Not every new trend should be embraced.

But refusing to adapt because adaptation hurts our professional ego is a dangerous strategy.

The market does not reward nostalgia. Teams under delivery pressure do not reward ritual. Users do not reward how much manual typing happened behind the scenes.

They reward results: quality, speed, reliability, and clarity.

If AI-first helps us get there more consistently, then this is not a philosophical debate anymore. It is an operational decision.

Final note

You can ignore AI. You can delay learning. You can keep shipping the old way for some time.

But you cannot ignore the consequences.

And maybe this is the real shift:

The future of software development might not belong to the developers with faster hands.

It may belong to the developers who can build better systems, for people and for AI, and still take full ownership of what gets shipped.