|
When comparing leadership that (mostly) works (in the military) to leadership that (mostly) doesn't, I notice a few fundamental differences: 1. Flat hierarchies. In SE, there are officially only very few levels between a grunt and the CEO. In the military, hierarchies are deep. You have squad leaders, platoon leaders, sometimes even more staff, company staff, and so on. That means the gradient between a leader and someone being lead is rather small. Ideally, everyone can step up to a higher position immediately (useful because of the, ahem, high fluctuation). 2. Planned career advancement. The military has always agreed that leaders (that is, officers) require special training. But that training comes after they have learned the fundamentals. In SE, most managers come from dedicated management backgrounds. If an engineer becomes manager that is considered unusual and difficult. 3. Strategic training. Officers have wargames and even colleges dedicated to improve their decision making. SE Managers have what? A few books on amazon? It's not just the how that is important in great leadership, the what should not be forgotten. |
#2 - working at a major tech company, there was a big emphasis on progression for each level up the engineering org, as well as the expectation that anyone (with at least say, 6 months experience at a given level) would be capable of stepping up to fill a hole at the level above them on short notice. This happened from time to time and often was an opportunity to accelerate career progression -- if you did well filling in short-term at the next level up, you'd probably get some extra training and get promoted to make that permanent in the near future.
Also #2, in my 10+ year career I've never met an engineering manager (at any place I worked, or in my extended network) who got in via any path except spending >= 5 years as an engineer first. I'm aware that such managers exist, but I've never encountered one.
#3 - Every place I've worked has had a management training program of some sort. Where I worked most recently, if you wanted to move into engineering management you must be a Staff Engineer and you must apply (and get a supporting recommendation from your manager) to the Apprentice Manager Program (AMP). During AMP, trainees get assigned a small team to lead, and that team is part of the training program, as they give regular feedback. The managers in training attend weekly training sessions, have homework, etc., and are getting feedback from multiple directions throughout. At the end the candidate may or may not be approved to move to the manager track - and they also have the chance to decide it's not for them and go back to the IC track with no problems. They can also apply again in a year if they fail the first time through.
My understanding is this kind of stuff is pretty standard among major software companies.