October 11, 2014
You've probably heard about the Peter Principle, which stipulates that within an organization, people tend to rise or be promoted up to their "level of incompetence". This idea touches upon the fallacy of turning engineers into managers and the still persistent discrepancy in pay scale between manager and so-called "individual contributor" (IC) career tracks. One of the recommendations to avoid this fallacy is to not promote people based on their past performance in their current role, but on the predicted performance in their new role: in order to be promoted, you need to be already performing at or above the average level of the target role.
The intention is clear and appears reasonable at first sight: in order to avoid having each person rise to their "level of incompetence", this approach attempts to ensure that everybody is performing above average for the role they're in. You'd think that would increase overall productivity and job satisfaction. Perhaps this works for (some) managers, but I feel the IC is left necessarily frustrated and underutilized.
From a business perspective, any manager has an interest in ensuring that their team is "successful". As noted here:
Employers want you at a difficulty level where you'll succeed 95% of the time. [...] Most employers will assign you work below your frontier of ability
Failing to complete projects can only be a rare exception, lest the manager be perceived as having already reached their own level of incompetence. But an individual cannot grow professionally without failing. The lessons of a successful project are minimal -- perhaps you got lucky, perhaps you actually did the right thing -- because unless you first failed you don't know why you succeeded.
With this in mind, consider what happens when we promote only within a person's well-known capabilities. Any good engineer is by definition performing above average of his/her current level (if they were just hired / promoted) -- or the next level, if they have been in this role for a while. Everybody is over-qualified and over-performing. Nobody fails.
What happens to learning when nobody fails?
October 11, 2014
 In the IT industry, it's very hard to learn from others' failures, since -- once you reach a certain scale, anyway -- almost all projects are unique to your environment, even when we solve the same general problems over and over.
 Now we know that despite everybody's firm belief that their organization "only hires the best" this simply cannot be true, and that every organization has its duds. But let us pretend.