At some point in my career I had to evaluate my fellow colleagues and thus I wanted to be as fair and objective as possible. For this reason I researched online for standard measurement techniques online. I searched also for info on what tech giants were doing. I came across a few interesting ideas which for my use case got simplified into the following.
Basic set of vectors to measure for software engineers of any level (Junior/Mid/Senior). Rate with 1 to 5 where 1 is lowest and 5 is highest.
- Completeness (of deliverables such as Code, Documentation, Defect resolution) — This vector can be extracted from the project management tool such as Jira or Asana as completed tasks that comply with the acceptance criteria and definition of done.
- Quality (of deliverables such as Code, Documentation, Defect resolution) — Can be measured by the means of a peer-review process and quality gateways in the integration pipelines.
- Productivity (of deliverables such as Code, Documentation, Defect resolution) — Is the product of number of tasks closed in a period of time (although, we need to consider also the weight in terms of complexity of the tasks)
- Technical knowledge (and growth pace) — How quickly the employee masters a new technology or uses patterns and paradigms with confidence regardless of the underlying technology
- Ability to understand and interpret requirements — How often the closed tasks satisfy the needs and the acceptance criteria set by the business.
In addition to the vectors stated above, for a senior Engineer the following parameters will be more applicable as senior engineers are expected to guide at least a few other junior engineers.
- Collaborative — From team members, what is the general rating regarding collaboration
- Supportive — Again from the other team members, collect a rating on how supportive the colleague is.
- Completeness of team deliverables — How much team deliverables comply to their respective definition of done and…