What is a Microsoft Open Source Engineer, anyway?

Ever since I started writing open source code full-time, people have been surprised and shocked that there are people working at Microsoft who call themselves 'Open Source Engineers'. I'm not surprised, Microsoft was not exactly an early adopter of open source. Plus, it's a well-known fact that whenever a developer in some office mentioned the word open source, a corporate lawyer would magically appear and be really concerned. In fact, Microsoft created a separate entity called Microsoft Open Technologies that would take care of the little open source expected from Microsoft. What happened? What is my team doing, anyway?

The official team name is 'Strategic Engagements', embedded in Microsoft's Developer Advocacy group. We founded the team in late 2014 with a simple mission statement: Build epic stuff and release it on GitHub.

We collected a ragtag team filled with open source-loving engineers coming from various Microsoft groups (Xbox, Windows, Phone, Core, Skype, Devices, Evangelism) as well as outsiders from competitors and startups, ensuring that we have good people for virtually any stack. At the same time, the whole company opened up: As of today, some of Microsoft's most sacred developer products live on [email protected] - for instance most of .NET (Runtime, Compiler and Libraries), TypeScript, F# or Azure's SDKs. In total, we currently have 840 repos with a whopping 52,000 GitHub stars out there. Satya, our CEO, started at Microsoft as a Developer Evangelist.

Our small team is in the awesome position to hack on Microsoft's newest (and sometimes unreleased) hardware & software, integrating and combining it with our favorite open source tools. I made sure that devs have an easy time running the Node.js fork io.js on Azure. We're working on a full suite to enable IoT devices. We automated the creation of Docker/CoreOS clusters. Today, we build a cannon. More often than not, we sit down with startups or tech companies and work on something that really helps them - even if that doesn't include Microsoft technology. To summarize: We're building code for developers out there.

An Open Source Day

Work is entirely self-directed. We work where, when and on what we want to. All us engineers report up to one manager - Mike, an awesome engineer himself who previously worked on a magical piece of technology called Cortana. We're always shuffling a bunch of different projects across the whole team and if you're interested in one, you're welcome to join and hack away. If you're coming up with an awesome project yourself, you're welcome to pitch it - resulting in you receiving funding and becoming that project's dev lead. If you're not really ready for pitching, you're free to work on it anyhow. All of us are expected to spend at least 20% (or one day a week) on your own projects - whatever that might be.

Most of us are located in Seattle or San Francisco (with additional small pockets in Cambridge, London and Tel Aviv), but we're all happy users of Slack. If we need to get together or work on super-secret hardware that can't leave buildings yet, we just board a plane and fly to Redmond.

In my case, I get up in the morning, open up Slack, say Hi to my fellow team, respond to some mails and spend the rest of the day coding away, ending with hopefully quality commits or pull requests. I spend most days coding, but releasing code on GitHub in itself isn't worth much if nobody uses it. Ideally, we already work with great developers out there who can implement our code, but we also like to talk about what we do. After all, the world needs to know that we exist, that our code is out there, and that we're ready to work with the open source community to build epic projects. There are way to many conferences to speak at, so I like to attend the ones that are in interesting locations. I'm looking at roughly four international and a handful of national conferences a year, which is a good balance for me, but just as self-directed as the rest of the work in this team.