Labelling “Senior”, “Mid” and “Junior” roles of software engineers comes up from time to time in the developer and programmer forums. While I’m not a fan of labels for people or groups of people – Seniority and Skill/Knowledge/Ability Levels get to me because they are so ambiguous. So it is down to us to contribute and discuss to reach a clear definition.
A truth of seniority, across all genres, is group-wide effect. It’s leadership, it’s empathy, it’s improving the individuals and the group as a whole for the group’s common interest. It’s a positive improvement, it’s team-wide developer productivity and overall business-wide productivity improvement. But what does that mean for Developers and Software Engineers?
For Software Engineering teams this is performance multiplicativity. I am not totally clear on which metrics should be included in the ultimate measure of performance for software engineering. (I recommend reading elsewhere, Martin Fowler, Ian Sommerville, Fred Brooks, Barry Boehm, Kent Beck, Martin Odersky, Steve McConnell, the list goes on and on). Neither am I even sure whether the measurement of these items is best for the sake of the engineers. Meeting and exceeding KPI metric thresholds that someone else has selected and set for your role is not everyone’s greatest motivator, and how that’s communicated (or how it is not) is important. Regardless, in terms of defining a team’s performance indicators that can benefit from multiplication, I find the following metrics of performance strike me as important:
- efficiency to complete tasks set,
- of project milestones met,
- of technical debt handled up-front
- of technical debt handled in post-release
- of adaptability to internal business changes
- of adaptability to market opportunity changes
Measure, Monitor, then Manage. Like those metrics, “Seniority”, or impact on the team in terms of an established set of metrics, can be measured too.
Consider, if a person can enter a team to make every team member happier and more effective, this is “seniority”. With a team of 5 devs and an increased effectiveness of 20% per dev, that’s like creating a new developer for free. Everyone’s happier.
This thinking, leads me to the phrase:
“Seniority is team-wide performance multiplicativity”
A sign of leadership, capability for mentoring, for emotional intelligence and one’s own mastery of knowledge, skills and experience that are flexible enough to react to changes. That’s why I believe inspiration, leadership, mastery, fit and adaptability are the metrics of “seniority” and those are measurable.
Training on these skills will deliver consistent positive benefits to your co-developers/ developer teams. These are the keys to achieving more impact and this is a sure path to seniority.
If you are interested to work together, discuss a project or ask a question then ping me an email and let’s have a chat.