Things Should "Sit Right"

Monday, March 19, 2018

A software developer at freeCodeCamp shares lessons learned from a couple of blunders from earlier in his career. The biggest, with which I heartily agree, is to facilitate learning from mistakes by not rushing to stigmatize them. (This goes beyond assuming that others are stupid or lazy: Don't beat yourself up, either.)

That said, I noticed a lesson he either missed or chose to omit for brevity. The author, after making what would ordinarily be a big blunder, did the following before reporting his error:

Wait for the fog to lift, if you can. (Photo by David Moum on Unsplash)
I went back to my desk feeling defeated.

Something didn't sit right with me, though. How did we lose all those articles in the first place?

I kept digging. Part denial, part wanting to save face. Shortly afterwards, I noticed something important.

There were five other databases on the server. One of them had a name similar to the database I had just been looking at.When I checked it out, all the articles were there. The users table was fine. It turns out a configuration change had inadvertently made it to production, causing the site to point to a brand new database. Those users I saw? Seed data.

What a relief! A morning of nerves and stomach acid making me feel sick, but we were able to "recover" all the data and I had found the real issue before we were to communicate the bad news. [bold in original]
Whatever the author's motives for putting off an unpleasant admission, they caused him to do two things right: (1) listen to intuition, and (2) don't panic. The second of these is a species of not rushing, a lesson he covers quite well in the story of his second blunder. But the first is easily underappreciated. Emotions are lightning-fast evaluations of data integrated by one's subconscious. The feeling that something isn't quite right about one's understanding is a cue to dig deeper whenever possible. Fortunately, the author's embarrassment at possibly having made a basic mistake led him to do exactly this, and succeed in his troubleshooting mission. That said, the author's other lesson, about always making backups, stands.

-- CAV

P.S. I wrote this post, like many of my others on evergreen topics, some time before publication. Upon re-reading it this morning, another lesson leapt out at me from recent experience. I have been reconfiguring my personal task management system lately, and was stumped by an error I kept getting with a script. I ran out of time and had to set it aside for a few days later. The next time I saw the code, I immediately saw what was wrong. Sometimes, interruptions can be a valuable way for your mind to regain perspective on a problem. Regardless of whether that partly explains the epiphany above, the lesson stands that, if you have the luxury of stepping back from a problem, that can sometimes be a good strategy.

No comments: