I was invited to participate in a LeadDev panel on continuous learning, which is one of my very favorite topics, especially in the context of engineering management. I had a great conversation with Kevin Goldsmith from Anaconda, Tara Ojo from the Financial Times, Kristen Spencer from TWG, and Krishnan Srinivasan from Target.
These are my prep notes with some of the ideas we talked about:
- What things have you put into place in your team to support learning?
- At Twitter, we have what we call Twitter University. It’s our platform for people to both take and teach internal classes. Anyone can teach a class – it can be about python, or engineering management, or machine learning. I’ve taught a lot of courses on engineering management topics, and I’ve taken dozens and dozens of courses over my years at Twitter.
- I’ve personally been inspired by this distributed training model to teach and got really involved with engineering manager training.
- In order to support learning, we encourage goal setting for people to both take and teach classes. We also work to recognize this type of company building work through our promotion process. It’s common for us to be reviewing a promotion packet and hear about how someone has contributed to Twitter by teaching classes.
- If I am a lead or manager, how can I start putting a learning culture into place in my team?
- Provide people working time to take classes and go to conferences. Invest in people’s growth.
- Be a role model as a manager or leader. Attend conferences and classes yourself and let people know you have a value around continuous learning by not just your words but your actions.
- How do I get senior leadership support/funding for my plan?
- Make the case that training helps with recruiting and retention – both of these have significant costs, and training costs are far less.
- Suggest more support and funding for people who speak at conferences since this helps promote the company. You might also be able to get recruiting or marketing budget depending on your brand strategy.
- How do I help my team allocate time for learning?
- Treat it as a non-negotiable. The industry moves fast and it makes sense to invest to keep up with new technologies to limit future refactoring.
- Work it into quarterly planning. Budget time for things like vacation and training before estimating project deadlines.
- How do I re-skill a team to learn a new technology?
- We had a team that had individuals re-skilling in Scala. One of the engineers put together team-specific Scala training. This was not only good for skill building, but it was also a great team bonding experience since we flew all the engineers into one location for that week for the training.
- After training, it’s important for the manager to identify relevant projects with beginner-level difficulty to use the new skills. Ideally you can pair engineers up so there’s someone more skilled mentoring the person who’s newer to the technology. Even better is if you can encourage trading skills so that both engineers have a chance to be in the position of teacher or student.
These were only a few of the topics discussed – check out the complete panel discussion here: