In my experience, clever (usually simple) architecture in solving a problem will always beat clever code, and volumes of code.
For example, in this post you seem to be setting the upper bound around 3x. But actually, it is trivial to be 3x more productive than average: (a) Don't browse the internet while at work; (b) Sit there and spend your time working on the actual problem, not ratholing on programmer fixations that have nothing to do with the end result. Done. Congratulations, you are now 3x, before any consideration is made of experience level or talent or smartness or unique instinct or whatever else.
They are forces of nature, prolific creators that deliver when they have to, and lift up entire teams to be better when they work with others.
The right kind of compounding experience goes a long way.
... or the infamous -10x developer.
Count your blessings.
Bad developers are bad because they do stupid things. Hallmarks are wheel reinvention, misuse or abuse of patterns, excessive abstraction or complexity, ignorance of security ramifications. You could go on forever but really it just boils down to someone making bad decisions from inadequate knowledge and lack of foresight.
Code written by good developers can be understood and read easily and often appears simple. The extreme complexity that many companies are proud of is just a sign that their developers lack the foresight to build an elegant system.
To what level should a developer be at before joining the workforce?
How do we bring all potential developers up to this level so that we can have a smarter workforce?
Can you create an education system that reliably produces developers at that level?
That's what interviews attempt to do, but since those vary so widely between companies (with some being done terribly), you can't get a coherent picture of what to actually learn that will serve you among the greatest number of companies.
This means that, if you can't answer all three questions above, the workforce at large MUST support bad developers writing bad production code at some point in their careers because that is simply how they learn what is and isn't important to know.
If we can't create this system, then we're all complaining about nothing because there's no way to avoid writing bad production code at some point in your careers.
(I specifically mention production code because conceivably, you could just have them learn and write code in a dev environment, then have that code reviewed, but never let them have much of a business impact. Most of us don't care much if someone is writing bad code in a dev environment because that's meant to break occasionally)
> To what level should a developer be at before joining the workforce?
> How do we bring all potential developers up to this level so that we can have a smarter workforce?
> Can you create an education system that reliably produces developers at that level?
The solution is really to give junior developers a level of responsibility (and feedback) that matches their level of experience. Juniors shouldn't be making architectural level decisions or even major design decisions, nor should they be deciding _what_ to build.
They should be receiving feedback on the small-scale design decisions they do make, and exposed to the senior devs' decision-making processes so they can develop that level of knowledge. And their responsibilities and exposure to business goals and impact metrics should be gradually increased as they gain the experience to be able to make larger and higher-level decisions.
Clear thinking and clever architecture that results in a simple but effective and flexible design will almost always trump any attempt by clever programmers (skilled or not) to build monuments to their cleverness.
The key skill that made a big difference to me is being able to build discipline.
Once I could buold discipline and apply it to learn anything (like improving focus), the effects multiply and compounded.
Discipline strangely is freedom to maximize things. Discipline for me started with being open to the fact that things (lkke 10x dev's) may exist even if I can't fathom it.
People have called me unusually productive, but compared to others I know I don't feel the way.
Are making good decisions and IQ directly correlated?
Even Google admits that IQ is the best predictor of job performance but they go on to say that the metric is discriminatory.
This is more of a thought piece than anything.
"... feel like I’ve never been as productive an engineer as today; and yet, I notice that I’ve never worked less hours in a given week"
- "I have to get this done today, no matter how long it will take" -> procrastinate the whole day, waste the night to do the stuff in low quality, using "it's late now" as an excuse.
- "I have to leave early today" -> productive focuessed work to get some stuff done before the time runs out
So the people who are perceptually 10x tend to have hit on a strategy that keeps them in the feedback zone without being overly concerned about surfacing everything right this second, and have management that cooperate with their strategy.
I think the author works on my team.
Since starting my current gig I've built several functioning prototypes at work that have business value. After about 1.5 years I was given lead on a project that just shipped to production, which serves a business need. I don't really consider myself a 10x programmer, but I create useful stuff.
The lead developer on our team has been spinning wheels on a project whose result is supposed to be useful. The problem is he doesn't have the proper technical knowledge, and our manager is even less technically inclined than him. He simply smiles and nods whenever the lead spews jargon at him. This project has been going on several years without tangible results. It blows my mind.
My issue isn't that his project is useless, it's that our manager strongly urges me to follow his advice. I can't follow the advice of any engineer, lead or otherwise, whom I've never seen ship a system. Period. So I just do what any good engineer does - whatever I think is best for the company.
Edit: The sad part is I'm only working 20 hours a week on average. When I work from home I do take naps right after lunch; usually for about 2 hours. I could actually take on a second job and still be sane. It's quite dumbfounding to see what passes for "productivity" in corporate America.