You possibly have aphantasia (https://aphantasia.com/study/vviq/). I certainly do, and visualize nothing while programming. I often have to sketch block diagrams on paper to give me a foundation.
Motion is separated from shapes and structure and objects changing place very early in visual processing, and it's kind of a sense of its own.
edit: here's the article that prompted me to reflect on this https://nrkbeta.no/2018/01/01/this-is-what-the-year-actually...
If I recall correctly an example he gives is looking at a math problem. Looking at 2+2 as an adult you instinctively know it to be 4. As a child you may have had to count on your fingers or write out the problem until the abstraction of numbers was solidified for you, and now it is just a black box that your unconscious has added to a "tool belt" of sorts.
For me I would describe the process of learning/problem solving as my conscious mind navigating some solution/problem space and figuring out the general shape of it. Once I have figured out the shape of the problem, the answer either:
1. Immediately looks like the shape of another, solved problem. In which case I just use that solution.
2. Is not immediately apparent.
In the case of #2 I just play around with different strategies that mostly don't work, but it helps me build a mental model of the problem. Then I wake up in the middle of the night with a solution, or figure it out while I am showering/eating/driving/etc.
[1] https://en.wikipedia.org/wiki/The_Origin_of_Consciousness_in...
Something else I learned is that mental imagery[1] isn’t limited to just visual experiences. As a musician, I use it to hear intervals, hear the strong beat, hear chords, different timber / sound textures etc. You can also "visualize" smells, physical sensations, and more. I clearly see it as a skill that improves with time and effort.
One nice trick is being able to visualize conversations, dialogues, interviews etc. I believe it dramatically helped me overcome stress in those situations, as well as in performance.
Here is the link: https://www.coursera.org/learn/learning-how-to-learn/
I have number form so when I was young and originally read this I thought it was pretty neat. But as evidenced in the rest of this thread, it’s an absolutely crazy practice since the majority of great programmers don’t have it. And I assume it’d be illegal these days anyway.