There's this new guy on our team. I helped interview him, recommended we hire him, and ever since we did he's been absolutely killing it on every task we assign to him. Tasks that I thought would take an equivalently-skilled programmer 6 hours take him 30 minutes. He has consistently, repeatedly, beaten my estimates and done a damn fine job of writing testable, readable code. He is a living, breathing 10x programmer. And I'm not.
He's really smart. He's insightful, constantly coming up with suggestions that make our codebase better. He solves problems we didn't even assign to him. The only knock against him is that English is not his first language, but even then I have no problem understanding him. Our team is better because he is on it.
And he scares the living daylights out of me.
He could do my job. I'm sure of it. He could do these code reviews, these architecture plans, these proofs-of-concept, these structural tests, just as easily as I can. Probably more easily, in fact. His code would be just as good as mine. It is just as good, and I know because I review said code.
He's... better than me. At everything.
Crap! Now what do I do?! This guy is so damn smart that he'll knock me out of a job! He can do everything I can. He can do it better. And now he's coming for my job. I have to do something! I have to do something that ensures I still have a job here. I can't let this newcomer, this usurper, steal my job. My family needs this job. We have a mortgage! This is my position, and he can't have it! He'll take it from me when I'm done, and NOT BEFORE!
In some alternate timeline, that is what the other me is thinking. That is me worrying that I'm not good enough, that this new employee will take my job and leave me and my family shivering in the cold. That is me allowing my Impostor Syndrome to take full control of my actions, allowing my fear of being replaced to control my actions. That is me allowing my worst fears to rise up and control my very being, which would inevitably make both myself and the new programmer suffer.
That is the worst version of me. He must never see the light of day.
There is a new guy on my team; we'll call him Robin. Robin probably is smarter than me. He's definitely quicker, and his code passes all tests and reviews with flying colors. English is not his first language, but it doesn't matter in our day-to-day work. In short, Robin is absolutely a better coder than me, despite my 10+ years of experience and his mere 3. Boy am I ever glad he's on my team.
Yet, I am worried. My worries don't directly come from Robin, but he embodies them. I worry that one day I won't have enough time to keep learning, and my dreaded obsolescence date will arrive sooner than I'd hoped. I worry that my coding skills will atrophy to the point where they're no longer needed, or worse, become pigeonholed so far down as to be unemployable. I worry that I am replaceable. It's scary to be reminded that no, you're still not the best ever at what you do. These worries bring out our worst selves.
But allowing that worst me to surface, letting that selfish conniving little brat come out even once, will not solve anything. To the worst me, it's all about control; control of the job, control of the process, control of everything. He wants to control his surroundings, because he feels like nothing is in his control. And he'll be damned before anyone takes his control from him.
The problem is this: that kind of obsession helps precisely no one. By fixating so heartily on the perceived loss of control, what do I achieve? Possibly a job for the forseeable future, but probably also a reputation of being a controlling jerk; an important jackass is still a jackass. Plus, that type of need, the need to control which stems from a real and primal fear, hinders people like Robin from getting the mentoring they need ("I'm not gonna help you, you'll just take my job"). That need to control is counterproductive to a positive development environment.
Here's the rub: the game is not zero-sum, despite what my Imposter Syndrome might tell me. I do not have to lose anything for Robin to gain. He is a better raw coder than me, that is true, but there's more to software development than coding. Architecture, testing, communication, these are all things he could use some guidance on. It is my job as a lead developer to build him up, to help him learn, to make him better than he was, better than me. My job, in short, is to put myself out of a job. After all, if you can't be fired, you can't be promoted.
Robin is now a critical member of my team, and I wouldn't have it any other way. He's a better coder than me, and that's wonderful. The trick is to remember how wonderful having such a productive member of my team is, and that he isn't out for my job, he's out to improve himself. That's something I can help with.
Do you have a Robin on your team? Someone who is markedly better than you? How does that make you feel? Let me know in the comments!