Philipp Hauer's Blog

Java Ecosystem, Kotlin, Engineering Management, Sociology of Software Development

Leveling Up in the Management Skill Tree

Posted on Jun 14, 2021. Updated on Jun 14, 2021

Management is not something that you “just do intuitively” and it will work out by itself. Instead, management is a craft that you can - and should - learn. It’s about knowing the right tools and approaches and learning skills that help you to lead a productive, happy and motivated team. In this post, we visualize these skills as a “Skill Tree” like in a video game. Have look, it will be fun and insightful!

Leveling Up in the Management Skill Tree

Management Skill Tree

Management Skill Tree

Management Skill Tree

Preface

  • Visualizing management tools as a “Skill Tree” like in a role-playing game is fun. It’s a nerdy way of looking at management skills. And I like the notion of “leveling up” those skills.
  • Hence, the Skill Tree is not supposed to be accurate. I know it’s not a tree in the mathematical sense. The order, arrows, and skill distribution over the tiers are not reflecting a hard precondition but should be read more as a priority and differentiation between the basics and more advanced topics. Again, this way of visualization is about fun.
  • Not every item in the tree is a “skill” in a stricter sense . Sometimes it’s a tool, technique, topic, notion, mindset, or something that you just do. Some are easy to implement some are hard to establish.
  • The Skill Tree focuses on people management. Other management topics are not covered like delivery, processes, organization, career ladder, information exchange, and project management.

Description

The Skill Tree is an overview of the different topics that are relevant for leading people. Some skills are only a simple action that you can just do. Some skills are huge topics where entire books are written about. In every case, this is just the starting point for your journey. That’s why I focus on a brief description and pointing you to further resources that you can use to dive deeper into a topic.

Let’s take a look at each skill tier.

Tier 1

1-1 Toolkit

Management Skill Tree - Tier 1

Management Skill Tree - Tier 1

I wrote a post about Team Manager’s Toolkit for 1-1 covering all items of the skill tree in tier 1. That’s why I will only describe them briefly here:

  • Catch-Up 1-1s. Have frequent catch-up 1-1s with our report where you encourage them to bring up topics that they like to talk about with you.
  • Feedback and Development 1-1s. In addition, have less frequent but bigger 1-1s that are dedicated to feedback and development of your report. Talk about long-term and short-term goals here.
  • A questions catalog for each type of 1-1 provides a good foundation to get into a conversation.
  • Shared Running Record. It’s important to document the content and agreements of important 1-1s. It should be shared with the report, so they can have a look at it every time. It should be running which means that you add the summary of the latest 1-1 on the top. This way, you have a full historical record in one document.
  • Performance Reviews and Skill Matrix. Once a year, I have a dedicated 1-1 just about the individual performance of a report. A skill matrix is a useful tool here.
  • Getting To Know You 1-1. For new reports, it’s useful to have a dedicated 1-1 with a certain questions catalog.
  • Employee Journey Maps are a useful tool to reflect on the past time and to learn more about the motivation of a report.

Tier 2

Management Skill Tree - Tier 2

Management Skill Tree - Tier 2

Dialog Skills

  • Feedback Rules. It’s about the basics of giving feedback: I-messages, Observation-Impact-Request-pattern, referring to behavior instead of traits, avoiding generic statements, and trying to refer to a concrete situation and behavior. My blog post “Code Review Guidelines for Humans” explains them and applies them to code reviews. Moreover, Jacob Kaplan-Moss' post “Three Feedback Models” is a good overview of different feedback approaches.
  • Mastering Crucial Conversations. I highly recommend the great book “Crucial Conversations”. It explains how to deal with your own emotions, how do you make a conversation safe, how to share your view or a tough message and how do you explore the other’s view. It contains practical tools like mutual purpose, contrasting, listening skills, and STATE.
  • Non-Violent Communication. A good addition here is learning about the rules of Nonviolent Communication by Marshall Rosenberg.

Appreciation

Surveys showed that many employees are wishing more recognition from their direct manager and that this would improve their motivation and morale.

I believe that appreciation is one of the most powerful things to do when you want to motivate your team and make them happy. Many people are quitting because they don’t feel appreciated by their direct manager. And the best is: It’s easy to do and you can do that every day.

  • Habit of Positive Recognition. Every time you see that an employee is doing something good: say it! Or at least take a note so you don’t forget it and mention it in your next 1-1. It’s important to make a habit out of this. Build up “observational muscles” (Camille Fournier) and look for strengths. Positive feedback also makes your reports more likely to listen to you when you give critical feedback.
  • Continuous Feedback. Give feedback timely and frequently. There are many opportunities for feedback: just in the situation, in your next 1-1, daily stand-up, or retrospective. But give corrective feedback only in private.

