What Does a Senior Engineer Look Like?
VP of Engineering at CareMessage
Here, I look at Senior Engineer competencies demonstrated on a few dimensions. The below items are certainly not a definitive list of all competencies needed to be effective at this level, yet the descriptions typically help to paint a sufficiently broad and vivid picture that in reflection and discussion, growth opportunities present themselves with those that I work with. While the naming, leveling, and expectations at your company may be slightly different, I hope that this will help to trigger conversations between engineers and managers to help further the growth of those we have been blessed to lead.
Scope of oversight
- I expect that the scope of oversight at the Senior level would cover a handful of features to a small product, or 1–3 services (varying based on size); meaning they have a good understanding of those code bases, the design patterns, where the areas of concern are, how they operate, the architectural patterns, etc.
- I expect that they have the ability to architect features, a small product or services to accomplish the business outcomes needed. They effectively engage with product development conversations to collaborate on good technical decisions (within their scope of oversight) with a solid and growing level of understanding of the impact of those decisions. While they may need the assistance of others to make sure they understand enough of the surrounding services or code base to effectively design the feature, they can take on the decision making role with effective judgment based on a depth of understanding of the feature that they are working on, it's boundaries, and how to debug it within the system.
- I expect that they have a solid and growing depth of understanding of how to effectively tool their code for scale. While the level of scale may vary based on the context of the product or team, they understand and apply principles to effectively test, track, log, monitor, and evaluate the ongoing health of their product. While they may not be the best individual to debug any and every production system, they are growing in their understanding of how to, and they design their features and products in such a way that others could of theirs as well.
Scope of Oversight
- In regards to the above technical scope of oversight, I expect a Senior Engineer to also have the ability to effectively break down and scope that work into workable chunks for themselves and possibly another engineer. Effectively scoping and sequencing includes creating these work packages in small enough pieces such that estimations are effective, keep in consideration how they and the other engineer work and the timing of that work in light of other cross-team constraints. This scoping will likely be in collaboration with other engineers, however, Senior Engineers have displayed ability in breaking down their tasks, awareness of other dependencies and cross-team constraints, and a general experience level that allows them to anticipate and articulate potential impacts so that those risks rarely result in major impact to the team or project.
Accuracy of Estimations
- I expect that they often (70–80% of the time) succeed in accurately estimating (within 150% of the estimated sizing) their personal Stories/Tasks, as well as showing continuing improvement at estimating tickets of those that they are working with. I expect that they understand what a properly defined ticket looks like, that they write them (when appropriate) and that they effectively push back when a ticket written by another team member needs further clarity. I expect that their estimates are consistently completed, meeting the defined criteria and the team's Definition of Done, within 150% of initial estimation and a growing understanding of how to help others in their team accomplish that. This includes the consideration of all of the parts of the process to get to "Done", not merely the functional coding, e.g. Research, Collaboration, Fudge Time, Test Writing, Personal QA, Delivery, etc.
Self and Team
- I expect that they are able to identify areas for improving the efficiency of their own work as well as a growing awareness of how to improve their teams work. They are able to identify constraints, make suggestions, identify tools or process changes which could make themselves and their team better.
- I expect that they are curious about their product and how to make it better. They have a solid and growing understanding of their product, their users and the market that it operates in.
- I expect that they know their team and product(s) success metrics and are applying that understanding to the features that they build.
- I expect that they are looking for ways to help others on their team to grow. Examples I have seen of this type of servant leadership include onboarding others, pair-programming, mentoring, teaching new tools or processes, etc. I expect that they are displaying some form of leadership towards those around them such that they are magnifying the impact of their colleagues and team.
- They effectively communicate with their teammates, they develop an appropriate level of rapport with those outside the team, and they are an effective team representative when needed.
- I expect them to be comfortable and effective at communicating with other engineers and teams to keep their work (and any that they may be overseeing) unblocked
There are certainly other competencies which are important that someone brings at this level: Product Mindedness, User Empathy, Interviewing, Design Focus, Business Orientation, etc. just to name a few; and these can be incredibly powerful for individuals growing impact. However, when I think about the core competencies that I expect engineers to possess, the above are those that I expect to be demonstrated consistently in all engineers at this level. These are those that I am most often and consistently pointing to-to help engineers at the Senior/II level to be successful and to grow into this at a professional software company.
- These expectations assume that the engineer has on-boarded and have been operating in this role for enough time to display these effectively. I expect that we should see these skills demonstrated in progressing growth as they grow in understanding of the product and team. Generally at InVision this was sometime within the 2–3 month mark typically folks have a solid understanding of their teams products, and sometime between 4–6 months, they begin to really understand the broader ecosystem that their product operates in and display high impact in these areas. However, the timeline will vary highly based on the org and the size and complexity of the code base.
- Many individuals which I have led, have been technically skilled and have been able to excel and grow in the Technical area while yet requiring other competencies to make it to this level. In these cases, you often see those engineers overseeing more technical surface area (perhaps a medium-sized product, many features, or multiple services) while remaining at the Senior level. In my expectation, this one area of competency (lacking in the demonstration of other key areas) does not prepare them to operate effectively at this level. This is why it's key that we have growth and expectation discussions so that I/we can help them to identify, prepare and grow.
- "I expect that the scope of oversight at the Senior level would cover a handful of features to a small product, or 1–3 services (varying based on size); meaning they have a good understanding of those code bases, the design patterns, where the areas of concern are, how they operate, the architectural patterns, etc."
- "I expect that they are able to identify areas for improving the efficiency of their own work as well as a growing awareness of how to improve their teams work."
Connect and Learn with the Best Eng Leaders
We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.