Last week I was pulled into the tail end of a project which had just got pushed back to the end of February for complications. The project was now billed at 3 guys, 3 weeks. After spending an hour in a meeting I came up with a solution that is going to be implemented on Tuesday by one guy. Same risk, but a fraction of the work.
I know most of the time when you think about 10xers you think about some kind of math / programming / algorithm god, but don't discount big picture skills. Unfortunately I'm not sure how you teach big picture skills or put them down on a resume.
If you see one of your co-workers doing 10x the work of your other co-workers at high quality, then it's much easier to label them at a 10x engineer than trying to label yourself. Objective vs subjective.
When it came time to learn Spring, this guy flailed, and wrote Spring like it was struts. In addition, he was a pontificating jack ass, real abrasive personality.
The non technical and business users thought this guy was a super star. I've only quit a job once because of personalities, and this was that time.
Which language has standard library small enough that people can memorize the whole thing?
My own web projects in java 15 years ago were coded in java and glued by JavaScript (Rhino) with templates in JavaScript, which were compiled into bytecode for speed: fast, secure, simple, 10x faster to code.
I have a webapp that I maintain for a family member written, by me, in 2005. It was using WebWork (which became Struts 2) and still is, and I am trying to move it to something more modern in bits and pieces. But it's requiring me to learn a lot, which I am trying to do in the limited time I have.
At my work we do way more modern thing, but so much so that I'm not able to do any UI stuff since they use tech I'm not "hit the ground running" capable of doing. But I'm trying.
I hope I'm not abrasive however.
Maybe he's messy, but nobody pays the janitor millions of dollars to clean up everyone else's messes even if they tell themselves he's important. Rather, they pay the people who made it worth cleaning up the building in the first place.
It's obvious, for example, that we don't need titanium cupholders in a car, but maybe titanium rods _are_ necessary to achieve a particular level of performance.
But in software, you'll see programmers doing the ethical equivalent of putting in titanium cupholders "because it's the best" or whatever, with no regard to the cost.
In my experience, a 10x programmer is a 1x programmer who knows where the value is and spends their time on that.
It's poor code design, poor code management.
It's more like:
- irresponsible house developer builds house very fast and very cheaply but he doesn't care about safety or design
- then building is beginning to collapse and tennants have to hire another developer to fix mistakes of previous developer.
They must pay twice! One time - for creation of the building. Second time - for fixing.
They learn for fun. They are endlessly curious. They are incredibly humble and get things done.
They do get more done in their part time hours in the evenings than a full time equivalent. More importantly, 10x really helps with building the quick things quickly and growing them as quickly as possible.
Good lord I sound like a ridiculous fan boy.
However there may be other things he values besides money. Continue to make those great and I'm sure he will continue to enjoy being your coworker.