The world of software development can be an amazing place… most of the time. Sometimes, however, while chasing down a particularly nasty bug or enduring endless, mindless, soul-crushing meetings, stress can take over and the gloves come off. Maybe you’ve had this thought from time to time?
LET THE SWEARING COMMENCE.
But that’s not what we’re talking about here. Looking past the words that make your mother blush, far beyond those x-words that would have gotten your 10-year-old mouth washed with soap, in the world of software there is one four-letter word that stands head and shoulders above all others in its sheer potential for life-altering danger. Like a poker “tell”, the mere utterance of this word is a sign of impending doom. See if you can spot it:
“Let’s just push the change to production and see what happens”
“I just clicked the X, why?”
“What’s the big deal? It’s just a bug”
Just. JUST. So many good intentions run headlong into intense suffering when this evil word is uttered. “Just” conveys a passive, laissez faire attitude towards the object. However, when the object is software development or computer technology in general, “just” can create a world of problems, even potentially ending your career.
The following sections describe a couple of real events (that is, real EMBARRASSING and life-changing events) that I offer to demonstrate how this little word has impacted my career.
Hopefully the statute of limitations has expired.
“Just Run the Commands”
It was my first day of my Very First Job after college. My boss, who had little interest in official training, gave me the superuser password to the production machine, a manual, and said “Just run the commands and see what they do”. JUST! As a fresh-faced graduate unaware of the minefield I had been handed, I blindly responded “yessir” and opened up the manual to start with the A’s.
It was somewhere around 4pm that day when I had made it to the “D” section of the manual. I came across a DEFRAG command that looked harmless enough. The manual said something about rearranging blocks on the disks for efficiency, and my boss had said to “just” run the commands, so I dutifully typed DEFRAG into the command line.
HCF. Everything stopped. The entire operation was dead.
When we called for support, I introduced myself as the “new guy” and before I could say much else the technician asked “by chance, did you happen to run DEFRAG?”
“Oh holy crap! This guy is already onto me” I thought. With much embarrassment and regret, I admitted to him that I had in fact run that very command. He laughed; “You’re the second one this week, kid!”
As it turns out, the operating system was rushed to market and while the documentation people had written what DEFRAG was supposed to do, the engineering folks never got the memo because the tool had never been completed. Instead, the engineers had gotten the tool to erase blocks of disk, but it never put anything back on it!
A close examination of the disks by tech support showed the damning evidence — 100% hex 00. Entirely erased. Operating system, data, programming, everything was lost. At 4pm. The previous day’s backup had been taken 18 hours earlier. Everything that had happened since then was lost.
My career could have been over the first day it began. But as luck would have it, that’s now what happened. I went on to have a career with “just” one other significant f-up, known now in legend as:
Black Wednesday
Many years ago, in a galaxy far, far away, yours truly was tasked with moving a whole mess of software and data from a production system to a standby. What I didn’t know at the time, however, was that the tool to do this had a known limitation. (I should note that, regrettably, that limitation was only known TO ME after the event.)
I had built a backup of the system and had copied the backup to the standby to be restored. Just then, the phone rang. Email notifications popped up. Text messages started pouring in. Chat messages were popping up on the screen. As I struggled to keep up with the deluge of distractions, I distinctly remember thinking “let me just get this done and then I’ll handle this”. Just. JUST!
While I had copied the data and programming to the new system, I was inadvertently still connected to the production system when I ran the command to install the backup. Remember that known limitation? The limitation was that it had only copied a portion of the data. Had I actually run this on the backup system it would have been no big deal. But this fool “just” ran this on a production machine in the middle of the day, destroying a statistically significant amount of the production data.
Systems ground to a halt. Production stopped. Hundreds of employees ended up getting almost a full day off because with the system destroyed there was nothing to be done until we could get things restored.
We had a backup from the night before, but nothing within the last 12 hours. The only traces of what had occurred in that span of time were a few dozen paper documents that had been printed. Everything else was sacrificed on the Altar of Just.
The company was back to minimal operations within a couple of days. However, it took six weeks to recover the business to where it was before the event. That was six weeks of full time work without pay. (The company didn’t demand it, but I offered. It was the least I could do.)
Since then, anytime I hear this word, my ears perk up, my blood pressure rises, and I’m quick to pump the brakes with a “hold up — let’s ponder this for a bit, shall we?” The Altar of Just is an evil place to die and yet that’s what it seemingly wants: a blind faith that everything is going to be okay and you can go on with your life. Do not be fooled. Just is a killer!
It is my sincerest hope that now that you are aware of the perils of this word, you can avoid the immense pain and suffering that this little word can leave in its wake. Take your time, do the job right, and hopefully you’ll have a long and successful career in software development.
Because hey, programming is fun, right?
RIGHT?
from Software Development – My Blog https://ift.tt/wacs8IJ
via IFTTT
No comments:
Post a Comment