Recently had to quit my job because of exactly this.
People will sabotage things simply because they want the useful idea to be theirs.
Recently had to quit my job because of exactly this.
People will sabotage things simply because they want the useful idea to be theirs.
Not just that, they will sabotage things if it makes them more profitable, which probably happens in thousands companies worldwide everyday.
1. Get a contract.
2. Sell some crappy software to the customer.
3. Wait for them to ask for more speed.
4. Complain it's their fault because their hardware is too old.
5. Offer to either install new hardware or rewrite the software.
6. Profit!
Guess what happens if someone makes the software perform optimally at step 2.
That would require rewriting the whole application (without the artificial speed reduction part), which may be a lot of work.
1. https://en.wikipedia.org/wiki/Proportionality_(mathematics)
Then I think it's safe to say that that's not the view being used in this discussion.
The idea of the probability being directly proportional to n is not technically correct for other reasons (with large enough n, this would allow for probabilities larger than 1), but not for the reasons you're mentioning here.
Perhaps more importantly, the meaning of the comment is independent from this pedantry and should be interpreted less literally so we can focus on its actual meaning.
I think the parent was inferring that there was a chance progress could be reversed at his/her past companies because of the office politics/territory/decorum mentioned in the original article.
Raw efficiency averted by someone's need for the spotlight.
Unless you want to work where you're the least competent person, this isn't necessarily bad.
Hiring highly competent people to build software does not scale as well as hiring (many) more less competent people. It is simply cheaper after the company grows to a certain size.
Process is more repeatable and predictable when programmers are more or less interchangeable mercenary byte plumbers who care about their own career growth compared to when everyone is deeply passionate about quality and competent about technical excellence.
I can't imagine an aphorism I disagree more with. I constantly come across companies with similar-sized platforms where one has a development staff 10 times the size of the other (both in cost and size), all due to the complexity and quality of the code. In the long run, few things are more expensive than a mediocre programmer.
Disagree very much. Mediocre programmers are very good for mediocre tasks, of which there are plenty of. The problem is only, if mediocre programmers work on advanced tasks.
Competent project lead/management
Assigning the right person for the right job. But yes, nobody ever said that is easy.
But in general: by definition there can be only some excellent programmers and lots of mediocre ones. So it simply would not work if every company only would hire excellence.
And it is also not neccesary nor useful, since there are so many boring, mediocre task around, meaning the excellent programmers can focus their time and energy on the complex, interesting problems.
Purposefully hiring mediocrity? Big companies do it, but not on purpose. Survivorship bias is in play here. Taking that approach is a form of managerial cargo culting.
This becomes less and less true as the size and complexity of the relevant software projects grows over time. If highly competent developers have anything going for them, it's their skill both in successfully coping with software complexity, and in preventing undue complexity/keeping it under check in the first place. See also The Mythical Man-Month, etc. etc.