In both my athletic and professional career, whenever there was a failure, I’ve seen that the majority of people rush to pin the blame on someone else.
“It was bad refereeing. They didn’t give me the score I deserved. My opponent should have gotten a penalty.”
“I had to spend half my time fixing the code written by the junior developers because it was so bad.”
Whatever your profession, I’m sure you’ve run into this plenty.
I’ve always taken the opposite tack – whatever happened, it was my fault
Recently, I was listening to a podcast my daughter was on where she said, “My mom never let me feel sorry for myself if I lost. She’d say, that’s on you. You had five minutes to throw that girl, and you didn’t do it. If I said, but I did throw her, she’d say, then you should have thrown her twice. You can’t always count on good referees.”
Some people (Ronda from ages 14 to 20 – that’s some people), might take that as I was a mean, unsympathetic old lady. I’ve been called worse. What those people miss is that it is a GOOD thing if everything is your fault.
It’s a good thing if screw-ups are your fault because you can fix yourself easier than you can fix other people.
For example, I spent much of today rewriting code that had been done by some of our interns from a few years ago. It was a hot mess. I swore, took the Lord’s name in vain and asked Frank and Chase how anyone who knew so little about programming could have ever gotten a degree in computer science.
Frank is a standard poodle, our official startup dog and Chase is a red-eared slider who lives in a tank on the floor in my office. Neither of them had an answer.
Then, I spent some time doing what all software developers do, walking around the office singing, “I’m so smart! I’m so smart!”
As gratifying as it is to pat myself on the back, I realized it would be more beneficial if I asked myself how I could prevent this spaghetti code from happening in the future. It started to leak into my brain that I had assumed these interns knew what I expected them to do. I should have known better because I had learned years ago as a professor that, when giving a lecture or an assignment the answer to, “Doesn’t everyone know X?” is always “No.” It doesn’t matter what X is. So, I make sure to be very explicit in what students should do and know.
How was this mess someone else wrote my fault?
The number one place I screwed up was not looking at this code for a few years. I’d assigned it to the interns and told them to ask if they had questions. I asked if it was done and they said it was. I was busy, so I went about my business. Being busy is no excuse. These days, I’m much better about meeting with new developers and reviewing their code, especially in their first few months on the job, but it’s an area where I could definitely improve.
The second place I screwed up, and it was big time, was in not being more specific about what I meant by “clean up this code.” To me, it was obvious that there shouldn’t be inline CSS or JavaScript, the same function shouldn’t be in a script tag in a bunch of different pages but, instead, should be an external script in the JS directory that was just included in the head of each file, or maybe called in a module, etc.
Now, it’s obvious to me that I should have made a checklist of everything I expect, gone over this checklist with the new developers and then, when they submitted changes, reviewed those very soon after submission to see that everything was done and give feedback.
It’s also clear that better explanations on our internal wiki would be helpful. It’s very common for new developers to engage in “copy-pasta” where they copy some code from the internet or another program that is working and paste it into a program without really understanding what it does. Now, I could rant about how people shouldn’t be pasting in code they don’t understand and go back to my “I’m so smart” song, or I could do what I did this week and add a section on the wiki on how to add milestones to save the game more often.
Does that mean everyone who screws up gets a free pass?
I’m not saying you should let people off the hook – but taking responsibility, even if it wasn’t 100% your screw up, means taking control of a situation so you can fix it. In the process, you’ll get better at whatever it is that you do and if the people around you really are screw-ups, eventually, they’ll be screwing up around somebody else.