Building a good team is like solving a puzzle, as our guest Allison McMillan describes in this episode of the Scaling Tech Podcast. Allison is an engineering leadership consultant who works as a fractional VP of Engineering, and also consults to companies on Engineering Team Health and highly effective Team Offsites. Allison shares with us her experiences at GitHub and what it taught her about building teams, and how she has translated that knowledge into audits of engineering team health for her clients.
Allison McMillan is an engineering leadership consultant providing a variety of services including fractional VP of Engineering work, crafting highly effective team offsites, and evaluating engineering team health. Prior to her work leading Engineering at Forem and QuotaPath, Allison led GitHub’s Coding Department as Director of Engineering. While at GitHub she helped lead the launch of Github’s Codespaces product, as well as work on other products such as Atom, Repositories and Pull Requests. Allison is also a former startup founder, an active member of the tech community, and has spoken at conferences around the world, including RubyConf, Lead Dev, and JS Conf EU. You can learn more about her at AllisonMcMillan.com.
To learn more about the most important components of an effective engineering team offsite, team health audits, and how to build strong engineering teams, be sure to check out this episode of the Scaling Tech Podcast!
Watch the video:
Show notes with links to jump ahead are below
Show Notes from Episode 26 – Allison McMillan on Engineering Team Health and Offsites
Timestamp links will open that part of the show in YouTube in a new window
- 00:00 Allison’s opening quote: “I think that every aspect of an offsite should be looking to create deeper connections between individuals … you can design business sessions in ways that are really engaging and encourage small group discussion, large group discussion, … and all of those create deeper connections. I think that those are the main components to a good offsite.”
- After the opening quote, Arin and David talk about some of their experiences leading team offsites with their team at AgilityFeat and their clients. David remembers that while the structure agenda is always an important part of the offsites they have led, it’s the less structured activities where the best memories are made. David talks about an escape room that the team went to in Sao Paulo Brazil, and there were speakers of Portugeuse, English and Spanish all working on timed clues together. Another time, they took the team to Providencia in Costa Rica, and did an outdoor survival adventure that involved hiking, a scavenger hunt, and tree climbing. Arin recounts that his favorite memory is when the AgilityFeat team met in Buenos Aires, Argentina. Arin was there with his family, and one of their team members organized a soccer game. A futbol field was rented and AgilityFeat team members from a range of countries all played soccer together: Costa Rica, Nicaragua, El Salvador, Argentina, Uruguay and more. For Arin this was a particularly wonderful memory because he is a big soccer fan, and he was able to play this game in Argentina with his both of his sons.
- Arin introduces Allison: Allison is an engineering leadership consultant providing a variety of services including fractional VP of Engineering work, crafting highly effective team offsites, and evaluating engineering team health. Prior to her work leading Engineering at Forem and QuotaPath, Allison led GitHub’s Coding Department as Director of Engineering. While at GitHub she helped lead the launch of Github’s Codespaces product, as well as work on other products such as Atom, Repositories and Pull Requests. Allison is also a former startup founder, an active member of the tech community, and has spoken at conferences around the world, including RubyConf, Lead Dev, and JS Conf EU. You can learn more about her at AllisonMcMillan.com.
- Allison’s career in Engineering Management
- 08:00 Arin asks Allison about her time at GitHub. Allison notes she studied political science and then first started her career working in a nonprofit on a college campus helping students. She then switched into the tech world as she began her first startup, and she became very interested in understanding the tech side of the applications her team built, and why some features took longer than others. That led her to become an IC (Individual Contributor) at several companies before going into engineering management at Github.
- Allison ran the department that housed GitHub desktop and CLI. And then ultimately she spent a good amount of time running the coding department, which was Code Spaces Repositories, and Pull requests. Which were all very different in terms of what they’re going for, how long they had been around, etc.
- David asks about her background in political science, and how that impacted her skills as an engineering manager. Allison talks about how working in nonprofits taught her to work with limited resources, and learning to be scrappy within constraints is a valuable skill in many tech teams and especially startups. She also talks about new student immersion experiences that she helped organize on college campuses, these skills helped her to better understand how to build good teams, hold team events, and balance different personalities in a team. She developed the ability to have a brief conversation with someone and get a good sense of how they would fit into a larger team.
- Building Strong Teams
- 15:00 Allison expands on how she is able to balance different personalities when building teams, in addition to technical skills. She describes every team as a puzzle, and she looks for three things in every candidate. First is a growth mindset, so people are excited about learning new things. It’s also very important to look for people who are both kind and collaborative.
- Every team needs some introverts, people who will thoughtfully chew on a problem before presenting a solution. Teams also need some members who are strong mentors, as well as people who are very good at explaining concepts. Teams also benefit from having some members who are good at bringing energy to the group and light hearted conversation to the team Slack channels.
- Then you have to consider what other gaps you may need to fill on an engineering team. Is there someone who will push the team on code reviews and challenge the architectural approaches used? You need a mix of those who have strong voices and those who will go with the flow. The balance of all of this may vary with the specific product being built and the company, there is not a simple checklist to follow.
- Designing Engineering Team Offsites
- 20:05 Planning an offsite is one of Allison’s favorite things because technical teams especially have very low expectations for what an offsite will be like. But they should not have low expectations, and remote work makes them particularly important. Her goal is to use offsites to help teams build friendships that will last beyond their current jobs.
- An offsite might be an entire department or a specific team, and anywhere from 3 to 50 people. Most companies make the mistake of underplanning an offsite and making it too casual, or overplanning it and have too many activities and days full of meetings. She suggests more of a middle ground. You should recognize what are the friction points in this team, the things that really need to be dealt with in person? Inbetween those most important agenda items, it’s important to leave time for breaks and activities that help people connect with those they might not normally migrate to naturally. It needs to be a combination of formal presentations and more fun sessions.
- David talks about engineering offsites we’ve done with clients in Panama City, Panama, since our office there is a central location between clients who are typically in the US and our development team which may be as far away as Brazil. David asks Allison to talk about the value of holding offsites.
- The Value of Team Offsites
- 27:00 Allison talks about the growth of remote, distributed and hybrid teams post-pandemic. While it’s easy to look at an offsite expense in a budget and want to cut it, especially since the impact of an offsite is often hard to measure, especially if the offsite is not well thought out and approached too casually.
- The value of an offsite can be measured with post-event surveys, and that’s particularly helpful when trying to get ideas how to improve the next offsite, but there are more tangible items you can also measure. What came out of that offsite? Are there action plans? Are there deliverables? What were the goals? What were the actual outcomes that make it worthwhile for the business? The more granular you can be about these outcomes, the better. You can also try to look at other metrics after an offsite, such as team productivity, lower churn and higher team retention rates.
- Cutting an offsite from the company budget may seem like a good idea financially in the short term, but the impact on the team over the next six to eight months can be very costly in terms of productivity and team retention.
- Companies might also consider switching to a virtual offsite to save money. Some people have told Allison that a virtual offsite feels like punishment, but it doesn’t have to be that way if it’s designed well, but they are not as good as an in person offsite and Allison feels many companies will regret the decision to go virtual with an offsite.
- Goals for an Offsite
- 30:15 David asks Allison to talk about the types of goals a team should have for their offsite. Allison responds that one goal should always be to create deeper connections within the team. This should be beyond surface level connections, simply doing ice-breakers may help people remember each others’ names but is not going to create deep connections. Another goal can be for the team to recognize their communication styles and work on improving team communication. Teams can also work on their team charter and their norms and values, and how those connect with company wide goals.
- Working on specific team and technical policies is also a good goal, such as agreeing how to handle on-call expectations, how to triage incoming bugs, etc. Offsites can also be a good place for product leaders to talk with the team about feature prioritization and get more ground-up ideas from the team. Brainstorming between engineering, product and design leaders is a great topic for offsites.
- What do we want the team or our product to look like in six months? Setting the groundwork for where we should be in the future is a good topic for offsites as well.
- A message from our sponsor: WebRTC.ventures
- 33:20 Building custom WebRTC video applications is hard, but your go live doesn’t have to be stressful. WebRTC.ventures is here to help you build, integrate, assess, test, and manage your live video application for web or mobile! Show notes continue below the ad
- Balancing detailed discussions and social activities
- 34:07 Arin talks about striking a balance between detailed discussions like coding standards, and fun social activities like going on a boat trip, which he’s done with clients visiting their Panama City office. Arin stresses the importance of this balance since it helps people to loosen up and get to know each other, since these offsites will be the first time that many team members and even leaders have met each other in person.
- Allison agrees but notes it depends on how long the offsite is. For multi-day offsites, you should be able to timebox sessions for technical whiteboard discussions, without it getting too in the weeds. This sort of brainstorming is often left out of virtual meetings and so it’s very valuable to do some of that knowledge sharing in person. This can also be done in small groups, and then leave the last ten minutes of the session from someone from each group to present to the full group what they discussed.
- David talks about the importance of team leaders being available for unstructured and informal conversation with team members. Since remote team members may not have many chances to speak with senior leaders informally about topics they care a lot about. These conversations can be very valuable for both those team members as well as for leadership.
- Introverts and Ambiverts
- 39:30 David brings up the prevalence of introverts in technical teams, and that many technical leaders like himself are also ambiverts – he can be very social for a while as part of an event, but then needs to go to his room and decompress. David asks Allison to talk about how to include introverts in the more extroverted activities of an offsite?
- Allison talks about things she does differently for the structured and unstructured parts of an offsite. For structured activities, she likes to have teams come up with a contract at the beginning of the offsite. This covers things like when computers/phones are allowed, but also a common one that is helpful for introverts is to require that at least two people speak before the same person can speak again. That helps keep one person from dominating the conversation and creates space for introverts. It’s also helpful to have times where everyone is given a quiet activity like writing ideas on post-it notes, and then grouping those together. That requires participation from everyone and can spark conversations for the introverts. Allison talks about an exercise where one person writes a challenge on a piece of paper and passes it to their left, where each person then writes a possible solution to that challenge.
- Unstructured activities like social hang outs can be a challenge for introverts, since they are not as good at walking around the room and meeting everyone. Allison likes to provide some direction even in unstructured social activities. For instance, she will give everyone three questions that they should try to ask of three people. She might also initially organize the room around small groups to get the conversation started. Allison also discusses how she doesn’t like to use the word “icebreaker”, but activities can help get conversations going.
- Engineering Team Health Audit
- We switch to the topic of Engineering Team Health audits, which is important to David and Arin because of their work at AgilityFeat providing staff augmentation services for US clients, with developer teams based in Latin America. They need to determine the details of what their clients need, and if they are ready to have remote developers work in their team.
- Allison talks about the turnover risk of bringing in additional developers, and the importance of healthy team dynamics. Developers need to understand what they are working on and how priorities are selected. Meeting dynamics and communication styles are all very important. Allison can see the gaps in a team and where there are inefficiencies in the process. Prioritization clarity is so important because engineers frequently deal with so many incoming streams of requests. They have bugs, they have refactors, they have tech debt, they have customer support requests. They often have someone in leadership or someone who’s maybe in their DMs asking for something. Allison notes that these sorts of problems make a team look slower or look like they need more people when it’s really just a question of efficiency, prioritization, and how knowledge is shared in the team.
- Assessing Gaps in a Software Team
- 49:40 When there are gaps in skillsets in a team, that can exhibit itself in unexpected ways. Allison talks about if a team is giving perfunctory code reviews without meaningful feedback, that may be an indication of a skill gap in the team. Understanding this helps team leaders to know what type of staffing decisions they need to make. Can a new hire be a junior engineer or do they need more experience?
- To do these sorts of assessments, Allison asks the team to give her full access to everything, so that she can be a fly on the wall. She will attend a handful of meetings to see what the team dynamics are like, she will watch slack messages to assess that style of communication, and look at overall processes. She does not necessarily have to talk with everyone on the team, but she does need to pull in different people. She will ask people about the most painful part of their workflow, and what would they change if they can wave a magic wand?
- Team Health assessments may be done at any time, but one common time is just before investment is made in a company. Investors want to understand the dynamics of the team and see how they will work.
- Fractional VP of Engineering
- 54:00 Related to these services, Allison also works for companies as a fractional VP of Engineering. That can be very helpful during leadership transitions, when a company needs someone who “has seen it all before” and can plug in easily with a team. This can reduce the pain of a leadership transition. This can also help prevent things from falling through the cracks during a transition and ease the entry of the permanent VP of Engineering.
- Another benefit of hiring a fractional VP of Engineering is that they can help the company to write the job description for the eventual permanent replacement, since they will see firsthand what is needed in the job. A fractional VP must have the right mindset and really dedicate themselves to that role, since they are typically there for only 6-12 months. For startups, the first few engineering hires are crucial and so taking your time to get them is very helpful. Using a fractional VP of Engineering helps you determine if the eventual hire needs to be very hands-on or more strategic in their work.
- 1:00:00 Allison notes that the best way to find her is via AllisonMcMillan.com, where you can find her email and all the social media handles.