by Geoffrey Grosenbach
The job of a manager is not primarily to generate revenue or even complete projects but to develop people. – Marc Holmes, HashiCorp CMO
Becoming an engineering manager is like a murder mystery: you need both the motive (to lead) and the opportunity (to manage people).
But once you’re there, it’s easy to think that your job is purely to dispense your own wisdom daily so your team can be amazed at your brilliance and can implement your ideas serially.
I’ve learned to take a different approach where my goal is to provide people with opportunities to grow in the areas they are ready to achieve next. And for that I lean on a tool that was built for thinking about education: Bloom’s Taxonomy.
The levels of Bloom’s taxonomy
Bloom’s Taxonomy is a tool for thinking about the ways people can learn and how they build proficiency at increasing levels of complexity.
┌─────────────┐ │ 6. Create │ ┌──┴─────────────┤ │ 5. Evaluate │ ┌──┴────────────────┤ │ 4. Analyze │ ┌──┴───────────────────┤ │ 3. Apply │ ┌──┴──────────────────────┤ │ 2. Understand │ ┌──┴─────────────────────────┤ │ 1. Remember │ └────────────────────────────┘
For any area of study, you start at the bottom of the pyramid: remembering basic facts. Maybe you can remember the name of a function that reads data from a file. One step up is understanding. Can you explain how a feature works? Moving up, apply means that you can use your knowledge at the lower levels to implement a feature such as writing the code to read data from a file in an existing application.
It takes time and effort to be able to do the actions further up. But when you do, you’ve achieved a more mature level of skill.
Your job as a manager is to develop people toward the pointy end at the top: Analyze, Evaluate, and Create. These are also the skills that your team members will need to exhibit in order to reach the top end of the career matrix: Staff and Principal.
Micromanaging is living on the wide end of the triangle near the bottom: “Do this exactly as I told you.” But if a person is operating at only the “Remember”, “Understand”, or even “Apply” level, they need you to keep their task queue populated so they can have something to do once they complete a task. That might work for a few people on the team for a short time, but it’s better for you and them if they can ideate on their own and prioritize their next task or project.
When you have a team that can Analyze, Evaluate, and Create, then you’re cooking. And it’s when you as a manager have achieved the goal of being a multiplier. When a person can operate at the higher levels of Bloom’s, they can review each other’s PRs, design the first draft of a system, or collaborate with stakeholders in other departments.
One of the best ways to prove you’re not a predictive language model is to demonstrate critical and sophisticated thinking.
How to use it as a manager
As a manager, I can easily identify areas where I might be able to complete a task myself, but can I instead delegate to someone where they can practice operating at the higher levels of Bloom’s? Maybe I create a strategy, but I delegate applying part of the strategy to someone else. Or maybe I ask someone else to analyze a situation and identify the key problems to solve.
You can also see where good leadership practices fit into the stack.
- In a meeting, don’t be the first to answer a question. Give someone else the opportunity to practice understanding.
- Encourage a culture of feedback and improvement. Celebrate bug finding and elimination of edge cases: analyze.
- At HashiCorp, our employee onboarding process starts with making an edit to an existing document (apply), and concludes with writing a simple tutorial from scratch(create).
Ask yourself, “What is this person capable of? What are they ready for now? What should they be capable of doing in the next year?” And then celebrate when someone completes the higher levels of thinking.
I saw this happen last Summer with our intern who was hired to improve automation and validation in our workflows on GitHub.
To start, she learned the basic
git commands (remember). She read about the syntax of GitHub Actions and stubbed out a simple action (apply). After a round of feedback, she refactored a shell script associated with the action. By the end of the Summer, she was communicating with stakeholders and extending the validation workflow to be more useful (analyze and create).
A success for everyone involved.
Target the levels of Bloom's taxonomy when delegating.
Remember, understand, apply, analyze, evaluate, create.
Avoid micromanaging, be a multiplier.
Even if people need to start by remembering and understanding, it will make your role more fulfilling and their job more meaningful to work toward analyzing, evaluating, and creating.
Plan for progress.
Through time, are people capable of and acting at levels that they couldn't previously?
The higher levels of Bloom's correspond to higher levels of your career matrix: Staff and Principal. But celebrate smaller successes, too.