Being enthusiastic is worth 25 IQ points. - Kevin Kelly

I remember how this quote resonated with me the moment I read it. It felt like this truth that I knew but never really thought about or put into words… not until I read that qoute anyways.

I have observed this in my own life. It is extremely applicable to me and how I think and work. At school I excelled at topics that I found interesting because I had so much enthusiasm for them. Physics, English, and Computer Science were my absolute favourite for their utility in life. Every start of the school year we would get the new books and within a week I would have already finished reading through the Computer Science and English books (Physics took a bit more time and I was more interested in the Electrical Engineering parts not so much the kinetic stuff).

Meanwhile, I absolutely sucked at Math (though getting 86/100 in my calculus class at Uni makes my friends give me a weird look every time I say I’m bad at Math). A combination of a string of bad teachers and my brain’s absolute focus on practical skills made learning trigonometry an absolute hell. And Jesus Christ do not get me started about learning French.

So it is true for me. Being enthusiastic about something activates some part of my brain that unlocks this hyper focused mode that lets me come up with better and better solutions to those problems. Iterating on them repeatedly until my OCD is satisfied while keeping some semblance of balance with my practical/pragmatic side too.

There’s no other way to explain my ability to sit in front of my computer for nearly 16 hours (with toilet and food breaks of course) in one day trying to fix a bug related to JSON serialization and AoT compilation… or spending hours reverse engineering the IR signals of an AC unit’s remote controller.

Is this a 25 point increase in IQ? I don’t know. Would there be a difference in what a person scores on an IQ test if they took it once while being enthusiastic about it and a second time while being forced to? Maybe.

IQ points here don’t really matter though. The qoute above talks about IQ points but I think it’s more to make a point than to be an absolute truth.

What I mean is that having someone work on something they are enthusiastic about makes them produce a much higher quality work with a more thoughtful and deliberate design. That’s not necessarily because they suddenly got a 25-point IQ increase. It’s because they care.

When I interview candidates for software engineering positions I always look for any indication/signal that the person in front of me actually cares about the craft of software engineering. The way they talk about it alone can be a strong signal. Engaging in recreational programming is another (though not mandatory considering not everyone has the free time for that). Having deep-cut knowledge about their programming language of choice or even simply having a hot take about something and dying on that hill arguing for/against it during the interview.

I believe a person like that, provided they are also humble and can function within a team, will always deliver a much higher quality work compared to someone who is in this profession just to make money.

It is these people that care and are enthusiastic about this profession that are being hurt by the snake oil being sold nowadays: LLMs as replacement for programmers.

Programmers are builders by nature. We enjoy thinking about a problem and sketching out a solution for it. But we absolutely love being able to sit down and write the code that tells the machine precisely how the problem is to be solved. We love making the hundreds of decisions and compromises as we write that code. All being informed by what we know of the problem domain and our personal experiences. Then running the code to test and validate it. Fix problems with it. Rinse and repeat until everything works.

This is the part of programming we live for. And it is this part that is being forcefully removed in the name of imaginary efficiency gains sold to the non-technical executives on Linked-In.

The ask nowadays is that software engineers should solve every possible problem ahead of time and write those solutions down in detail in a markdown file that is later fed to an LLM wrapped in a glorified parser that knows how to make RPCs. This is of course ridiculous. No one knows exactly what problems they will run into before they start. Part of programming is trial and error. It is why I care about making sure my projects are quick to start so that the development loop is as fast as possible. I need to be able to throw in some code, run the project quickly to observe the behavior, then shut it down and move to the next step.

Now, one could argue that using LLMs with agents solves this problem. Agents allows a developer to experiment quickly. It is a compelling argument and one that could work for limited and small-scale problem domains. But it removes the last remaining bits of joy from programming.

A professional software engineer’s day is not just sitting in front of a computer and an IDE typing away. Usually, our calendars are full of meetings and discussions. Any chance we get to code is a reprieve from that punishment we suffer for being good at what we do.

So if agentic coding leaves me dealing only with those meetings, what joy is left for me? And by extension, what quality is to be expected of me?

The trend nowadays is that an “AI-powered software engineer” should follow the 10/80/10 rule. The first 10% is planning by the engineer, 80% for the agent to implement/execute, and the final 10% is the engineer to review the work.

So essentially: write long markdown files where you think of every possible detail, problem, solution, etc… then wait for a language model to hopefully do it write, then finally read through all the code and either go back and adjust the plan or approve the output.

Rinse and repeat. And this is fucking horrible. So now, my day is: meeting, meeting, meeting, write plain English in markdown, meeting while waiting for the agent, review code, update the plan, review code, …. , review other people’s LLM slop…

… review other people’s LLM slop.. Oh dear mother of god help us all.

An “engineer” now can spit out pull requests spanning hundreds if not thousands of lines of code in a matter of minutes. Yay!! Efficiency!! Now another engineer must sit down and read through this slop, build a mental model of it all, then figure out if the code itself is prod-ready, and if it will affect existing or upcoming features. By the time this review is done, 5 more PRs are in the queue for this poor engineer. The cognitive load they will be under is borderline harmful.

Now they are the blocker. Now they are getting pressured to approve things quicker so the team doesn’t lose on this fake efficiency. They get told to use an agent to “assist” with the review.

After some time, this engineer will stop giving a shit. Not deliberately. They will simply get mentally tired and things will start to slip through those cracks. And bit by bit those cracks will grow and the kind of problems slipping through will grow too.

What a shitty situation.

Needless to say this is all going to tank whatever output quality these companies had. This is going to be gradual and slow until one day it all comes crashing down in the most embarrassing way. The question inside those companies will be along the lines of “how did we get to this point?” and the answer they wouldn’t want to hear is: “It’s your fucking fault. Your stupid hype chasing mentality pushed out all the great engineers that gave a shit about their work”.

Despite all of this I am still a professional engineer and I have a contract I must fulfil. But I am not going to lie. I can’t wait to see how this all ends.