β€’

tech

Keep up the pace with AI

You probably cannot write code as fast as AI. But you don't have to. Even if you are not typing every word, it's still your job to ensure a working final product. And there are a few strategies you can use.


Sandro Maglione

Sandro Maglione

Software

I (we?) am at a point where almost every line of code comes from AI πŸ€–

This leads to a critical shift for software engineers, more and more imminent: your expertise changes from code "producer" to "orchestrator".

Less writing and more reading. Less details, more board architecture. Less defining the solution, and more defining the problem πŸ—οΈ

Let's see how in practice πŸ‘‡


What needs solving?

The bottleneck used to be implementing a solution. Now it's coming up with the right problem.

When implementation is fast, the real issue is defining the correct feature to implement πŸ™Œ

Iteration speed is getting extreme. Let me give you a personal example.

I am working on an app (private for now): full stack effect, xstate, Cloudflare workers, Durable Objects, AI. Not a toy app anymore.

In the last 2 months all the iteration was about what features to build, not how πŸ€”

Like this: think of a concept (research with AI), define the features, write TODOs. Then launch AI agents and let them build, fast, all in less than 1 day.

Then push to users, get feedback, define new iteration, and repeat.

This loops in repeat. Notice how writing the code is just a small chore πŸ™Œ

Two building blocks unlock this iteration speed:

  1. Solid architecture, patterns, type safety and automatic checks
  2. Software engineering expertise

Type safety matters, even more than before

The first "secret" is code architecture.

The number one concern: Strict Type Safety πŸ”’

The AI cannot mess up if the type system does not allow it.

Unless it skips checks with wrong patterns like as any. And that's where the second piece enters the game:

Number two concern: Strict type checks and linting πŸ”’

A linting steps stops any slop to reach production. Even if the AI can bypass tsc, another lint step awaits. And eventually, if needed, test.

One more: controlling the code πŸ‘‡

You cannot control what you don't understand

After years of coding, you get to a point where you saw most of everything.

Database of all kinds, web APIs, auth, storage, http requests pitfalls. And more.

At this level, you generally have an idea of how something ought to be implemented πŸ€”

This unlocks super fast AI speed:

  • I know how to describe the solution in technical details
  • I know the codebase and which files to reference for the AI
  • I know which files should be updated, and which not
  • I know at a glance what patterns are fine and which not

When I launch an agent, I immediately see by its thinking logs if something is off, and I can interject immediately.

Then, when the feature is build, I know how to quickly review the patterns (not the details).

AI tend to copy patterns in the codebase, or create ones if nothing is found (bad ones usually) πŸ™Œ

My role is now to keep a strict check on correct patterns, and make sure the AI follows them. Or steer the wheel when a new bad pattern creeps in.


In summary: understanding the code still matters. And the better you are at it, the faster you can move, without breaking things.

If anything, being able to read and understand code, fast, will be the next big engineering skill.


Some work going on behind the scenes, in my plan to make all more type safe:

See you next πŸ‘‹

Start here.

Every week I dive headfirst into a topic, uncovering every hidden nook and shadow, to deliver you the most interesting insights

Not convinced? Well, let me tell you more about it