Back to the blog

How I write code without sight

Nagababu Jannu

“How do you write code if you cannot see the screen?” I get this question often. Sometimes it comes from curiosity. Sometimes from doubt.

How I write code without sight

“How do you write code if you cannot see the screen?”

I get this question often. Sometimes it comes from curiosity. Sometimes from doubt.

The answer is simple, but not easy.

I do not see code.

I experience it through sound, structure, and memory.

I use a screen reader like JAWS or NVDA.

Every single character on the screen is spoken aloud.

Not just words. Everything.

Brackets, semicolons, indentation, even spaces if needed.

Over time, you stop “hearing noise” and start recognizing patterns.

A well-written function has a flow.

A broken piece of code sounds different.

Reading code

I do not scan code visually. I navigate it.

Line by line

Word by word

Character by character when needed

I use keyboard shortcuts to:

Jump between methods

Move across classes

Search for variables or functions instantly

Indentation is not visual for me.

It is structure in sound.

Nested blocks feel like depth.

Flat code feels like surface.

I build a complete mental map of the codebase.

Writing code

When I write code, it is deliberate.

I type everything using the keyboard

I listen to each line immediately

I verify syntax as I go

Auto-completion helps, but I do not depend on it blindly.

I confirm everything through the screen reader.

Because of this, I rarely write “accidental code”.

Every line is intentional.

Debugging code

Debugging is where things get interesting.

I do not look for red highlights or visual cues.

Instead, I:

Read stack traces line by line

Navigate directly to error locations

Replay logic in my head

I use logs extensively.

Logs are my “eyes”.

A good log tells me:

What happened

Where it happened

Why it happened

I also use breakpoints and step through execution.

The screen reader reads variable values as they change.

I follow the program like a story unfolding.

If something breaks, I do not just fix it.

I understand the entire path that led to it.

What this changed in me

Working this way forces a different kind of thinking.

You cannot rely on visual shortcuts

You cannot skim and guess

You must understand deeply

It builds:

Clarity

Precision

System-level thinking

I do not just write code.

I understand how systems behave.

And that has made all the difference in my journey.

This is one part of my story captured in The Unseen Path.

Kindle (Global):

My website for other formats and India print:

If this resonates with you, I would truly appreciate your honest feedback and review.