|
|
|
|
|
by bluGill
927 days ago
|
|
You should ALWAYS put your smartest/best developers on the least important project. This means your second best developers can grow to become your best developers, and nobody feels bad about interrupting the best developers. It also means if an urgent must do now project comes up your best developer is free to drop everything to do it - who cares that you just made the least important project late, while if they were on an important project management would have to think about priorities. (most do it now projects are things that can be done in days or weeks, if they are more than that it needs to go through the budget process) Any large project will have plenty of technical debt that isn't important to clean up now but should be done. There are always new tools to try and see if they add value to your project. There are new frameworks to try that might or might not be worth telling everyone to start using for the next story. The above does work for a tiny company of course. However for larger companies it is important. |
|
How do you retain your smartest/best devs when you are putting them on the least important projects and expecting them to tolerate infinite interruption?
Certainly there is a tradeoff of coaching vs doing for seniors, and you want to raise your overall team up.. but in practice a lot of "agile" environments are very focussed on output, and want to see more points/stories out of higher paid people. It sets up an adversarial system where nothing is expected of some, and everything is expected of others.
You are also correct about team size. In an engineering org with 1000s of people, you want everyone to grow and no 1 person really matters.
In startups, small orgs, and teams of 3-5 devs.. you do need your best doer to, actually, well.. do.