|
On a team of developers, somebody is the best and somebody is the worst. That's life. I've been both, and they're each worse than you think. And necessary.
When You're the Best
I've been on two teams out of nearly a dozen where I was objectively the most experienced developer. On a technical level, I had no real peers. I wasn't asking the CTO for permission at these places. I was letting them know what I was doing.
It felt amazing. You get space to make big technical decisions with almost zero friction. You pick your projects. You set the direction. You're first in line for fancier titles and bigger bags. At one org, I got promoted to staff, then to engineering manager.
Professionally, everything was moving.
Technically, I was standing still.
I was coasting on things I'd learned years earlier. I'd come from some fast-paced (aka brutal) environments, so the coasting felt good for a while. But I wasn't growing. I wasn't being challenged by anyone around me, so I stopped challenging myself.
Then the other shoe dropped. The minute I moved into management, there was nobody to backfill the technical work.
I had become the bottleneck without realizing it.
Every hard problem, every critical code review, every architectural decision still flowed through me because I'd never built anyone up behind me. We had a glaring gap in the org that we had to hire externally to fill.
That's when I understood why career ladders and internal promotions matter so much. If the tech lead on your team gets promoted and there's no one ready to step up, that's a failure on the team.
The takeaway from being the best: you can't stay there long. You either bring people up with you, or you leave a hole when you move. The accolades feel great. The stagnation sneaks up on you.
When You're the Worst
I've also been on at LEAST two teams where I was, bar none, the worst developer in the room.
This is psychologically draining in a way that's hard to describe until you've lived it.
You show up to work and realize YOU might actually be the burden. And you know exactly what that burden feels like because you've been on the other side. You've been the person cleaning up after the weaker developer, fielding the questions they can't answer, acting as their shield. Now you're that person. You know the weight you're placing on your teammates whether you mean to or not.
The first time this happened to me, earlier in my career, I wanted to crawl into a hole. I almost left. And leaving is a valid choice sometimes.
But here's the thing I didn't understand back then: that's also the moment where you experience the most growth, if you're willing to sit in the discomfort.
Being the worst developer on a team is like having an Olympic athlete as a running partner.
You're never going to beat them.
That's not the point.
The point is that your pace goes up just by being around them. Your ceiling gets raised by proximity.
The key is being intentional about it. Don't just think "this person is better than me" and leave it there. That's not useful. Ask specific questions.
-
How did you think of that approach?
-
What pattern were you using there?
-
Look at their PRs.
-
Study how they make decisions.
-
Try to figure out what they're doing that you're not doing, and steal a little bit of it.
Most senior developers are happy to share. I loved when people asked what I was reading, how I approached problems, why I made certain decisions. It's flattering.
Your significant other, non-coding friends and bad ass kids don't give a damn about that bug you squashed.
The takeaway from being the worst: it's temporary if you want it to be. The discomfort is the signal that you're in the right place to grow if you can handle the mental burden. Use it to accelerate your learning so you can be the best somewhere else.
Social Media Driven Development
We're all obsessed with speed.
Become a Senior in six months!
Senior to Staff in a year!
YouTube and LinkedIn gurus measure progress on internet timelines that have nothing to do with reality.
I'm 42. I've been writing code professionally for nearly twelve years. I should have another twenty-plus years ahead of me in this profession.
When I think about it that way, the idea of stressing over whether I'll hit some milestone in the next three months seems ridiculous.
Comparison isn't the thief of joy.
Comparison on an unrealistic timeline is.
There's nothing wrong with looking at someone more experienced and saying, "I want to be at that level." That's a measuring stick. That's useful. But you have to understand you're all starting from different places, and "five years from now" is a perfectly reasonable answer.
The internet wants you to think in sprints.
This career is a marathon that lasts decades.
The best thing you can do is make sure you're occasionally the worst person in the room. It means you picked the right room.
|