Investing in your team
A question that a candidate to your company might be how do you support our personal growth? It’s a good question, because a lot of companies have different ideas on how to do that (or even if they want to). Here’s a writeup of my thoughts on the subject, and roughly what we try to do in Aftenposten.
Why invest in your team
Your codebase grows and changes over time, under the influence of your team. If they've been to a conference about Kubernetes, you may find yourself running a cluster. If they've been reading about Kotlin, you might find your Android apps rewritten in it. Or more commonly: there will be small lessons and improvements that can be made to your code using learnings from reading, writing, and listening to content that helps developers grow their skillset. The way you are already doing things is not very likely to be perfect. Perhaps there is some performance cost in what you're doing, maybe you're lacking type safety. A wiser team member can challenge the way you are doing things, so that you don't settle for these problems.
The same applies to your designers, and product managers. How did your designers become familiar with Figma? When was Photoshop dropped in favour of Sketch? And Sketch in favour of Figma? They most likely either put in effort during their personal time, or during work hours. There's really only two ways of gaining Figma knowledge on your team: hire someone who already knew it, or give someone the freedom to learn it. A cynical person might say why should we pay someone to learn something. Well, if you don't, you'll either be holding out until you find a perfect candidate who knows every tool you use, or worse still, you'll be passing over on people who are a great fit for your team just because they haven't used what you use. In terms of project management, I've yet to see two teams that use the same weekly structure, and I've yet to see a team that didn't benefit from consistently asking what do we need to improve?
How to invest
My favourite way to invest time in your team is to dedicate some time every sprint to personal growth. Encourage your team to read, experiment, code once every 2 weeks is a great way to establish a routine for this. The main downside is that when there's a lot going on at work, it's hard to justify not working on the core product for one whole day. I would say encourage your team to keep track of when they are missing out on scheduled personal growth time, and encourage them to take that time later when it fits better.
Mentorship is valuable here too. There is the old adage that I’m sure everyone knows, “if you are the smartest person in the room, you’re in the wrong room”. Your team should be encouraged to help each other out and share their knowledge. Remove bottlenecks in your team by increasing the number of people who know how to do a specific thing, or how a specific thing works.
Establish book clubs or forums where you can discuss topics - send out a talk from a conference and ask everyone to watch it at some point during the week, then come together to discuss it later. You can do this async too, via Slack. But I find engagement is much higher if you book some time in the calendar for discussing it. You can also go to conferences together, or encourage attendance of meetups. If you do go together, remember that conferences are a great place for meeting people who are either facing similiar problems to you, or might be great candidates to join your company. If you go to a conference but don't participate in the social networking parts, you might as well just have watched the videos later and discussed it in some forum.
In terms of side projects, encourage open source involvement. If a team member has a cool idea, encourage them to turn it into code and share it with the world. A good open source policy helps a lot here - it doesn't benefit your company much to own `ts-either`, but it does benefit your company to use it, or use the knowledge earned from creating it.The best thing you can do as a leader is to make it clear that time spent on these activities is work time, not personal time.