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:
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.I went back to my desk feeling defeated.
Wait for the fog to lift, if you can. (Photo by David Moum on Unsplash)
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]
-- 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:
Post a Comment