← All posts

Coding with AI

How I (and others might as well) work as a Software Engineer now

It is undeniable that I code much less now. AI has done most of the “painful” work in Software Development, coding and fathering informations, arguably much more productive than us (precise and fast). A disclaimer is that it is not because we are less capable in logical reasoning, but simply they are machines with much faster computational power and no mental resources to be preserved (for life).

Our work more or less shifts to being an architect, a product owner, a designer, a coordinator, a manager, …

The Question

We claim that we are the ones with more context, broader visions, understand the dynamics and the macros. But what are those things having to do with the deliveries? How are we irreplaceable with those advantages?

The experience

There was a time when I overly relied on AI for doing tasks. I do understand the tickets thoroughly and know how to navigate the agents (at least from the beginning), I “have the context”. A PR is raised, ticking all the ticket’s ACs with nice comments and clean code structure really to be reviewed and applauded. Then the Tech Lead came and put maybe 20 comments, each and every one of them pointed out unforeseen flaws, some were related to minor coding issues, majority were business-related. The funny thing was, those were inferable, and I was supposed to be the one analyzing them. That was the worst PR I had ever created, and not because I did something wrong, it was because I didn’t do anything, at least enough to be considered a Software Engineer. The Tech Lead appeased me saying that I was still new to the team (I had joined by about a month), but deep inside I know it was my fault for being indiscipline, losing competence. It really haunted me.

The Learning

After putting myself back on track, I also learnt one thing that the context itself doesn’t bring us any advantage. The hidden flaws were intersections of different contexts that need us to think through and figure out. The AI itself isn’t good enough (to my observation) to wire business things together and propose a clean solution that harmonizes all. They are trained to think about technical tradeoffs, architectures, optimizations, …

There is also implicit weight (with a scale) for each factor that contributes to a decision. The AI cannot evaluate this, it only gives us the tradeoffs, but the measurement has to be done by us. This is where personal judgement and vision comes in. It is a form of ownership and depicts our persona. AI doesn’t have this style consistently. After all, it is a stateless machine (we try to make it “stateful” with Memories and Skills etc, but those are project specifics, or even environment specifics, and not wide enough to influence all reasonings and actions).

What do we have

We have the ability to reason and depict hidden gaps between multiple contexts that can affect the decision and not just from Computer Science knowledge. We have the ability to evaluate metrics (at least with common sense) that are not quantifiable or not obvious and will require a lot of efforts to derive. We have the persona to influence the shape of the code base in a way that is predictable and consistent, somehow making it easier to maintain as time goes.