I can’t speak to physical blindness, but I have aphantasia[0] which basically means I cannot voluntarily invoke my minds eye. Up until I found out about it last year, I thought that “visualizing” things was a metaphor for thinking, as I didn’t realize people could actually see things without looking at them.
There are varying degrees of aphantasia. For context, I am completely unable to “see” anything in my mind. I do not dream either. If I close my eyes and think of something, nothing happens visually, though I can more easily remember things about whatever it is. I would describe it more as complete emptiness, instead of darkness (as darkness implies there is something there at all). I have been like this since I was born.
One thing that stood out to me in GPs comment was that programmers tend to visualize code to reason about it. I asked a bunch of my friends after finding out my minds eye is blind and they all said they do it at least sometimes, some of them do it constantly.
I obviously don’t, but I can say that I have a very good memory (in general, but also for code), and often find myself capable of context switching between related bits of code faster than many of my peers. I rarely reach for a diagram for explanation, however I do use them very regularly for documentation and explaining designs because I find other people seem to be able to process that format better.
I don’t know if my aphantasia contributes to any of this, these are just things I’ve noticed I’m good at. One thing I am terrible at, however, is design.
[0] https://en.m.wikipedia.org/wiki/Aphantasia