3 ms·
Developer productivity is not linear in function of task difficulty. A 10x developer may be just as productive as a junior if given easy enough task. Or even ac
by pkolaczk 7y ago
Developer productivity is not linear in function of task difficulty. A 10x developer may be just as productive as a junior if given easy enough task. Or even actually worse, because he could get bored much more easily. It may not be fun to move data from a database to a website when doing it for the 100th time.
In a company I worked for, there were two teams working on the same product: the mobile frontend team and the backend team. The productivity of all developers was very similar, and both teams seemed to be working in lockstep and features were delivered mostly timely without big issues. Until the moment the frontend team hit a serious bug affecting the core functionality. After they struggled with it for a week, a senior Java developer moved from the backend to help them. He nailed down the bug in a day... in third party C code. This is why you need 10x devs, but they may not be immediately visible. A 10x developer is not 10x more productive. A 10x developer can solve 10x harder tasks when 1x developers fail to find answers in stack overflow.
- jffhn 7y ago>Developer productivity is not linear in function of task difficulty. Tried to come up with the draft of an equation (upgrades welcome ;): cDev = capability(dev); // > 0 dTask = difficulty(task); // > 0 ssttTask = shortestSolutionTypingTime(task); // > 0 pk = priorKnowledge(dev,task); // in [0,1] lcd = log(cDev / dTask); timeTaken(dev,task) = (cDev <= dTask) ? +Infinity : ssttTask * ((1 - pk + lcd) / lcd); productivity(dev,task) = ssttTask / timeTaken(dev,task) = (cDev <= dTask) ? 0.0 : lcd / (1 - pk + lcd); // in [0,1]