There was recently a thread by David Whitney about inclusion and representation in the .NET community. I suggest you read it as it gives you an idea of the diversity of thought within the .NET community. The thread spoke to me, as an Arabic developer who contributes to the ecosystem through blogging, OSS, and interaction. This particular post is about Microsoft’s Most Valuable Professional (MVP) program - what it is, the flaws, and how as a community we can build a better and more inclusive program. And full disclosure, I used to be an MVP.
Before I get started, I want to say this post is not a criticism of the folks that administer the program. They care deeply about the people who comprise our tech neighborhood. This post speaks to the systemic issues that manifested as software development, Microsoft, and the tech community evolved. Anyone who contributes their time and effort to a vision greater than themselves deserves our respect.
What Is The MVP Program?
Microsoft’s MVP program recognizes individuals in the realm of Microsoft technologies with an award. There are currently around 4000 MVP recipients worldwide. Individuals receive awards due to their technical expertise and willingness to share their knowledge with the community.
The Microsoft MVP Award gives us the unique opportunity to celebrate, honor, and say thank you to top-notch technology experts who make outstanding contributions to their communities. –Microsoft
So what are considered contributions?
How To Become An MVP
For folks who hope to receive the MVP title, you can follow the guidelines on the MVP website.
Contributing Code
Individuals can start open-source (OSS) projects or contribute to established community projects. NuGet is a great location to find the best performing projects and see if you can provide value. GitHub is a great place to start coding, and NuGet can help gauge adoption.
In-Person Speaking
Giving talks at user groups, conferences, and other outlets can be a path to the MVP award.
Helping Others
Helping others can take the form of community activity in forums, StackOverflow, Twitter, Wikis, and office hours. Generally, this kind of contribution is considered a one-on-one interaction.
Creating Content
Creating content can manifest as blog posts, video tutorials, magazine articles, or other forms of creative expression.
Providing Feedback
If you are inclined enough, you can seek out Microsoft teams directly on GitHub or Microsoft outlets and work with them by providing product feedback. If your feedback helps shape the products Microsoft produces, it can be a path to becoming an MVP.
What Are The Issues with MVP awards
After reading the previous section, you decide to take becoming an MVP seriously. You review the paths carefully but quickly realize the issue. It is even stated directly on the MVP site.
While there is no single way to become an MVP… our MVPs and the passion, community spirit, and leadership they have exhibited [has] earn[ed] the MVP award. –Microsoft
The statement brings me to my first issue with the MVP program.
Unclear Requirements
The MVP site shows five exemplary individuals and what they did to receive the MVP award. Let’s assume these folks are the best MVP recipients and the highest performing. These five individuals represent 0.125% of the total 4000 award recipients. Let’s look at their accomplishments:
- 100 GitHub Repositories
- 100K NuGet Package Downloads
- Speak to 1,000 people over ten user groups
- Write 728 blog posts
- 2.8 Million blog post views
- Work with .NET, UWP, Visual Studio, Azure, and NuGet teams.
As someone looking to get the MVP award, do I need to have this level of accomplishment to receive the accolade? As a previous MVP award recipient, I can tell you the answer is no; these folks are high achievers.
So if the answer is no, what do I need to do? Well, that’s unclear, and basically can be summed up as “git gud.” How does anyone know when they are good enough? Well, as mentioned above, there is no clear path, just some vague guidelines, and some intimidating examples for new community members. Like the site states:
There are 3 very simple steps: Be an expert, do lots of what you love, and let us know!–Microsoft
Umm, Ok. Very simple, indeed.
Opaque Review Process
So you decided to follow by example and poured months into speaking, blogging, and creating content. Remember, you’re doing “lots of what you love”. You feel you’ve hit that threshold of being recognized as an MVP. What next? Well, its time for the nomination process and review of your work. To be nominated, recognition must come from either a Microsoft employee or an existing MVP program. You’ll have to spend time convincing someone to help you, and this is where the politics of the MVP program come into play. It is not a fun part of the process.
Once nominated, Microsoft employees review your work. What is the review process? What guidelines are reviewers using? Well, nobody knows, and I imagine it differs based on each reviewer. In my opinion, a non-transparent process might as well consist of guessing, throwing darts at a board, or random lottery. Worst of all, an unclear rejection can lead to discouragement and run counter to the mission that the MVP program purports to champion.
As you can imagine, sometimes we receive a lot of applications, this process can take up to 90 days. –Microsoft
With Microsoft becoming more welcoming of other technology communities, it means any software developer could become an MVP. As of 2018, There are 23 million software developers worldwide. Assuming 1% of those folks would like to be recognized as MVP recipients, that would equate to 230,000 applications. Even at 23,000 applications, I imagine this is a daunting task and hinted at by the 90-day window.
Exclusionary By Default
So far, I’ve pointed out vague requirements that can shift based on an opaque review process and an unknown reviewer. The issues lead to one of the most counterproductive side-effects of the MVP program: Exclusion.
Recognizing folks based on their achievements isn’t exclusionary by itself, but doing it in a non-transparent way creates the illusion of us and them. A feeling that you can’t be part of this club unless you are deemed worthy by an unknown person within the Microsoft organization. Not having an MVP award, but working hard to get one, and then not being recognized sends a message of “you’re not good enough, and you’re not welcome.” It is immediately demoralizing and I have seen too many folks put their value in the hands of the MVP process only to be disappointed by the outcome.
It doesn’t help that MVP titles come with tangible rewards of licenses, azure credits, and physical awards, further dividing the haves and have-nots. What adds to this exclusionary feeling is that current MVP recipients are not obligated to share their achievements on the MVP site — creating more of a cloak-and-dagger sense to the organization. The lack of inconsistent transparency at the MVP level is troubling.
Summarizing The Issues
So what are my top three complaints about the MVP program as it stands today?
- Obtuse goals.
- The opaque review process, due to the first problem.
- Exclusionary, demoralizing rejection, and unwelcoming based on the first two problems.
These are my opinions based on the program today. You may agree or disagree. That is your right, but I want to talk about what could help the MVP program grow and fix the problems described. Like all things in life, there are trade-offs, and you could nit-pick my approach to death (feel free to do that as well).
A Better Approach
When are you getting to a solution? Well, if you’ve made it this far then, you are in luck. I will describe changes the MVP program could undergo that would be more fair, inclusive of different levels of participation, and foster a better community.
Just Cause
Before we get started talking about the details, The MVP program needs a philosophical shift in mission. The mission today is:
The Microsoft MVP Award is our way of saying “Thanks!” to outstanding community leaders. Microsoft
In general, the goal of the MVP program is to recognize folks. It makes sense to change that goal in 2020. Set a vision the community can get behind.
The MVP program recognizes the contributions of everyone to educate, inform, entertain, and challenge our technical community to be supportive of all developers.
Setting a vision for the program and the philosophical expectation of members can set the tone for the program. Think of it as a declaration of values and community.
Clear Quantitative Goals
This idea is going to be controversial, but the MVP program should move away from qualitative reviews and adopt quantitative goals. My favorite example of a quantitative system that rewards engagement comes from Duolingo, the language learning app.
As someone who wants to improve a skill, I can pick a track recognized by the community: Web, OSS, Mobile, and much more. Those tracks have achievable goals:
- Write two blog posts a week for a year
- Speak to a user group
- Leave 20 comments in a month
- Answer 100 questions on StackOverflow
These example goals have objective value. Someone who wants to be an MVP has a clear path on how to achieve it. The goals are also transparent. Having goals also builds on the value of the next section.
Incentivise The Change We Want
Having clear goals gives individuals within a community an opportunity to change their behaviors for the better.
If we could change ourselves, the tendencies in the world would also change. As a man changes his own nature, so does the attitude of the world change towards him. –Mahatma Gandhi
A methodical and systemic oriented approach can incentivize the behavior we want to see in our community. Creating a clear set of goals helps us understand what we want as a community and value those things more.
Instead of vague recognition, we can now shape our community around our cause and values.
Crystal Clear Transparency
Up to this point, I’ve mentioned the idea of transparency 15 times. It is foundational to building any trust in a program. The program requires transparency, without an understanding of how the program works members and prospective members will not understand how it works.
More MVP Levels
The MVP program is binary at the moment. You either are, or you aren’t. By implementing a quantitative approach, we give folks the ability to participate at different levels. You wrote a blog post, that is an achievement. Did you write 100 blog posts? Well, that deserves more recognition. Allowing folks to participate while exerting different levels of effort creates a more inclusive program. Currently, the program offers different categories, but not different levels of recognition.
Conclusion
The MVP program is a well-intentioned attempt at rewarding folks who contribute to our community. Sadly, it also has some unintended side-effects due to the execution of the program, the explosion of developers, and Microsoft’s shifting market. It’s probably time to re-evaluate the program and what it hopes to achieve. I’ve outlined some structural changes that could lead to a healthier ecosystem, be more inclusive of everyone’s contributions, and, most importantly, be transparent.