3 ms·
The article isn't what I thought it might be. The article doesn't really challenge the existence of the 10x programmers but merely puts it in perspective from
by yason 7y ago
The article isn't what I thought it might be.
The article doesn't really challenge the existence of the 10x programmers but merely puts it in perspective from project management's view.
It is mostly about not relying on the superprogrammers when it comes managing software projects because they are so rare and need highly complex free-form work field to execute their magic. Just merely hiring the best programmers and subjecting them to a working schedule and distribution of tasks designed to accommodate average programmers doesn't improve overall productivity much and certainly doesn't give you 10x or even 2x productivity improvements. This all makes sense and is probably known to people who manage software engineers and software projects.
The article does mention the high differences between the worst and the best programmers and says that it doesn't make much sense to compare the best to the worst. But the 10x has always been used to underline the whole scale itself, or that order-of-magnitude differences exist in the first place. The best-to-worst can even be higher, from 10x to 50x, but 10x is the illustrative reference point. But that's not the shocking property.
What's really unsettling in this phenomenon is that if you take a seriously good programmer and compare him/her to the near-magical best programmers, there's still easily a 2-3x difference and that's just unbelievable. For example, take the best programmer at your workplace and compare how much better people like Fabrice Bellard are? In other words, what's the Bellard ratio of your co-worker? 2x? 3x? Are five fingers enough or do you need another hand?
Then take an established, skilled professional of any other more traditional field and make a comparison to the very best individuals on the same field: what's the max skill factor you can find? The best race car driver to a good race car driver? The best golf player to a good, successful golf player? One point...what?
Higher multiples can be seen in fields that tie together more dimensions of skills into a more complex domain, such as stem fields. The best mathematicians or the best physicists are likely to be a lot, lot better than just good mathematicians or physicists. But in my experience the differences in programming are even greater. I tend to think that it's because of the field of domains computing appears in the sweetspot where it is both bound by practical, physical limitations of hardware and unbounded, abstract theory and imagination together form a huge complexity rabbit hole. If computer science could proceed without the limits of processing capability and the speed of electrical circuits it would converge with mathematics to a closer degree, and things would be less complex. And if computer science would only focus on few simple things at a time like early relay computers it would resonate more with electronics and physics. But throw in a few million lines of code that has to do something useful instead of just being highly theoretical or something complex enough that a simple, practical approach is out of the question, and you've got the essence of programming.
In other words, it's very easy to have things get very complex in computing and because we're still bound by the limitations of cpu and i/o we can't allow ourselves to go too deep in that complexity just to be able to even run any of our programs within a meaningful time, it becomes a jungle of tradeoffs and to navigate that jungle you basically have to be able to considered everything that's involved in it. That gets complex. And because handling complexity is hard it only makes sense that the very skill of handling behaves very exponentially: if the best decile is close to ~10x better than the worst decile, the best in that the best decile are likely to be close to ~10 better than the worst in the best decile.
- yaantc 7y ago> For example, take the best programmer at your workplace and compare > how much better people like Fabrice Bellard are? In other words, what's > the Bellard ratio of your co-worker? 2x? 3x? Are five fingers enough or > do you need another hand? Let me share a personal anecdote here. I once visited a large service company that worked on a micro base station for LTE. The project manager told me with pride that up to 1500 engineers worked on the whole project, which comprised the eNB and the EPC code network with all the management support. Fabrice Bellard, with his company Amarisoft [1] developed a full software based eNB on his own, with a collegue to develop the "EPC in a box" software. Now it may not be apples to apples, and since then Amarisoft team grew a bit (to ~10 nowadays?). But even if their eNB scheduler is not exactly comparable to an E///, Nokia or Huawei it does work and is commonly use in labs for testing. While I'm not sure the service company micro eNB was deployed for real. [1] https://www.amarisoft.com/ https://www.amarisoft.com/