Frightening to the core: 13 things that give programmers nightmares

This Halloween, if you want to really scare your favorite software developer, forget witches, ghosts and serial killers and think along these lines instead

Programmers' worst nightmares
Credit: ITworld/Stephen Sauer

Halloween is almost upon us, which means it’s that time of year when people like to tap into their deepest fears - for fun! For most people, the things that give us the creeps are pretty standard: ghosts, spiders, being chased by homicidal maniacs in hockey masks, etc. But for other people, the subjects of their nightmares are less conventional.

Take, for instance, software developers. Ask a developer what his or her worst nightmare is and it’ll probably have less to do with witches or black cats and more to do with a missing semicolon key or a Microsoft product. In the spirit of the season, then, based on developer responses in a number of online forums, here are 13 common answers that programmers offer up when asked, “What’s your worst nightmare?”

See also:

Keyboard for one: 8 of the most impressive solo programming efforts

Superclass: 14 of the world’s best living programmers

Lazy like a fox: 8 ways great programmers save time and energy

Just their type: 10 keyboards beloved by programmers

Head-scratchers: 10 confounding programming language features

Pants on fire: 9 lies that programmers tell themselves

The Internet can’t answer my question
Credit: ITworld/Stephen Sauer
The Internet can’t answer my question

Developer Q&A web sites like Stack Exchange have become vital tools in a programmer’s toolbox. Of course, there are also any number of other Q&A sites and developer discussion forums that software developers can turn to for help out of tight coding spots. Not much makes a developer’s blood run cold like the thought that this seemingly bottomless resource of programming knowledge can’t answer his or her question.

Quotes: “Going to Stackoverflow and seeing someone's post with the exact same question you have been trying to get answered. Posted a year ago with no answers.” Jorge Irun

