Free Range Management
I have three main goals as a manager. In order:
- Support the growth of careers for my directs
- Help with roadblocks and pain points for the teams
- Align the team and the business
Support Their Path
One of the questions I ask frequently is "What does your career trajectory look like; what are your plans five years from now?"
Some folks want to grow into a leadership/management role. These folks are typically pretty ambitious. They want to learn about the people skills, how to influence others, how to think strategically. These are the folks that probably already understand that they need to learn continuously and will periodically ask advice. Support them by finding opportunities to facilitate or lead efforts and/or teams.
Some want to grow their technical chops. They want to learn the cool new things. I found a lot of these want the trust and backing to lead their teams, but aren't interested in management because they want to stay closer to the code. Support them by finding opportunities for them to take on technically interesting challenges and resisting the urge to over-solution for them.
Others want to stay where they are. They have hit a certain point and don't want to spend more time learning. Some are close to retirement, some are juggling issues in their personal life, others are just unmotivated to grow. Support these folks by finding opportunities to deepen their understanding of the tools they want to use.
Support Continuous Learning
Encourage and support continuous learning for every member of your team. My current gig graciously allows 20% of time to be dedicated to learning; every Friday is Learning Friday. We don't schedule meetings with the staff and I encourage them to decline meetings unless they are centered around group learning projects or communities of practice. It's critical to not dictate what is learned, unless it's part of required training or a performance improvement plan, though an expectation around sharing what was learned is reasonable.
The business will not understand.
Short term, there is little perceived value in allowing 20% of time slip when there are so many important things to do, especially if they are learning about Rust and your run a C# shop. This is where we need to align the business to the team. There are two main reasons why this play time is important.
First, we have innovation / avoiding stagnation. When we don't learn new skills, we tend to fall back on what has worked. We all know someone who has worked at a shop that used an outdated development model, framework, or process because of status quo. This is what we've always done. When we allow folks to participate in unguided learning, they are exposed to new ideas and we get innovation. If your organization is relying on a specific group to innovate or to grow by constantly hiring new folks, you've disempowered the team's ability to learn and grow. Worse, you're actively harming their careers.
Second, we have employee happiness / retention. Software engineers are smart. Most of them understand on some level they need to keep their skills fresh and technology changes constantly. A good analogy for non-technical folks to understand why keeping skills fresh is to think of your smartphone.
In 2009, the phone OS market was dominated by Symbian OS and RIM. Most people don't couldn't connect these OS's to Nokia and Blackberry, let alone be interested in using them today. Pretend you have a job where you can only use a Blackberry. That's the speed at which technology changes.
To further the analogy, remember that because Nokia and Blackberry didn't innovate fast enough, they were dominated by Android and iOS quickly by the end of 2010. If you business doesn't feel it needs to keep pulse of the current technical scene, it can be expensive and difficult to pivot to meet the market's demand.
Engineers want to use new tools and gadgets. Maybe 95% of new shiny tools are never picked up and used in production, but your staff will feel less shackled because they will have opportunities to find ways to add value by reducing toil in their workflow or pick up that new cloud service that improves cost efficiency for some workflow.