Creating an Environment for Learning and Growth
11 June, 2019
Engineering managers serve a very important function within the organization. You have pressure coming at you from different angles. Ultimately, though, your job is focused around your team's well being. As such, that means doing things like performance management, coaching and mentoring, establishing and maintaining a healthy culture within that team, and unlocking the potential of the people that work under you. So as an engineering manager, how do you create an environment where individuals on your team are learning, growing, and thriving? And how do you bake these things into the culture of your team? I have had experience with this within organizations that I have worked with in the past. Here is what has worked well for me.
Lunch-and-Learn I made it a point every week to have a brown bag where people came and presented or shared something of their choosing. It could be something very simple or small like a 5-minute presentation on something that the individual was interested in and the inner workings of that topic. It was really about encouraging team members to share. This encouragement developed out of the interests individual's expressed during our one-on-one conversations. I would let them know that I thought it would be a valuable topic to bring to the group and asked them to put together a few slides, show some code, or just talk about it freely. In addition to sharing, these once a week Lunch-and-Learns blocked an hour's worth of time that allowed the team to sit and each lunch together, to spend some quality time together. Group Code Review This is when individuals would flag something that had already gone through the pull request process and merged into production. The flag meant that they thought there was an interesting learning or area of conversation in that pull request that may have happened or may have needed to happen. Team members would tag a target and then write a note that stating it was for GCR- group code review. We would then have a session once every two weeks where the team spent time going through the list of tags. This also allowed us to revisit code that had already been shipped, giving us the opportunity to become more aware of what the code looked like and a way to see if there was a potentially better way of thinking about or doing things. Pair Programming We set up pair programming stations in our office. We had two monitors, two keyboards, two mice, the works. This allowed people to come, sit next to each other, plug in their laptops, and work on a problem together. People were paired based on their interest in a story, a junior with a senior level engineer, or someone looking to gain more exposure to a particular issue. In the process of paired problem-solving people learned a lot from one another. They saw how the problem could be looked at differently and different approaches to solve it. Thus, it instilled good debate and discussion among peers.
- Don't try all of these methods all at once. That just won't work. Instead, try layering them on top of one another.
- Make these sessions low barrier, low entry. And don't force engineers to participate. On the contrary, individuals should willingly want to participate. To get them interested, start mentioning these activities ahead of time in your one-on-ones, before you bring them up to the whole team. Have constructive and productive conversations on learning and development so that individuals have already been thinking about the value it can bring. This inception-like tactic then infiltrates throughout the team and makes it easier to get team buy-in when you finally implement the above activities.
- What will help spark participation is having at least one or two enthusiastic people who are excited about a particular idea and are interested in bringing it up to the rest of the team. This will help with liftoff and with getting the rest of the team reved up to participate.
- This should be a rewarding experience in growth, development, and culture for you and your team. To guarantee this, ask the team and get feedback on whether they are finding the sessions useful and valuable.
- As an engineering manager, you are the driver. You embody your team's needs and the organization's. Therefore, if it is an important part of the culture that the team continues to grow and develop, then it is up to you to create an environment that is reflective of that.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Yang Wang, Engineering Manager at Bond, shares how diligently she transitioned from a large company to a series of startups, all balancing between the role of being a working mom.
Engineering Manager at Bond
Yang Wang, Engineering Manager at Bond, shares how she coached several women engineers in her team to boost confidence and help them grow in their careers.
Engineering Manager at Bond
Angel Jamie, Chief Product Officer at Yayzy, recalls his transition from a well-established tech company to a sustainability startup, and the major differences he experienced.
CPO at yayzy
Nani Nitinavakorn, the Sr Product Owner at Revolut, describes how she keeps learning hard skills to increase motivation and respect her team.
Sr Product Owner at Revolut
Nani Nitinavakorn, the Sr Product Owner at Revolut, shares how she gained her first technical position, creating a direct method to apply for jobs.
Sr Product Owner at Revolut
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.