Imagine sitting in a performance review and hearing:
“You’re not a great developer.”
It happened to me.
It was raise day. One by one, I watched my coworkers walk into our manager’s office; then it was my turn. I sat down, and my manager handed me a little yellow sticky note with a number on it. My raise. The lowest I had ever gotten.
No conversation. Just: “Do you have any questions?”
I had plenty, but in that moment, I couldn’t find the words. Every 1:1 leading up to this had been positive, or so I thought. So I just said no and walked back to my desk, thoughts racing: What was I doing wrong?
Later, I scheduled another meeting to get a little more feedback. That’s when it came:
“You’re a good developer, but you’re not a great developer… because you don’t spend lots of time outside of work researching new technologies.”
What did how I spend my time “outside of work” have to do with my performance at work? And what qualifies as “lots of hours”? Ten? Twenty? And who’s keeping track? What about the “lots of time” I spent debugging late into the night so the release shipped on time? Or the hours invested in mentoring teammates, building trust, and keeping the team moving forward?
And what did “researching new technologies” even mean? Which technologies? Why only new ones? What about the ones we actually used in our product?
At the time, it stung and those words stuck with me for years. But looking back, it shaped the kind of developer I am and the kind I want to keep becoming. And it taught me some valuable lessons.
Managers
Not everyone becomes a manager for the right reasons and not all managers are great with people. But like it or not, managing people is part of the job.
Your words matter. They can make or break someone’s career. They can inspire someone to grow or push them out the door. They can make people want to work with you again, or never again. Learn how to give feedback that’s constructive, actionable, and actually valuable.
Set clear guidelines. If you have expectations for what “good” vs. “great” looks like, document them. Make sure your team knows and understands them ahead of time. Don’t spring vague standards like “lots of hours outside of work” on people. That’s not feedback, that’s moving the goalposts.
Developers
Not all feedback is good feedback. Some of it is poorly delivered or even biased. Take what people say with a grain of salt and try not to take feedback or criticism personally; I certainly did.
Don’t let someone else’s definition of “great” define you. Some people lack the ability to give meaningful feedback, and that says more about them than it does about you.
But just because feedback isn’t delivered well, doesn’t automatically make it bad. Sometimes there’s an underlying message that can actually help you level up and be better. Ask for clarification.
I may not have had my finger on the pulse, but I knew the codebase inside and out. I knew how a change in one part of the system could affect another. I knew how to work with people others labeled as “difficult.” And that was all because I poured everything I had into my work, when I was at work.
If being “great” means sacrificing time with my kids who will one day grow up and move out, or parents who one day won’t be here anymore, time that I’ll never get back, then no thank you. I’d rather be a great mother, a great friend, and a great human. The kind of person people want to work with long after we’ve left the same company.
And while I’m not “spending lots of time researching new technologies” these days, I have been listening to a lot of podcasts and trying to keep up with the changes happening in the React Native community and in tech overall.
You just read issue #3 of Open Tabs. You can also browse the full archives of this newsletter.