I think this is kind of a jumble. For example, these are all hallmarks of very good programmers:
> They will never try to reinvent the wheel, they will google up the best practices, write in small understandable chunks, thoroughly follow naming conventions in order to not confuse themselves in the future, document everything in comments etc.
Next one is more of an IQ issue than good/bad. If my situation isn't time sensitive, and the slow guy is careful, and I can get him at a much lower rate...
> Their bad part is mostly the speed. Lacking experience, they have to consult with stackoverflow, refactor every now and then and eventually burn out.
This part is loaded with combinatorics. How well does the manager understand his market? His product? Is it a feature, or a misfeature? I think we all have stories of managers signing off on time-bombs, and missing the mark on where the market's at. Having the good programmer take a few hours implement a feature sounds great, until the better programmer comes along, and takes five minutes (and no code) to prove that the feature was a mistake. The only true measure of performance, is performance.
> While the good and fast coder will deliver the working code in hours and days to the manager's satisfaction
I think following part is a credit rather than a demerit. Read up on second system syndrome, or anything Chuck Moore has to say about programming. Solve the real problems, not the hypothetical ones (which may never materialize).
> though not as universal and forward looking (in terms of configuration and integration hooks).
Here is where I would use the word bad rather than mediocre. When they resort to empiricism out of an aversion or inability to think things through, it will never be right -- even if it passes all of the tests.
> And the coder that I classify as mediocre knows and employs all the programming patterns which makes their quickly written code standard and understandable, but not always working as expected until several testing iterations pass.
I'm not a big fan of meta and abstractions. A lot of good signal gets thrown away. I like demos.