AI Coding

This is my notes, article backlog, and finding from workign with AI.

why

There are a lot of articles about using AI or how AI will totally destroy everything and change everything. I wanted to try for myself and not write any of the clichés (I already have a bingo card). I started to really dig into the tools myself in the last 3 months and I have some findings that I would like to share.

The basics

There are a few talks and papers that formed my basic understanding of what programming (or engineering) is and I think most of them remain unchanged.

  1. Programming as theory building - the treasure is the ~friends~ mental models we made during the adventure
  2. Simple made easy
  3. https://haskellforall.com/imgs/a-sufficiently-detailed-spec-is-code/comic.jpg

Those are basics and I think they still hold.

What was good

Let’s say vibe coding is when you do not write code and do not care about code quality at all. Let’s say AI assisted coding is when you read (and understand!) all the code.

I have a really good understanding of what I want

Then using an agent is basically a no-brainer. You are usually really quick to determine if the result is correct or not. I would say that (depending on the amount of code written) the time saving here could be about 30%. It will not make you a 10x engineer but still pretty good savings. The hard part here is the really good understanding. You do not get it with an AI agent. The struggle with the codebase and manually working on the problem is necessary (TODO - Articles) so find a time to get your reps in. But there are other types of work where this can happen.

I want a simple tool and do not care about the code

Vibe coding FTW here. If it breaks it only affects me and simple scripts can save you so much time! Go for it.

I do not understand part of the code

And AI helps me to understand it. If it is some weird language construct during CR or some unknown language, this is where AI shines.

I want to explore the codebase

Again, when I want to quickly find how something works, AI can do it more quickly than me using search (yes you can use grep sdkfj=śfojšč*** why not?). But I still verify the findings.

It made me a better code reviewer

Reading more code and the need to understand it made me a better code reviewer. I tried to get better at this discipline for a longer period of time so this might be just a coincidence. You really get your code reading reps in with AI and capturing the intent and looking for potential issues and things that smell is a crucial skill.

Checking my writing

Not writing, but checking my writing is really useful. It is also a great way to spot mistakes and blind spots in the writing. I usually use writing as a tool for thinking (this article is no different) so pointing out gaps is really good.

Code review

For code review I think this could fall in both really good and bad at the same time. It does not have any understanding of the intent so you usually get a bunch of comments that do not really make any sense, but from time to time it saves your ass. So that is a good thing.

Not so good

I really want to understand something or I do not really know what I want

Understanding of the code takes a hit. When you want to really understand something, do not use AI to write your code — struggle, be slow and just force yourself to wrestle with the code. This has two benefits. First of all you will get better at coding and judging the code the machine gives you and also the amount of problems where you have a really good understanding of what you want grows. If I do not know what I want I usually settle with something that looks good but I do not really understand. The speed benefit you still get is either eaten by the reading or (in the worst case) pushing something that does not work as it should.

Writing a DD

Writing is a tool for thinking. Forcing me to read something that AI wrote is rude. Do not do this.

Fancy setups

I tried Superhuman and a few other fancy skill setups and was not impressed. Either I know what I want and simple planning mode is more than enough, or you do not know what you want and you should discover it yourself.

Skills

I feel that usually the skill is something that could be vibe-coded in 30 minutes. I still like a deterministic tool more than an agent. And the tooling for creating small scripts is so good now!

Tooling

I do not use any fancy skills. Use planning mode — the one in CC or Google one is more than enough.

Where next?

I would like to explore more of the tooling. I bet that there will be some good skills I have not discovered yet so exploring more is the direction I would like to take. Agentic testing. The agents might be really useful for testing. But I did not have time to try them yet.

Wana read more?

Just a bunch of articles I found interesing On non determinism and semantics https://isaacvando.com/nondeterminisms-not-the-problem More is not always more https://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/ Interesting first few paragraphs about skills writing https://addyosmani.com/blog/agent-skills/