Self-Management

  • Tools for to-dos, notes, and the calendar. Managers have to deal with many different tasks, information, and meetings. Fortunately, there are powerful tools that make you efficient and prevent you from forgetting anything. For me, that’s Asana for to-dos, Markdown files & VS Code as my notebook, and a proper calendar client. For further details about some tools, check out my post about Team Manager’s Toolkit for 1-1.
  • Stress Management. A manager’s job can be stressful: Many subsequent meetings without any break, many different tasks that have to be handled in time, people conflicts and expectations from your manager, stakeholder, and your team. Fortunately, some tools can help you to built stress competence: instrumental stress management (influencing the stressors), mental stress management (changing thoughts that exacerbate stress), and regenerative stress management (which influence stress reactions; e.g. meditation). The German psychologist Gert Kaluza wrote good literature about this. In general, I can recommend attending a workshop about this important topic.
  • Protecting your Focus and Time. The day of a manager contains many interruptions and context switching: chat messages, e-mails, meetings, and colleagues approaching you. It’s hard to focus on a task for a longer periods of time. Therefore, it’s important to learn how to manage and protect your focus and time. Some actions are blocking time in the calendar for focussed work, defragment the calendar, or turning off desktop notifications and checking messages in a dedicated time slot. I wrote a blog post about how to get more uninterrupted time at work.
  • Delegation. If you try to do everything on your own you will eventually drive crazy and demotivate your staff. So delegating tasks is a powerful tool to reduce your workload and to develop and motivate your reports. It’s tricky to learn which task you can delegate (frequency-complexity-matrix) and if or how often you need to check and follow up on a delegated task (scale of delegation and control). I like what Camille Fournier and James Stanier wrote about delegation in their books “The Manager’s Path” and “Become an Effective Software Engineering Manager”. Check them out for details.

Tier 3

Management Skill Tree - Tier 3

Management Skill Tree - Tier 3

Mentoring and Development

  • Understanding Motivation. One of your main tasks is to keep your team motivated. Therefore, it’s crucial to understand what drives people - and what doesn’t. The standard literature for this is Daniel Pink’s book “Drive”, where he explains the three pillars of intrinsic motivation: autonomy, mastery, and purpose. For further details, you can read his book, watch his TED talk or check out my blog post about motivating a team of developers where I apply the pillars to software development.
  • 1-1s for Feedback & Development and Performance Reviews. 1-1s are the most important tool when it comes to mentoring and developing your team. In a 1-1, you can find out what motivates your report, what are their goals and how they can progress towards their goals. Also giving feedback on performance and point to areas of improvement are ways of developing a team member. In my post about the 1-1 toolkit, you can find further details about those meetings.
  • Delegation. We already talked about delegation in the context of self-management. Besides, delegation is a great tool to motivate and develop your reports as it addresses two pillars of motivation: autonomy (they do the work in a self-guided way), mastery (they can practice their skills and learn new ones if you delegate something that you used to do on your own).

Team Building and Atmosphere

  • Trust. Surveys (1, 2, 3) have shown that employees who feel trusted by their manager perform better, go often beyond the role expectations, and are less likely to leave the company. But how can be built and show trust?
    • First, we need to build a relationship by getting to know each other. Trust must be grown over time. 1-1s and on-site Getting-To-Know-You-Meetings are a good starting point.
    • You should be an enabler, not a micromanager. Micromanaging kills trust. Delegation is an important key to show trust. But it’s tricky as it requires a certain tolerance for mistakes while ensuring the quality of the result.
    • Monitor outcome, not working hours.
    • Information sharing.
    • Investing into the employee’s development.
    • A good starting point to dive into this topic is the post “Want Your Employees to Trust You? Show You Trust Them”.
    • Trust is a self-fulfilling prophecy. Check out the Golem effect and the Pygmalion effect.
  • Psychological Safety and Error Culture. “Psychological safety is a belief that one will not be punished or humiliated for speaking up with ideas, questions, concerns, or mistakes” (Amy Edmondson). Without Psychological Safety there will be less innovation, brave ideas, and correction of mistakes or misjudgment. A famous survey at Google showed that psychological safety is the foundation of successful teams. Good teams talk openly and continuously about errors and how to reduce them.
    • The behavior of the manager is crucial here as they act as a role model. They can build safety by making explicit that there is uncertainty ahead, by acknowledging their fallibility and by expressing curiosity. In general, mistakes should be embraced and seen as opportunities to learn.
    • A good starting point to dive into this topic is the TED talk “Building a psychologically safe workplace” by Amy Edmondson. The article “Building psychological safety” is also worth a read. Camille Fournier’s Book “The Manager’s Path” has also some good advice on how to correct culture of fear.
  • Culture of Mutual Appreciation. Feedback should not only be exchanged between you and your report. The feedback from peers is sometimes even more valuable as they work together every day. Therefore, establish a feedback culture in your team. So the whole team is giving feedback to each other frequently. You, as the manager, should act as a role model and should give a lot of feedback and appreciation. Retros and dailies are good opportunities to praise. For instance, our daily stand-ups start with the question “What made you happy yesterday?” which often brings up some praise for a teammate.
  • Complete Peer Feedback is a dedicated meeting where all team members come together and share their appreciation and growth potential for their teammates. It’s a simple but powerful thing that you can do once a year. For details, check out my blog post about this topic.
  • Team Building Events are valuable for socializing and strengthening the relationships in the team, which is important for building trust. Plus, they can be great fun and events that everyone keeps in their memory. Those events can either be fun activities or meetings where you discuss your collaboration or exchange feedback (like the Complete Peer Feedback).

