Inside Their Head — A Programmer In Trouble

In the grand scheme of things, he has created a monster inadvertently.

Jeremy Aw
JavaScript in Plain English

--

Tech guy. Programmer. Picture one in your head. What do you think we do?

Expectations

Headphones on, rooted at his desk. Seated, typing away furiously. Click clack click clack fills the room, courtesy of his mechanical keyboard. His eyes constantly switching between his laptop and his external monitor. Some even have two, and wow, you thought you have seen them all — wait till you see the vertical monitors and curved screens. A quiet force of coding prowess.

Well, that’s not wrong. That visual image is pretty accurate except for the part where the programmer types away furiously. Throw away that expectation of us. You see, that only happens when we get into our zone.

The Zone

It’s this mysterious place where you experience an enlightened train of thought and previously disjoint thought processes fall into their rightful places magically. The only thing left to do is to transfer this coherent product from your elevated consciousness into the the real world, onto your integrated development environment or what non-techies would refer to as the place where you type in your code.

That visualization of us in your head is what you see on the outside. What about the inside? I assure you, it’s a very different place.

Reality

The next time you walk by one of us doing our work, there’s a chance you might just see someone sitting there doing nothing — eyes fixated on the screen, fingers froze right above their keyboard. You might be looking at a programmer debugging his code.

This is an unfortunate event that occurs regularly and plagues every programmer in existence. He who writes error-free code on his first attempt simply does not exist. Nope, not happening.

Here’s what’s happening in his head — he’s looking for an imperfection in the vast world he created. As much as he wishes to slow down and admire this beautiful construct, his mission does not allow him to. It is time-sensitive. This flaw in the system must be found and rectified immediately.

The programmer threw in a weird concoctions of tabs, indentations, braces and semi-colons. The spell was written not with blood but with colored words, each with it’s own ability. He does not stop there. He seeks more and calls upon external powers. The Devil isn’t enough. He draws power from the community of libraries built by other great programmers. The amateur would have blown things up but not he who has discovered the dark arts of software engineering.

He believes his creation is complete. Alas, the illusion does not last long.

The Madness

Piece by piece, he replays the different possible scenarios in his head to account for each of his actions. The programmer must meticulously check every line he wrote in search of this bug that crept in somehow.

This goes on indefinitely until the culprit is found. It could take minutes or it could drag on for months. No one can say for sure, not even its creator. In the grand scheme of things, he has created a monster inadvertently. The search must go on until this abomination is eliminated by his own hand.

The only guarantee is that the creator is hell bent on resolving the bug. This firmness in resolve usually stems from a combination of their insatiable curiosity and their never quitting mentality.

Help us see again

When we debug our code, our flow of time is disjointed. It can feel like only minutes have passed in our realm while an hour has flown by in the real world. Sometimes, we are so into our element that we get blinded by our blindness and we don’t see that. That’s a problem too.

The next time you see your fellow programmer in visible distress rooted to their spot for more than hour or so, give them a tap on the shoulder and tell them to take a break — go for a walk, grab coffee or do anything else besides code.

Sometimes, all we need is a change of perspective to breakthrough this quagmire.

Read more stories from Jeremy and others on Medium

Consider becoming a Medium subscriber. Your membership fees directly support me and many other writers on this platform. You get full access to all the stories on Medium and can cancel any time.

--

--

Stuck at the crossroads of deciding which path to pursue as a software engineer — frontend, backend or weekend :D