How we built a machine learning and data science community at Microsoft
In 2012, few people at Microsoft outside of research were working on or talking about machine learning and artificial intelligence, and “data scientist” was not an official job title. Fast-forward eight years, and we have hundreds of data scientists and thousands of engineers building ML and AI into products and services. To help support these employees, we have a thriving 7,000-person internal machine learning community where our employees learn, share, and connect with one another. Here’s how we got there.
What are communities?
Some might approach the notion of community as a platform or a piece of technology. But I disagree. While a well functioning platform is important, a community is, at its heart, people. My favorite definition of community comes from an organization called The Community Roundtable, which says, “[a] community is a group of people with shared values, behaviors, and artifacts.” These shared values, behaviors, and artifacts help us recognize one another as people with similar passions and goals, and they make it easier for us to communicate and collaborate.
At a large company like Microsoft, communities provide a networked way for employees to connect across organizational boundaries in ways that can “break” the hierarchy — for example, in our community, it is not uncommon for a principal-level engineer in one group to ask a question that is answered by a data scientist fresh out of graduate school who works in a different group but is closer to the cutting edge on a particular topic.
Internal communities at large companies like Microsoft often start at the grassroots level when employees doing day-to-day work recognize the value of new innovations. That’s how our ML community was started — one day in 2012, one of our researchers began an email distribution list called Machine-Learning. For about 18 months, employees discovered it by chance or recommendation, and the group grew to about 800 members. At first, members were mostly researchers, but engineers and people in other roles also started to join. During this time, the community focused on discussion and Q&A.
The idea of tending a garden is a good analogy for community, because gardens can develop if you just throw seeds into fertile ground, but they can become unruly or suffer if not given the care and tending they need. Communities are the same — at a certain point, you want to nurture your promising communities. People often ask me how to build community, and I always tell them that I think it’s extremely difficult to build a community, since that implies you are creating something out of nothing. Instead, I think that an organization should look at which communities are naturally forming among their employees, and intentionally decide which of these communities it wants to support.
For us, that shift from an organic community to a managed community started to happen in late 2013, when a new corporate vice president was hired to lead work on an ML-related product. As part of his mission, he saw that Microsoft employees needed to develop skills in ML, and in March 2014 he sponsored a cross-company machine learning conference. More than 1,000 seats filled in the first few hours after registration opened, and after the event, this CVP signed on as the executive sponsor of the new Machine Learning Community.
At the time I was managing a program of technical communities, and the Machine Learning Community was a natural fit with this program. After the initial conference in early 2014, I focused on two efforts concurrently:
- Following the mantra of “Plan, Do. Plan, Do. Plan, Do,” I organized a regular cadence of ML-focused events that we held in person and online (even at that early point, we had community members from around the world, and so online events were a must). We hosted talks, webinars, tutorials, and even an ML-themed “Jeopardy” game in which our executive sponsor played the part of Alex Trebek. These activities attracted new members and established a heartbeat for the community, in addition to the daily discussions on the distribution list.
- I created a community strategy to present to our executive sponsor’s leadership team. This strategy set the direction of the community. While a lot has changed in the past six years, I recently went back to that original strategy document, and it’s striking how faithful it is to the community’s course since then. The strategy contained sections on:
- Audience: The key roles and groups at Microsoft we hoped to reach.
- Goals: The reasons that Microsoft should invest in this community.
- Scenarios and objectives: “I can” statements that identified what members would get out of the community, such as “I can easily find and connect with other practitioners at Microsoft” and “I can help make Microsoft ML products serve customer scenarios better.”
- Principles: A common understanding of governing principles for our community, such as “We create opportunities for people to contribute” and “We don’t try to control the conversation.”
- Metrics: How we would measure ourselves around growth, activities, and outcomes.
- Leadership team: The members of the Community Leadership Team that we recruited to guide the community in those early days.
The strategy was approved, and we were off and running.
Growing the community
Two key elements that made this community “stick” over time were in place from the start: (1) dedicated program management, and (2) dedicated budget. As the program manager — or, community manager, as I prefer to call the role — I provided organization for the community and owned the budget, which was used for the conference and for venue, food, and recording costs for events and activities.
After we held the second Machine Learning Conference in October 2014, it was clear that we had interest and energy to sustain the community over time. Over the next few years, we took a series of actions to foster community:
- We’ve sped up our cadence of activities and made sure to include a variety of types of events — not just Q&A, discussions, talks, webinars, and tutorials, but also hands-on labs, “Ask Me Anything” sessions with executives, challenges, hackathons, and other activities to allow people to learn, share, and connect. At present we host 50–60 different activities per year, because a diverse set of activities allows community members to participate and connect in different ways.
- We’ve conducted ongoing outreach to make sure that potential members know about the community. For example, every month I send a Welcome Mail that goes to all new data scientists hired into Microsoft, inviting them to join the community.
- We’ve created opportunities for engaged community members to contribute more. For example, one of our early community presenters later became a reviewer for the conference and then a conference program committee member, introducing several innovations that made the conference a better event. One piece of advice I received along the way was to “recruit for enthusiasm,” and I’ve found that to be wise guidance — sometimes all that someone needs to make a key contribution is the opportunity to do so. And now, we have several programs within the community that are run not by me, but by community members.
- We’ve deepened alignment and collaboration with other community efforts. Microsoft does not have centralized governance of all communities, which means that in a space like ML, there are always going to be grassroots activities such as reading groups, study groups, hackathons, publications, specialized communities, and so on. Early on, I realized that it would not work for me to try to control all these efforts. Instead I reach out to these efforts as I become aware of them, looking for ways we can work together. In my mind, I have an image of interlocking gears, where our broad ML Community is constantly moving at its own cadence, while periodically integrating with other efforts.
One important note here is that because I manage the ML Community as part of my full-time job, I can provide continuity across time, whereas many of the grassroots efforts may go inactive when the people who initiate them leave the company or move on to other interests.
Finally, a key decision I made was to fold our independent ML Community into a much broader internal community program at Microsoft called the Worldwide Communities. This reduced my autonomy a little, but it gave me support because I could draw on the resources and expertise that the program offered. And in 2016, when a new (and closely related) AI Community was formed in the Worldwide Community program, I was able to work with the leads of that community to make sure that together we serve our members in a coordinated way.
What does Microsoft get out of the community?
The Machine Learning Community and other Microsoft-internal communities enable employees to discuss customer challenges, share best practices, and enhance skills by tapping into the collective knowledge of our global teams. Community members resolve issues relevant to their work, discuss topics, and learn from peers.
Why does Microsoft invest in supporting this community? I see several benefits:
- Workforce enablement: This community helps our employees gain skills in critical strategic areas and become aware of emerging technologies. We draw on experts from around the company to talk and teach on important topics, and because we are an internal community, our members can hear about innovations far in advance of public discussion. For example, automated machine learning was discussed in our community more than a year before the company made any public statements about it. The community also helps us drive certain initiatives by providing a channel to reach employees. We started holding “Design for AI” sessions in our community long before efforts such as the guidelines for human-AI interaction were mature enough to be published publicly.
- Customer response: Our field uses the community to get quick answers from engineering during customer engagements. In fact, one of our key community metrics is median response time to questions, and we are constantly driving to push that number down.
- Better inter-connection: Microsoft is a big company. The community is a place that accelerates discovery and connections — for example, because our twice-yearly ML conference relies on peer reviewing of proposals, it is common for someone interested in, say, NLP to review a proposal that describes work that the reviewer should have already been aware of, but wasn’t. In fast-paced domains such as ML and AI, where formal curricula cannot keep up with the pace of innovation, the community is a place our employees can go to find out what is on the leading edge. The conference is also a place where our executives share our strategy and direction around ML and AI, providing them a place where they can speak across business groups and geographies to a diverse set of employees. At our twice-yearly conference, we almost always have one or more vice presidents or technical fellows delivering keynotes.
- Retention: The community creates career-building opportunities that may help keep people at the company by helping them build their capabilities. For example, a few years ago, one of our community members working on an innovative grassroots project presented to an audience for the very first time at one of our events, and received very positive feedback. This helped build her confidence and helped bring more attention to her work, and eventually she started representing Microsoft at public, high-profile events.
Keys to success
Based on my experience over these years, I believe there are a few keys to success that any community manager should consider:
- Clear goals: You must know where you are going in order to get there. These goals should include why the community will be valuable to members, and why it will be valuable to the organization that sponsors it.
- Executive sponsorship and participation: Our original executive sponsor occasionally dropped in to take part in technical discussions, which signaled to everyone that he valued the community as a place to spend some of his time.
- Dedicated budget: Our budget has always been modest, but enough to make our events happen, and to provide some funding to community members who want to run an event, activity, or project but may not have the budget on their team to support it.
- Content programming: For a community of practice like ours, consistently providing the members with useful, interesting, and varied content is a core part of the work.
- Dedicated community manager: A community manager role can be full-time or part-time. It can be a shared role or filled by one person. But without a community manager, almost all community efforts will eventually run out of steam, because you need someone to continually think of and execute on program activities, recruit new members, vet ideas, and do all the behind-the-scenes work to keep the community going.
- Community leadership team: I’m not a data scientist or ML engineer, but because I have a community leadership team to help guide the community, I have a set of trusted advisors I can consult any time I have a question.
- Community platform: Although a community is made up of people, you need somewhere for them to gather and connect, and all community managers should be experts in the platform that their community uses.
- Measurement: We measure outcomes in a variety of ways, including growth, retention, participation, collaboration, satisfaction, and likelihood to recommend. I am happy to talk more about this in the Responses section below if you are interested.
Finally, here are four key resources I always recommend for people interested in community:
- The Community Roundtable. This is a community of community managers, active for more than 10 years. This is my primary place to go to stay current on the community management industry.
- CMX Hub. Another community management organization, a little more focused on the startup world.
- Cultivating Communities of Practice. A classic text in the community management literature.
- Liberating Structures. A set of practices for bringing people together and collaborating toward specific goals.
Questions? Comments? Feedback? Let me know in the responses!
Alex Blanton is on LinkedIn.