How to define skill set goals for engineers
What you'll learn
All engineers, regardless of their current level, need to improve their core skill sets to progress in their career. These are not tasks per say - but rather specific skills and attributes that engineers work on developing over a period of time.
As an engineering manager, you can help your engineers set meaningful and impactful goals to learn and grow their skill sets. It is often a challenge to know what areas an engineer might need to focus on.
To assist with this goal discussion we have created a list of skill set areas that engineering managers and individual engineers can discuss in their 1:1 sync ups. This list is provided below in the post.
When discussing these topics it is helpful to ask your engineers the questions phrased as an open ended question. Let the engineer discuss their thoughts and opinions on the skill, rather then providing a yes or no answer. For example, if you ask them "Are you a good communicator?", they will most likely say "Yes". Instead, try asking them, "What makes you a good communicator?". The engineer now needs to give examples and backup to their assertion around their communication abilities. This opens the door for you as a manager to provide feedback on examples and experiences. This in turn helps to build their skills and address issues.
Communication
Does the engineer communicate well? This includes sharing timely status on deliverables, surfacing up blockers when received, giving respectful push back when something is not correct or being approached incorrectly. This includes both internal team members as well as with outside colleagues.
Example questions:
- Which teams (or people) do you struggle communicating with?
- When in the past has team communication broke down? Why do you think it failed? How can we improve it?
- If I asked (so and so) about your ability to communicate status, what do you think they would say?
- Can you think of an example in the past where you were able to successfully communicate regarding a change or problem and thus avoid a major failure?
Organization
Does the engineer know how to keep their tasks straight and focus on what they should be working on? Do tasks slip through the cracks and get forgotten about?
Example questions:
- If you had extra time in the day, what would you spend it working on?
- What tasks take the most amount of your time?
- If I was to add (xyz large task) onto your plate, what existing tasks would you not be able to cover?
- How often do you check your e-mail? Messaging?
- When interrupted, how do you handle telling people that you are swamped with work and don't have time to discuss their item?
Execution Driven
When the engineer is given a task, do they work through blockers to fully deliver on the task? Does the engineer let an issue or blocker stop the progression? Do they seek out the help and assistance needed?
Example questions:
- During your last project, what should we have surfaced earlier on in the process to avoid delays?
- How can we better identify blockers while costing and evaluating a feature spec?
- What do you do when you come across a blocker?
Ownership
Does the engineer take responsibility - not only for successes but also failures? Bugs and issues are a natural occurrence - how does the engineer react to bug reports and flaws within their work?
Example questions:
- How do you triage bug reports?
- Which feature do you feel like gets the most bug reports? Why do you think it gets the most?
- On your next feature, what bugs do you expect to receive?
- What kind of debugging processes or steps do you use to quickly troubleshoot bug reports?
- What kind of logging info are you putting in place to evaluate the "health" of your feature.
Self-Learner
Does the engineer look for new ways to grow and improve their skill sets? Do they seek out opportunities to learn from others? Do they get stuck in a habit and do things only because "that's how it has always been done"?
Example questions:
- What blogs or newsletters do you read to get industry info?
- What kind of skills are you currently working on developing and why?
- What do you need to gain the skill sets you are working on?
- What tech improvements, languages and other improvements do you think are on the horizon that we should train up for?
Mentor
Does the engineer help others on the team to grow and learn - or do they silo learnings in a vein attempt at job security? Do they strive to teach non engineers about issues to help their respective disciplines?
Example questions:
- Who is your mentor? What kind of discussions do you like having with this person?
- Who do you feel like you Mentor to? What kind of value do you feel like you are providing them?
- For your last feature, can you show me the technical docs, tutorials or explanations you wrote up for other engineers?
- How can we help (xyz discipline) work better with engineering?
Technical
Is the engineer considered a technical resource who's opinion is trusted and sought after? Do others bring the engineer in on complicated problems because the engineers guidance is considered valuable?
Example questions:
- What domain area do you feel like you are an expert on? What domain area do you want to be an expert on?
- What are you doing to demonstrate your technical expertise in a given area?
- If you were given a month of time to make any improvements you wanted, what would you do?
- Where do you feel like our product is falling behind on the technical advantages?
Team Player
Is the engineer able to balance team priorities and work well with others on the team? Does the engineer understand and respect the critical nature of everyone's contributions - or does the engineer get stuck in an attitude of thinking that their tasks are the most important.
Example questions:
- What can we do to speed up the efficiency of (xyz department)?
- What have we been asked to change that we couldn't? What could we offer as a compromise?
- How can we better acknowledge the accomplishments of (xyz person)?
Business Knowledge
Can the engineer prioritize tasks and requests according to what is best for the product and business as a whole? Is the engineer able to assess production incidents, bugs and other issues to understand impact to users and the product.
Example questions:
- When (xyz incident) occurred, what was the direct impact to our users and revenue? What about indirect impact to messaging, retention, and other downstream components?
- Of these (###) items on your plate, how would you prioritize them and why? Which item do you feel has the most impact on our business and why?
- When you have two items of seemingly equal importance, how do you prioritize one over the other?
Dependability
Does the engineer step up when extra effort is required - or do they just do the bare minimum? When others are sick or unforeseen circumstances arise, does the engineer go above and beyond for the team or product to account for the temporary needs?
Example questions:
- What kind of stretch tasks do you want to help provide you with additional skills and exposure?
- (xyz person) is going to be out on leave soon... how can we help cover their responsibilities while they are away?
- (xyz project) is going to have a tight deadline... what can we do to limit distractions around the project and help keep it on track?
What other skills and questions would you list out? Provide them in the comments below.