My subconscious doesn't like LLMs

By Niraj Zade  |  2025 Jul 16  |  13m read


It is a 1am blog post, so the its flow isn't so great. But if I spend time polishing it, it will never be good enough and I'll end up never publishing it. (I've got way too many blog posts waiting to be polished up to my seemingly unattainable standards)

This is not exactly a mass appeal post. But if you've been programming for a long time, you will exactly understand what I am trying to say. This post is like putting a rather complex feeling into words.

Programming is subconscious

I've been programming for a long time now. And I enjoy it very much.

One of the reasons is that is that I don't program actively/consciously.

When programming seriously, I either have music(usually techno) or a movie playing on a secondary monitor. And in that time I'm in a trance. I genuinely have no idea what I'm doing. The subconscious has taken over. I'm somewhere in limbo. The fingers move on their own. The abstractions emerge on their own. The functions and variables get created on their own. The links between them get created on their own.

I GENUINELY AM NOT PROGRAMMING MYSELF. Something simply takes over. Let's call it the subconscious. After a few hours, it just says "I'm done". And beyond this point, I have to take the day off, because it is not coming back until I sleep. Sometimes it works for a few hours. Sometimes for 12 hours. Depends on the problem and how well it has rested.

All of this has happened subconsciously.

Once it is done, it is my turn - the conscious. I now look at all that was created. I recognize the structure and the links of logic (the subconscious shared it with me). Then I do the janitor work - polishing up variable names. Adding some clarifying comments. Writing adversarial tests. And that's it. The work is usually ready. If some tests fail, I let consciously modify the code and fix up the logic. Once conscious - I simply prettify, correct and sometimes extend the code.

Programming was entirely subconscious.

My responsibilities while being conscious are mostly that of a caretaker:

  • Studying & experimenting a lot so that the subconscious has a knowledge base to internally refer to
  • Getting fluent with the code editing tools (Eg - learning keyboard shortcuts till I develop muscle memory) so that the conscious brain doesn't have to be asked for help with finding something
  • Manage my time properly, so that the subconscious gets the time to rest well

That's all.

I've been though these loops too many times (since childhood). So it is very easy for me to enter into the programming trance. On top of that, did some heavy meditation in 2019-2023 period. As a side effect, entering the trance is quite effortless now.

You can tell when I'm working in the trance - There will be multiple windows open over the 4 workspaces I use across 2 monitors. From outside it looks like I'm switching a lot between workspaces. On the inside, I don't have to actively think about this at all. It all just happens.

I need a lot of ram on my workstation because the subconscious ends up opening a lot of apps and windows that end up eating a lot of ram. The context my subconscious opens up and works with is quite large.

Again - I am not thinking at all. Things are just happening.

How I arrived at this setup

In the early years days, I used to program consciously. Eventually, my projects grew. Soon I realized that my working memory is simply not enough to hold the amount of context I need. Sometime near the age of 16, I realized that when I do things just right - something gets unlocked in the brain that can take over, and it can hold A LOT of context in working memory. Over the years I learnt to offset almost all of my work to it, and just sit back and let it do its thing.

And with time I've learnt that it is the majority of my thinking power. I cannot actively control it.

How AI interferes with this

Programming with AI is very conscious. I simply cannot turn off my brain.

Earlier, my subconscious ruled the land. Now, it has to write out a prompt to the llm. And the llm spits out some code here and there.

Then the subconscious has to:

  • navigate to changes that the LLM did
  • check the changes
  • update my internal map/understanding of code

Sometimes it does things by itself. But most of the time, it has to come out and ask me for help.

In these instances, it says things like:

  • "this feels weird. Something is not right. Take a look at it". This is usually when the LLM's style of programming is not the same as my style of programming.
  • "I know how to do this, I don't know how to communicate it to the LLM". This is usually when the changes are through layers of abstraction. It has found a way to improve on the layers it built before, but the changes are either subtle or way too expansive. Communicating it in words is simply not possible.

The core reason is simple: When the subsconscious works, it is developing the context (map/understanding of the codebase) within the brain. When it encounters an error, and the conscious brain has to look at things, it can simply refer to the map/understanding that's already available.

When working with LLM code, the LLM just writes the code. It doesn't also create the internal map of the code/knowledge in my brain. The subconscious cannot create it fully on its own. Knowledge graph creation in the brain over existing code is almost purely a active brain process. So, the subconscious simply cannot take over until I'm done with this active process.

After the next set of prompts, if things don't work as intended, I have to turn on the active brain again, and again develop the knowledge graph.

Every time the active brain has to come up, it is an interruption. It slows things down. And using the active brain for a very long period of time is quite painful.

So, by bringing the LLM into the loop, I've ended up shelving a majority of my brainpower - shelved my subconscious brain.

This working with AI interrupts my flow of programming way too much. The subconscious and the LLM don't play well together.

Where is this AI useful

One thing I've realized is - for flow, there can be only one entity generating the logic-structure (code). It can either be the subconscious, or it can be the LLM. In my case, the style of both of them are not matching, so the subconscious is coming to me and complaining a lot. It is practically bitching at this point about the code/structure the LLM created.

So, I've been experimenting with changing the partnership. Instead of the (subconscious+me), or (subconscious+llm+me), I've been trying out the (LLM+me). Telling the subconscious to sit back.

I still follow a similar game plan. Earlier, I used to write a requirements document to clarify the outcomes. Then I'd let the subconscious take over and type out the code. Now, I do the same thing with the LLM - write a requirements document to clarify the outcomes, and then give it to the LLM and let it take over.

Once the LLM says it is done, I take over consciously and do the janitorial duties - cleaning up the code etc.

One distinct new responsibility I have to take up consciously is - I have to check up on the quality of abstractions, and make sure they are clean and human friendly. The variable names are usually good. I just have to take care of adversarial tests.

From my active brian's perspective - the LLM and the subconscious are operating in the exact same way. The only difference is that when the subconscious works, it also creates an internal map of the code within my memory, and shares it with me. The LLM doesn't do it, and I have to manually do it with the active brain.

I have to create this internal representation of code in my brain because LLMs currently aren't perfect. So, the code has to be verified. To verify the code, it has to be understood. To understand the code, I have to create an internal representation of it within my brain.

(I am a big proponent of correctness. Without correctness, we lose one of the major reasons of using computers to do things.)

Current opinion

When writing truly critical programs (usually the ones where I am footing the bill of their execution), and when writing programs for fun, I code purely with my brain - subconscious+conscious pair.

For other scenarios, I use LLMs - conscious+LLM agent pair, with some subconscious when I encounter a problem that the LLM agent cannot solve.

I have to study A LOT to give the subconscious a knowledge base to use. Its capability is directly responsible to the quality of knowledge graph I've created for it to use.

If you think about it, this is way too similar to the LLM. It too has to be fed a nice "knowledge graph" to draw from. But I don't trust it because it is not MY subconscious. And I don't definitely enjoy it.

I enjoy programming because of the trance. (which is also the same reason why I enjoy riding bikes over long distances)

I particularly enjoy when the subconscious encounters something hard, stops and tells me to find out more, and it waits while I research and find new info (usually - new algorithms, or new documentation). I simply enjoy using the brain from both sides. It is exhausting and also very fulfilling.

It has been 3 months of using the LLM+conscious combo extensively, and I can clearly see that my internal knowledge graph has degraded by quite a lot. And the strength of my subconscious has also diminished noticeably. It is not just due to the deteriorated knowledge graph. Something has happened to the raw horsepower of the subconscious also. You can call it a decline of problem solving ability. You can call it a decline of capability. I don't really know. But it for sure has been struggling more than I remember.

So that's it. As LLMs grow stronger, and as I use them more instead of the subconscious, the subconscious will be atrophying more and more.

I am sure this will affect me in other areas of life also. Not just in programming. And as my dependence on LLMs increase, this will only grow.

For now, I'm "exercising" every now and then. But I don't see a future where I use LLMs extensively, while also maintaining the capability of the subconscious. There will come a point where the subconscious will feel too incapable in comparison to the LLM, and I'll simply end up letting it waste away. It will be a horrible day, and the start of a very un-fun phase.

Until then, I'm somewhere in the between. Currently enjoying coding until the subconscious+conscious combo is working well.

There will come a time when agent will be correctly doing the programming I need 100% of the time. Once that happens, I'll find something else the for subconscious to be engaged by. Most probably music or some sport.

Until then, I am using the subconscious to maintain a level of capability.

I'll be very happy the day I get a way to bridge the subconscious and the LLM or whatever is generating the code. Neuralink!


Other Articles

© Niraj Zade 2025 - Website, Linkedin
Website was autogenerated on 2025-12-04
Whoever owns storage, owns computing | Silicon is this generation's atomics