Tier 4

Management Skill Tree - Tier 4

Management Skill Tree - Tier 4

Remote Leadership

Jay Signorello wrote one of the most concise and best posts about managing remote teams. Check it out, it’s great and a really good starting point. In addition, I like to highlight a few skills that are important for me:

  • Trust. Trust is so crucial for remote leadership that I placed it here for the second time. The aspects, that were already pointed out in the last section are still valid. They are even more important in remote setups.
    • Once again: Don’t try to control and check if your staff is working. Instead, ensure that your staff is motivated. Motivated people don’t need to be controlled - and shouldn’t be. Assume good intent. Monitor outcome and not the working time. Be an enabler and not a micromanager.
    • Trust and a relationship have to be established and grown. That’s easy when you work co-located: You have many touchpoints and opportunities for face-to-face chats at the coffee machine or during lunch. Most of the relationship-building happens between the meetings. If your team now switches to a remote setup (e.g. due to a pandemic), the conditions for a trustful remote work setup are already fulfilled because you already built up the trust when you worked on-site. Contrary, it’s must trickier when you are 100 % remote. In this case, it’s even more important to take actions to foster trust: Dedicated meetings for getting to know each other, opportunities for socializing (during work time), on-site team events, virtual team events and a higher frequency of 1-1s.
  • Structure and Updates. Having clear rules and structure for working is important as they provide guidance and orientation for the remote worker. They also provide touchpoints for you as a manager to catch up and synchronize with your report or the whole team. Talk about those rules in your team and make sure you communicate and document them. Here are some examples:
    • Agree on coordination hours (e.g. 10 am - 3 pm) where everyone should be available (e.g. for meetings). But keep this time frame short.
    • Each coworker writes a check-in message when they start to work in the morning (“Good morning, team”) and a check-out message when they stop working (“See you tomorrow”).
    • Have a daily stand-up each morning with the whole team.
    • Have regular catch-up 1-1s where you get in touch with your report.
    • Depending on the software development methodology, you might already have many regular meetings, a ticket system, and a ticket board that structures the daily work and monitors the output of the team.
  • Embrace Written and Asynchronous Communication. When leading a remote team, you have to revisit the way you deliver information. This ensures that all workers (if remote or not) are equally informed and have access to the same information. Here is what you have to do:
    • Focus on documentation. Document decisions and actions and make them available for everyone. During meetings, write a record in the company’s wiki or send it via mail afterwards. Record status update meetings. In tickets, everyone should document the steps to solve an issue so everyone knows what was done.
    • Focus on asynchronous communication. Working remotely enables your reports to work more focused and having longer stretches of uninterrupted times. That is great and we should foster this by relying on asynchronous communication so they can read updates or answer questions on their schedule and don’t miss anything if they are sick or on vacation. Another concrete action is to turn status update meetings into mails. Moreover, you, as a manager, should not rely on chat or the daily standup for delivering updates to the team. Instead, use mails.
    • Further information can be found in my blog post about uninterrupted time at work. In this post, I also cover a chance in culture and mindset within the company that is required to make remote work successful.
  • Socializing. Socializing is always important for building a team but needs even more attention when it comes to remote teams as you miss all the little opportunities for socializing that you have in an office (like the chat at the coffee machine or during lunch). Hence, you have to think about having more face-to-face time and time for socializing within your team. Some actions are on-site team events, social eating, and dedicated meetings for socializing within the work time (we call that “Kaffeeklatsch” or “Fika”). You should also take your time to talk about not work-related topics in your regular 1-1s. Remote pair programming has also the added value of socializing.

Hiring

  • Writing Job Descriptions. A good job description describes the role, the company, and the working environment in an honest but attractive way. Remember: You are also applying for candidates. Start to think about the hard and soft skills that are relevant for the role. Next, describe briefly the tech stack, tools, architecture, the working environment, your methodology, and mindset. That’s what most devs are interesting in. And finally, point out the benefits that your company has to offer for the candidate. What are your unique selling points? Why should the candidate apply?
  • Interview Techniques. A good interview starts with preparation: What hard and soft skills are important for the role? Prioritize them. Next, think about questions to test for these skills. Behavioral questions and situational questions are useful here (examples). The STAR interview technique can guide you during the interview so you know where you have to dig deeper and follow up if a candidate’s answer is not complete or concrete enough.

Contribution

I took the idea of a Skill Tree from James Stanier’s great book “Become an Effective Software Engineering Manager” and applied it to people management and what I believe are important skills for a manager.

Another great book is “The Manager’s Path” by Camille Fournier which inspired some skills in the tree.