The fastest way to kill high levels of productivity is to not value high levels of productivity.
Edit: And I believe there is a strong correlation between people who value high levels of productivity and people who can build highly productive work environments.
I have not found that to be true. In my experience the fastest way to kill productivity is to measure it incorrectly & incentivize bad behavior chasing the wrong thing.
Everyone values productivity but virtually no one has a good way to measure it, at least not in software.
You can't value high productivity if you don't recognize it when you see it, so any workplace that satisfies your first criterion will also satisfy sheepmullet's.
I once worked at a place that used spreadsheet workbooks to track developer activity down to the second and used SLoC as a management metric. It was the least productive workplace I have ever seen. Paid for by ~= $7M per year of the US federal budget, and returning a CRUD app that was probably still outperformed by folders in a file cabinet. A year of work by 12 "developers" might replace one paper form.
High productivity was interpreted as a threat to the gravy train. In retrospect, I should not have suggested that everyone on the team read _Code Complete_, because it just painted a target on my back.
In my experience this is almost always a management driven attempt to turn 1x engineers into 1.2x engineers.
Can you provide some examples where this is the norm in a company culture which focuses on building and enabling high performers?
Maybe we should discuss the role of the managers in getting everyone closer to their 10x potential instead of talking about this mythical always-10x creature?
Just think about your own carrier and people who helped you in the very beginning. Without them, would be the 10x guy you are today? What if your mentor was instead a -10x idiot?
I don't think we're saying anything exclusive. From what I've seen, pretending the gap doesn't exist (for whatever reason), is a sure way to make sure things don't improve.
I've seen programmers that were dead weight, moved to a different team and begin to flourish. I've seen programmers that on paper were the least valuable part of the team, do all the small things so well they were actually invaluable. I've been the developer that was considered a 10x dev but due to life stuff getting in the way I was probably a negative.
So sure, there are developers who are better than others, maybe even in non-linear ways, but so what? I think we can put lots of 1x developers into situations were they get 40% productivity improvements and that will go a lot further than chasing the long tails of 1000x devs.