4 ms·
> Hiring highly competent people to build software does not scale as well as hiring (many) more less competent people. I can't imagine an aphorism I disagree
by DavidWoof 8y ago
> Hiring highly competent people to build software does not scale as well as hiring (many) more less competent people.
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.
- ramraj07 8y agoYou're absolutely right, but what he said is also true: the act of hiring by itself becomes fairly unscalable unless you're lucky and get a constant stream of good candidates (which again won't work in your favor if your company isn't primarily known for its engineering).
- darkerside 8y agoIt does become more difficult (most people don't hire people who are better than they are). That's different from saying that mediocrity scales better than skill. Skillful programmers understand points of leverage and reduce maintenance costs over time. 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.
- ramraj07 8y agoI definitely know some big companies that hire mediocre people on purpose to make sure they stay back and don't leave in a few months. Needless to say those places suck to work.
- hutzlibu 8y ago"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.
- strken 8y agoHow do you stop mediocre programmers from working on advanced tasks, and is the overhead of doing so greater than the cost of hiring excellent programmers?
- marktangotango 8y agoMediocre devs simply can’t do advanced tasks. They’ll spend months with no results. I’ve seen this countless times, especially working with offshore teams. One project was hobbled by terrible database performance. The app simply couldn’t scale. I listened to weekly calls for a year while they floundered. Finally I researched their connection pool and told them setting to control “verify connection before each call” to “verify connection every n milliseconds”, and told them how to fix it. I made sure to do it on a call with their architects and leads and our senior managers. Yeah that was a bit of a dick move on my part but I didn’t care.
- phaedrus 8y agoProblem is there is a class of mediocre programmers who do get results - it's just that they are productive building things that appear to work just long enough for them to be able to move on to the next task, but their work either doesn't scale or falls over in production.
- hutzlibu 8y ago"How do you stop mediocre programmers from working 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.