“Accepted answer on StackOverFlow (same situation as ours') doesnt work out!” Ramchand Rajasekaran

“Googling for ideas to solve a painful architectural problem, and finding that the only relevant hits are from six years ago, describe the same problem, and were posted by you.” Steve Traugott

My most important keyboard keys are broken or missing
Credit: ITworld/Stephen Sauer
My most important keyboard keys are broken or missing

Needless to say, keyboards are pretty important to programmers. But, not all keyboard keys are created - or valued by developers - equally. Some keys are used far more than others by certain programming languages, like the semicolon in JavaScript, Perl and Objective-C. Programmers are also fond of keyboard shortcuts and generally using the keyboard over the mouse or trackpad, as a way to save both time and prevent repetitive stress injuries. It’s not surprising, then, that when coders wake up in a cold sweat it can often be from dreaming that one or more of their most beloved keyboard keys are gone.

Quotes: “My worst nightmare has to be when my semi-colon key stops working.” Ali Akbar

“Space bar not working” Vivek Patel

“Writing a huge code, and then suddenly realizing  Control keys are not working...........” Nikesh Shetty

“CTRL+Z NOT WORKING HENCE NO UNDO :(  :(“ Nirwan Dogra

The Internet is down - or gone
Credit: ITworld/Stephen Sauer
The Internet is down - or gone

It’s one kind of programmer nightmare if a site like Stack Exchange is down so it can’t answer his or her question, but it’s a whole other thing if he or she can’t access the Internet at all. After all, aside from answering questions, the Internet is also chock of full other useful things like open source software and code snippets. Not to mention how hard it would be to access remote or cloud-based servers, distributed team members and even your favorite streaming music service if the Internet suddenly went away. So, if you want to really scare your favorite coder, yell something far scarier than “BOO!” like “THE INTERNET IS GONE!” Just be sure to have a defibrillator handy.

Quotes: “StackOverflow is currently offline for maintenance.” Mahanthesh Shadakshari

“Google servers are down forever.” Anonymous

“If the Internet and Google goes down, we would have to go back to an earlier, isolated ‘period of darkness’. We will be stuck, not knowing what to do if we encounter particular bug.” Thoriq Firdaus

“Seriously, once the internet is down and all developers stopped working and started chatting. Oh my god... that's nightmare!” nanda

A critical bug that can’t be reproduced
Credit: ITworld/Stephen Sauer
A critical bug that can’t be reproduced

In order to fix a bug, software developers first need to be able to replicate the conditions that triggered it in a development or test environment. Then, hopefully the cause be diagnosed and a fix tested before it’s resolved on production systems. Many developers fear bugs that only seem to happen randomly and can’t be replicated in a controlled environment. Make that bug high profile by having it happen in a critical situation, such as in front of a particularly important client and you have the makings of a true programmer nightmare.

Quotes: “... bugs that only ever show themselves when the program is being demo'd on stage in front of at least 500 people.” Jeremy Friesner

“A blue screen that can't be reproduced in-house that happens frequently but inconsistently on an important customer's machine.” Joe Wezorek

“An error that only occurs when it's not running on your computer, only under load, and cannot be replicated in a test environment.  That's as bad as it gets.” Jaimie Sirovich

“The program/website runs perfectly on your local server but as soon as it goes live it starts misbehaving. It feels as if the server is playing with your feelings when whole excitement turns into sadness and you can do nothing.” Ankur Agarwal

Lack of good - or any - documentation
Credit: ITworld/Stephen Sauer
Lack of good - or any - documentation

Trying to understanding existing code without the help of good documentation or code comments is difficult. Trying to do it without any documentation or code comments is even harder. This doesn’t apply just to code written by other people that a programmer has inherited, but also to code he or she may have written in the past and not documented properly. Undocumented code, no matter who wrote it in the first place, is a true nightmare.

Quotes: “It's debugging a code without proper documentation/commenting with nonsensical identifiers. You are figuratively cleaning somebody else's s#@*!” Pratyush Kumar

“Being the second man in on a project with terrible commenting & trying to decipher another coders dreams.” Sam Brody

“Maintaining decade-old un-documented code. I literally do have nightmares about doing that” Sam Sartor

“Seeing your un-commented code a year later on an awesome working project and screaming while struggling, ‘How the hell did I do this?’ and ‘Did I really write this code?’ It's like getting lost in your own house.” Alok Sharma

Managers from hell
Credit: ITworld/Stephen Sauer
Managers from hell

Nobody, programmers or otherwise, like meddling or incompetent managers. But, software developers especially dread non-technical managers nosing around their code. Managers who over-promise what can be delivered, underestimate the time required to do the coding work or who make technology decisions also feature prominently in the dreams that make programmers wake up screaming.

Quotes: “Clueless upper management and the Dilbertian consequences of their flights of fancy.” randcraw

“Non-technical managers, who think they are qualified because they coded about 10 years ago.” Anonymous

“For me the worst Nightmare is a 'Pain in the Ass' Manager, who thinks he is overqualified and expects to complete any/all of clients requests well before time. Who thinks coding is a job for minions and working code appears magically from thin air.” Rachit Agrawal

“Having to rewrite the whole system... again... in another language... using different toolsets/frameworks... all at once rather than in phases (replace one part, then the next)... because some upper level manager thinks their way is the best way and any other way is bad and needs to be replaced wholesale.” RHSeeger

Cleaning up someone else’s code
Credit: ITworld/Stephen Sauer
Cleaning up someone else’s code

Software developers rarely like working on somebody else’s code; after all, another programmer’s code could never be as good as your own, right? Even well-documented third party code can be headache-inducing for someone new to it. Being asked to debug, refactor or generally modernize code that somebody else wrote, possibly many moons ago, will definitely get a coder’s heart racing - and not in a good way.

Quotes: “... being asked to re-write and modernize a program that my employer ‘has the source code for’, where ‘has the source code’ means ‘it's written in Fortran on this unsorted, waist-high stack of punch cards’.” bta

“... I think the worst ever experience that a programmer can face is to have the responsibility of working on someone else's source code which never did follow any sort of standardized, best practice approach.” George Alexander

“Being asked to ‘find the bug, something to do with [X]’ in C++ code and being handed a pile of paper (20 pages of code, around 2k LOC) instead of code you can compile, run and debug. “ Giovanni Idili

“This ‘Hour of Code’ generation of people and all of the crap that I'm going to be asked to clean-up in the future.” Chip Frank

Changing project requirements
Credit: ITworld/Stephen Sauer
Changing project requirements

Whether they’re provided via a formal specification in a traditional waterfall project management approach, or as user stories in an Agile environment, software developers like clearly defined, stable requirements upon which they can code a solution. In reality, those requirements can and do change on the fly, sometimes for valid reasons, sometimes due to poor project managers and sometimes due to upper management (or client) whims. However it happens, the fear of ever changing requirements - particularly at the last minute - is always lurking in the soul of programmers.

Quotes: “Requirements change in an email on the last day of the sprint” Basav Nagur

“Especially when the requirements are to make changes in the database schema. That's one real pain in the neck.” Kunal Suri

“Having everything tested and ready to deploy into production tomorrow, and your boss tell you that the requirements have changed and it must be done today.” Yinso Chen

“A client who doesn't know what they want combined with regularly changing what they don't know they definitely want.” Dave Cahill

My code goes AWOL
Credit: ITworld/Stephen Sauer
My code goes AWOL

No matter how many hours of work a developer puts in writing software, it will all be for nought if that code goes away unexpectedly. Source code can disappear in the blink of an eye for any number of reasons, from simply forgetting to save a file to acts of God to  particularly nasty (or unfortunate) bugs. Whatever the cause, and despite how careful they may be, programmers often live in fear of all their hard work disappearing without a trace.

Quotes: “The loss of your hard written code due to a power surge or carelessness.” Philan James

“That moment when you realise that, due to a minor coding oversight, running your program has just resulted in the erasure of your program (and possibly a whole bunch of other stuff you were kind of attached to) from your file system.” Simon Hayes

“When you restart your system in a hurry and respond to a prompt from IDE asking 'there are unsaved work,do you want to save it <Yes>,<No>, and the time your brain says 'Yes' and your fingers already clicked on 'No'” Sakthi Prasad

“Accidentally typing rm -r * in a wrong directory.  THE END.“ Ayush Sekhari

Internet Explorer
Credit: ITworld/Stephen Sauer
Internet Explorer

All programmers have certain technologies that give them heartburn, but web developers have a special fear of having to build something that works on Internet Explorer. While it remains one of the most popular browsers, IE is also one of the most unforgiving for code writers. To make matters worse, older versions, which are even more unforgiving but had even larger user bases, often have to be supported longer than for other, more developer-friendly browsers. Let’s put it this way: If Jason Vorhees of the Friday the 13th movies were terrorizing a group of web developers, his mask would look like the IE logo.

Quotes: “Customer uses internet explorer!” Cem Kaan Kösalı

“The time developers spend to make a web app work in IE 6 could be three or more times longer than to build the app for modern browsers like Chrome or Firefox.” Thoriq Firdaus

“When you have to write IE 8 specific hacks in your HTML, CSS and JavaScript when the normal code just about works perfectly in every other browser known to mankind!” Arvind M.Raman

“Developing on windows environment with only internet explorer installed... Too much to handle... “ Madhu Agrawal

Physical injury or ailment
Credit: ITworld/Stephen Sauer
Physical injury or ailment

Programming isn’t a particularly physical job but, like most other careers that require typing on a computer all day, it’d be hard to do without arms, hands and fingers. Also, anything that negatively affects a coder’s vision or general ability to think logically would be a problem. Naturally, then, a typical software developer’s nightmare will often involve the inability to use - or the total loss of - one or more vital body parts.

Quotes: “... breaking my fingers, blind ... and can't write code anymore.” Aitjcize

“Having something terrible happen in my brain so that I am no longer able to function the way I do now, but still have the memory of how I used to be.” Daniel Super

“Carpel tunnel syndrome, cubital tunnel syndrome,  anything that prevents you from using your hands.” Matt Nicolls

“Waking up in the morning to find that in the middle of the night somebody stole all of your fingers. Because typing with your elbows is really really hard.” Kelly Draper

My bug hurts or kills someone
Credit: ITworld/Stephen Sauer
My bug hurts or kills someone

No software developer ever wants to be the cause of a bug. But not all bugs are equally bad. Some are annoying but harmless. Others may cost the company or a client money and maybe even somebody’s job (like that of the coder responsible for it). But one of the worst case scenarios for any programmer, no matter what type of software they actually work on, is one where they create a bug that physically hurts or even kills someone.

Quotes: “That I somehow screw up the control system on the gas rig I'm on at the moment…” Kjetil Seim Haugen

“That a bug of mine could cause physical harm to someone or something.” Jeremy

“I can think of someone programming a traffic light, that didn't work, and people died...some medical scanner that radiated someone to death...some military GPS system that accidentally sent a pilot into enemy anti-aircraft fire....” Mark2008

“Killing someone with your bug. It has happened.” Jon Kannegaard

Segmentation faults
Credit: ITworld/Stephen Sauer
Segmentation faults

A common nightmare for developers is running into a segmentation fault. This an error caused by a memory access violation, that is, trying to access restricted memory or perform a restricted action. Normally, in these cases, the memory management unit notifies the operating system, which in turn notifies the offending process which, most of the time, results in a program crash and, ultimately, a headache for the developer who has to try and track down the cause of the problem. It’s no wonder many programmers fear seeing those two words appear on their screens.

Quotes: “Segmentation fault is the worst nightmare!” Supratim Samantray

“It could mean a hundred things and you'd have no clue  what it is about unless you run the debugger.” Zeina Shajahan

“‘Segmentation fault. Code dumped’ Occurs when you're not careful with pointers and can drive you crazy!” Gomathi Sunder

“An error can be resolved by any experienced coder in a few minutes but a segmentation fault or unwanted Infinite loop ..... R.I.P coder!” Gaurav Jain