How to Get Involved with the Microsoft Developer Community
Date Published: 10 January 2018
The other day, someone wrote me to ask:
To cut to the chase, I was wondering if, given your experience, you had any recommendations or advice for landing an internship with Microsoft. I work a lot with .NET and Azure through my web development business and I am extremely interested in all things Microsoft.
This particular question related to an internship, but I've often seen similar questions from established Microsoft developers looking to land permanent full-time positions or recognition through the Microsoft MVP program. I offered the following advice, which as soon as I sent it I realized would probably be worth sharing to a wider audience (and hence this post). Note that this is geared toward Microsoft, but obviously these same tips would apply to most organizations where you'd like to become more involved, regardless of technology stack or which vendor it might be. Basically, replace "Microsoft" with whatever organization you're interested in when you read the rest of this article.
Connect directly with as many Microsoft team members as you can, so that you're not a complete unknown. Do this (without stalking them) via social media, GitHub, public Slack communities, and by creating your own content that you share in ways they're likely to discover and want to promote.
Follow Folks on Twitter
One way to get connected with people in your industry is to follow them on Twitter. If you're looking to become more involved in the Microsoft developer community, start by following some people who are already engaged there. This should of course include current Microsoft employees, like product team members or developer evangelists. But also official product accounts and non-Microsoft community members who are active as well. I follow many Microsoft people and teams so you can start there. Then check out other accounts like @msdev or @MVPAward. Follow these accounts, but also look at who they follow and whom they retweet, and follow these people as well. Then, start interacting in a natural way. RT or Like things you find interesting. Ask and answer questions when appropriate. Over time, you can develop real relationships based on past discussions.
Follow and Engage in GitHub Repos
Follow the Microsoft projects on GitHub, like dotnet, aspnet core, EF core, etc. Comment on issues. Submit your own issues. Maybe even submit PRs. Sometimes you can make a simple PR by just spotting a typo in a doc comment, if nothing else. Sometimes important discussions occur in GitHub issues.
Add your voice to these conversations when you think you have something to share. Make suggestions. Ask if particular scenarios have been considered. Share your unique perspective as a (brand new developer | experienced developer from another stack | long time Microsoft developer | other).
Don't troll. Don't respond to every issue or behave like a bot. But do try to legitimately become involved in conversations where you take an interest and feel you can add value.
Join Public Slack Channels
Slack is a popular way to interact with folks, and there are many public slack channels/teams that you can join that can help you interact with others in your community. You may already use Slack for work, but think about joining others. Some examples:
- ASP.NET Core Slack (includes .NET Core, EF Core, and other topics)
If you have suggestions for additional (public) Slack teams people might join to help them network with a particular (developer) community, please leave a comment below and I'll update the above list.
Write/Record/Talk about .NET, Azure, Etc
If you're trying to gain the attention of Microsoft for the purposes of getting a foot in the door, either as an intern or employee, or as a vendor or recognized community member, creating content is a huge plus. The simplest thing (aside from tweeting, described above) is to start writing articles (on a blog, or even as a guest blogger somewhere) about products or technology in which you -- and Microsoft (or your target company/community) -- are interested. Remember, you don't need to be an expert to share what you know! It's often valuable to see a fresh perspective, even from a total beginner, to a product or technology. Content can include walkthroughs, reviews, or even responses to other content (instead of leaving a big comment, write your own article and link to the one on which you're commenting).
Aside from writing, you can also record videos on YouTube (and then share them via Twitter, of course). These can be screencasts or full video of you discussing some aspect of the technology you like, either directly with the camera or with a guest or co-host. You can also create your own podcast (instead or in addition to these other options) and share your knowledge (or your guests') that way.
As you produce content, make sure you let your community, especially your target vendor or company, know about it. You might be able to email an alias at the company that they use to promote third-party content, or just @-mention an appropriate account when you tweet about your content. In any case, make it easy for them to find you and your content!
After doing all of that, when you apply for an internship (or job, or contract, or whatever), you can point to the above, and also mention on the application the team members you've gotten to know. You can also let those team members know you're applying and see if they can do anything to assist. Who you know is often at least as important as what you know, and while that may not strictly be 'fair', it's probably not something you can change, so make it work in your favor by following the advice above.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.