Loading...

Creating an Environment for Learning and Growth

Lalit Kapoor

VP of Engineering at Relay Payments

Loading...

Problem

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.

Actions taken

Lunch-and-Learn

"It was really about encouraging team members to share."

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 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."

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

"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."

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.

Lessons learned

  • 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.

Be notified about next articles from Lalit Kapoor

Lalit Kapoor

VP of Engineering at Relay Payments


Leadership DevelopmentCommunicationCulture DevelopmentEngineering ManagementMentorship ProgramsFeedback TechniquesTechnical SkillsProgrammingSoftware DevelopmentTeam & Project Management

Connect and Learn with the Best Eng Leaders

We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.


Product

HomeCircles1-on-1 MentorshipBountiesBecome a mentor

© 2024 Plato. All rights reserved

LoginSign up