And that’s okay. You don’t want to be.
Let’s be honest; developers have a really great career potential compared to the effort it takes to become one. The salary is strong right out of the gate, and it increases pretty quickly compared to other professions. We don’t even need college anymore to be classified as a talented developer – and the rise of bootcamp classes and self-education courses have helped introduce a new form of education that programming seems to be pioneering. Does that mean college isn’t useful? Absolutely not – but do the cons (cost, length of time) outweigh the pros? Well, that’s a good question that I can’t answer.
As good as our careers are though – it’s nothing if not competitive. Is it tough getting a job? In a reasonably sized metro area, no it’s not – and working in more rural areas isn’t difficult either if you’re able to have solid internet access and are open to remote opportunities. When I say competitive, I mean mentally competitive. There’s always something new to learn – and that’s honestly a good thing; it prevents developer burnout and keeps us “hungry” for learning more. But it’s also taxing to think that we always need to be sharpening our skillset every single day. Not only do we have new languages, frameworks, tools, etc. coming out daily that we can learn, but when we see other developers (it doesn’t matter if you know them) using these tools and building cool things, there’s usually an accompanying thought of “man, I wish I could do that.” And then we start comparing ourselves to other developers in a fashion that already places us at a disadvantage, and that’s not healthy. Social media isn’t helping with any of this either; when we see our fellow devs retweet cool things, or we see the next hot dev thing on Reddit, most of us will have bittersweet feelings; it’s awesome to see our community progressing, but it’s just another thing that someone else can do that you can’t.
That’s where the title of this post comes into play. You’ll never be the best developer. And you know it too, deep down.
The best programmer in the world is someone you’ve never heard of. They’re not the people who speak at conferences, or lead the CERN or NASA dev teams. They don’t tweet about what they do, market their work on GitHub, or communicate in IRC or slack channels. They don’t have time to do that, because to be the best, they can’t stop – because if they stop, that means someone’s getting better. If someone’s getting better, then they’re not the best – so they keep going. It’s not healthy, and that’s what it means to be the best. Look at the athletes who have been dubbed #1 in the world at some point in time, and chances are they had severe physical issues later in life compared to the average joe. Think CEOs are the best? The divorce, suicide, and incarceration rates there are astounding. You don’t want to be the best.
Back to developers now; so who is the best developer in the world? Here’s the raw truth: he/she doesn’t exist. There is no best. Confused yet? Being the best is just a concept in our career (and our career isn’t the only one). There will always be someone better than you at something, and there’s absolutely nothing we can do about that.
So what are we supposed to do if we’ll never be the best?
You stop trying, that’s what you do. Do you stop growing as a developer, or trying to learn new things? Absolutely not – but let go of the thought that you need to be the best, because it’s never going to happen. Don’t even think about being better than someone else. Just aim each day to be a little bit better than you were the day before (and it doesn’t have to mean coding-wise). One of my favorite quotes seems very applicable here: “Every man I meet is my superior in some way, and in that I learn from him” (Emerson). Learn from everyone, because you can.
You’ve got a family, and friends, and non-coding hobbies. Go enjoy life, and stop worrying about being the best. Just try to be better instead. We can all do that.