In a post I wrote about career principles, one principle was "it's not about you." I wrote about writing code for other people can use for something - people will rarely look at it only to look at it. This, I figured, was the best takeaway I could share here.
Turns out it's not. In the last few weeks I've seen the "it's not about you" rule applies to something more important than the code I write. It's how I work with colleagues to make my code better.
Ignoring Knee-Jerk Reactions to Criticism
There's been many times where I make a change, only to discover it caused several smaller issues. My work is on the front-end, so they're mostly visual inconsistencies.
- Links are underlines in some areas but not others
- Background colors are different among pages
- Menus meant to look similar had different links and styles
- A big one where I'd worked on a feature for weeks, but no one used it. So I removed it and broke an important page's layout in the process.
No matter what the issue was, my knee-jerk reaction was defensive. I said why my rationale for new styles or accessibility override the "nitpicks." I pointed out forces outside my control that caused them. Or I went quiet, put off fixing it, and avoided talking about it.
My mind jumped on the simple, easy idea that my coworkers were out to get me. They wanted to humiliate to boost their own ego or impress management. Meanwhile I was trying to do my job and make things better, dealing with selfish people getting in the way.
As you can likely tell, I assumed all these criticisms were about me. Therein lies the issue.
It's easy for me to think that way since it's a human reflex. Our minds do tons of mental gymnastics to protect our egos from potential threats. But unless you're about die, knee-jerk reactions are rarely worth listening to. Especially in a field where being a calm and thorough thinking is vital.
Since this was a mental reflex, it was hard to see it in myself. The second hard part was getting around them.
Remember We're On the Same Team
It didn't take long to realize the trick is remembering it was never about me. It's about the company.
It's easy to feel driven about by perceived individual interests, like I was. It's harder to get around those barriers by remembering we're all on the same team. But in the end I remembered we want the same thing - success for the company.
These thoughts hit me all at once when hearing more feedback one day. So I took a deep breath, let my ego fade from my thoughts, and focused on fixing the issue bothering our users. Fixing it meant we'd all win in the end - me, my coworkers, and especially our app's users. I didn't feel bad that my work was "under attack," I felt good I could do my job.
My job, like most coding jobs, is about a few things. Writing good code, correcting bad code, meeting any deadlines, and delivering a project. Nothing in there involves feelings or self-esteem. It involves setting everyone's ego aside and doing the work.
There's a Selfish Reason to be Selfless
My mind's first counter to all this, one I expect others to have, went like this:
But what if all these little mistakes add up and I get fired?
First off, that's a huge reach. All coders make mistakes, even the senior ones I work with. Coders expect mistakes and they'll always happen, so that's the wrong question. The right question is "how will I respond to these mistakes?"
The answer to accepting them, fixing them, learning from them, and not repeating them. Always doing that means remembering "it's not about you." Otherwise, like me, you'll be so caught up blaming something else that you can't make the changes you need.
If it's any consolation, my (limited) career experience so far has shown me something else. Newer employees willing to adapt are as, if not more, valued as talented yet stubborn ones. The latter is like a large stone: powerful and heavy, but inflexible and hard to move. The former is like a stream: once it gets enough momentum building, it's just as strong and can fill lots of different needs. Most of all, the stream brings more value in the long-term.
So as a coder, not thinking of yourself will help you a lot. Funny how that works!
Don't Take it Personally, It Just Ain't Your Story
All this helped shift my focus and made it easier to manage criticism as I learn. Before I thought these issues were enemies trying to interrupt my story. But while I'm at my company, it's not my story. It's theirs, and I'm trying to help them tell it.
As long as the company's story gets told, that's all that matters.
If I can work in a few short stories of mine with posts like this too? Well, that's just a lovely bonus.