5 ms·
Good article, though I can't agree with the conclusion. "Expert" doesn't really communicate much. There's a meme that's probably older than I am that goes some
by SomeCallMeTim 4y ago
Good article, though I can't agree with the conclusion.
"Expert" doesn't really communicate much. There's a meme that's probably older than I am that goes something like:
"An expert is no different from the rest of us, he just has a binder and slides."
Today it would probably be a PowerPoint presentation, but the point stands: Expert has been an overused and overloaded term for far longer than 10x, and other than specifying a focus ("video encoding expert" or similar) it is insufficient to actually communicate to non-technical people the distinction.
Saying specialist is also descriptive of your focus, but similarly doesn't get to the underlying difference between and average and a 10x developer.
A video compression specialist is going to be really good at video compression, and maybe that's because they're really familiar with the math and the domain. And that means they could create compression algorithms much faster than I could; I don't know the technical details of any compression algorithms to the degree that I'd even consider taking such a job. Some tasks are best handled by experts or specialists; that's fine and appropriate.
But a generalist "10x" developer can typically handle many domains. In fact, jumping between domains is not uncommon. Their "expertise" is in being able to grok complex systems and multiple levels of indirection and interaction; what the systems are doing is less important. Maybe the video compression specialist is also a 10x developer, but just prefers to stay in the video compression space; that's fine. But I've seen code written by specialists were really good at their specialty, and their code worked...but it was not good code. And one hallmark of a 10x developer is that the code is good.
So both expert and specialist are really orthogonal to 10x.
- survirtual 4y ago10x is definitely not a good descriptor. Sometimes, having someone like this on a team is the difference between something being possible and something being impossible. In other words, you could hire 100x average devs and they will not be able to get the job done, but a single person like this may be able to. There is a threshold one must cross which involves constructing neural connections across unexpected boundaries. Dipping your hands into many domains makes you below average in each domain to start, but after some amount of solving any problem without concern of specializing, they begin to solve each other. Techniques from one specialty apply to another. Bridges forms and possibilities materialize. Within the possibility spaces of intersecting domains exists solution sets that can sometimes be exponentially more efficient. People with access to that are hard to identify. They often do not have traditional backgrounds, get bored easily, have a disdain for hierarchy, and want equitable compensation relative to the possibilities they allow to be open — otherwise known as compensation in the neighborhood of c-level staff. If you are someone with these abilities, know your value. You make or break a company. Do not allow yourself to give your abilities away while a sales or marketing person parasitically leaches off of you while making you feel small.
- SomeCallMeTim 4y agoI made my early career on doing things that other developers claimed were impossible. But we don't have another term that both has traction and isn't ridiculed. "Rock star" and "ninja" are in the latter camp; both those terms and "miracle worker" seem like you're bragging. But you're absolutely right. I know that there are some solutions I've come up with--quickly--that the rest of the team wouldn't have achieved given years. Your overall descriptions hits me too--non-traditional background, ADHD-level boredom sensitivity, always pushing for the right solution even if it's not politically wise, and demanding of high compensation. But instead of changing the world I keep taking relatively brainless tasks just because they pay well. The boredom part makes it hard sometimes, but I usually get around that by changing the environment I'm working in so that any repetitive work gets eliminated.
- arinlen 4y ago> Today it would probably be a PowerPoint presentation, but the point stands: Expert has been an overused and overloaded term for far longer than 10x, and other than specifying a focus ("video encoding expert" or similar) it is insufficient to actually communicate to non-technical people the distinction. This blend of highly dismissive comments on expertise and the volume of work it takes to achieve it is starting to become a cliche in software development circles, similar in tone to the denigrating comments regarding roles such as system architects. Expertise is domain knowledge supported with real world experience. It's not fancy slideshows. The video compression specialist outperforms you in every way because he's been studying the problem domain, researching the problem, implementing solutions, and analysing the results. And meanwhile you barely know what's a ffmpeg. Some developers think too highly of themselves to the point they feel they can parachute into a problem and talk down anyone around them, including experts and specialists. And this shows in the code, and unfortunately in team dynamics.
- SomeCallMeTim 4y ago> other than specifying a focus ("video encoding expert" or similar) I am not making a dismissive comment here. I'm saying that expert is only useful for saying things like "video encoding expert". And that a "video encoding expert" may be great in a very narrow way only involving the math surrounding video encoding, or may be a 10x developer in addition, but the "expert" label is orthogonal. I'm certainly not going to pretend to be a video encoding expert in the sense of working on the encoding code at least. I've actually worked on projects that have used video encoding multiple times, and in that sense, yes, I did just "drop in and become an expert," in some cases learning ffmpeg on the fly and in other cases integrating C libraries and dealing with frame buffers. And that is what a 10x developer can do. I don't feel the need to "talk down" to anyone, though, but if an expert makes a claim I will expect them to be able to talk intelligently about it and defend it if it seems wrong.