Why I Joined Microsoft

Be the change that you wish to see in the world.

With all the hype about Microsoft’s hiring streak on the developer advocacy team, it has left a lot of people asking: “What is Microsoft doing?". Many of my new coworkers have shared their views; I thought I’d share my own. Even some of my own friends and family have asked why I would make this move. I’d been working on a great team, working on really interesting and challenging problems. All seemed to be well in the world; what would trigger such a move?

The history

You see, for those that know me well, this is a truly surprising move. Microsoft is probably one of the last places people might imagine me ending up. My entire life and career I’ve been a Linux nerd, developing for and on Linux systems. I’ve been a Linux user since the late 90s. The last version of Windows I used was Windows XP. But even then my primary OS was Linux (whatever my favorite distro happened to be for the month). It wasn’t till 2009, when I bought my first Mac, that I used anything other than Linux for my primary OS. My Mac is only for productivity apps, graphics applications, video conferencing, etc. I do all of my development on an Arch Linux workstation.

I’ve also been extremely active in deploying, developing against, and contributing to open-source software projects, and we all know Microsoft hates OSS, right? Or does it? I had a great conversation with Scott Hanselman my first day about this very subject. I was actually surprised to find out that he wrote about this three years ago in a post titled “Microsoft killed my Pappy", which does a great job of highlighting the generational anger and hating Microsoft because it’s the trend.

The new Microsoft

Microsoft today is not the Microsoft it was 10-20 years ago. I wasn’t a fan of them then either, but people and companies can and do change. Today Microsoft has new leadership and a new vision for open-source. The Microsoft of today believes in delivering great software to everyone and meeting them where they are, whether they are Apple users, Android users, or Windows users. That’s something I can get behind. Bill Gates himself now uses an Android phone!

The software landscape of today is completely different than it was 20 years ago. It’s no longer about proprietary operating systems. It’s about open-source software and cloud products, and Microsoft is getting back to empowering developers. Many people recall Steve Ballmer’s chant of “developers, developers, developers”; at that time the focus was mostly on Windows developers, while now the focus is on all developers. In addition, the cloud market is exploding, many of today’s most interesting companies and startups are leveraging the cloud in one way or another, and these companies rely heavily on open-source projects.

The mission

So enough about the Microsoft of the past; let’s talk about the Microsoft of the future. What does it mean to be a Cloud Developer Advocate? John Papa did a great job of breaking down the job description. Mark Mandel (a Developer Advocate at Google) also talked about what the ideal role of a developer advocate is, and what their typical day-to-day looks like.

But what does it mean to me? Well, at first I got the goal of a developer advocate backwards. I thought the end goal of a developer advocate was to convince others to use the products of the company you work for.

It turns out I was wrong; I had the whole thing flipped. Would we like to increase adoption of Azure? Absolutely. Does it mean we will actively push Azure products on people? Not at all.

Our primary goal is to help the open-source community and to help make Azure a place they want to run their code, whether it be by contributing to open-source projects, creating demo applications, writing tutorials about open-source projects, hearing about and understanding the types of things developers in the communities we represent are building and the problems they face, then trying to come up with solutions.

The advocacy actually works in reverse; we advocate to the product and documentation teams on behalf of the communities we represent. The value this adds is that we can help the product teams and documentation teams offer a better product for everyone.

I was happy to hear that we are expected to be genuine to the community first. That means I won’t ever have to push a product on someone. When you hear me talk about Azure products, it’s because I love them and I would or do use them personally, and not because someone from marketing decided we need to focus on a particular product.

Outside the role itself, I’m really excited that Microsoft is evolving and becoming more active in the OSS world; I think that our OSS communities need everyone we can get. Rather than criticize the choices of the past, we should embrace anyone or any company that is willing to help us build the future, especially one with the vast resources of Microsoft. I’m really excited about this move, and I’m excited to play a role in their transformation into a powerhouse in the OSS world. Ghandi said it best:

“Be the change that you wish to see in the world. - Mahatma Gandhi”

Why do I want to be a part of Microsoft today? Simply put, I love getting in on the ground floor of something amazing where I can make a difference. And what better way to make a difference than empowering and supporting the open-source community?

The management

I also want to specifically address the topic of management. Throughout my career I’ve had some great managers, and I’ve had some terrible managers. The importance of great leadership in any role cannot be understated. Without great leaders any job can be a living hell.

Throughout my time discussing this role with my new manager, Bryan Liston, I got a feel for the type of leader he is, especially because many of my friends had also joined the team. He’s extremely supportive of work/life balance and family coming first. He’s understanding of burnout and mental fatigue and the importance of taking a break.

He is also extremely passionate about being genuine and altruistic to the OSS community. This is why OSS thrives. What does this mean for a leader? It means he will push back if marketing and PR try to use our reach; it means I can have the confidence to say no when I truly believe something asked of me isn’t right for the community.

This is why I know this team is going to do amazing things.

What does this mean for Go Time, GopherCon, etc?

People are wondering what this means for all my current projects like GopherCon and Go Time. Will Microsoft own these projects or will they control my messaging? Will Brian and I be pushing Azure down everyone’s throats?

The answer to this is simple: nothing changes. Microsoft has no desire to control these community projects; they are happy to support us in making these things happen for the benefit of the community. The only change is that Brian and I now have more time to work on them, and less of the juggling that typically takes place while holding a day job.

As far as the pushing of Azure, Azure offers some great products, but you won’t catch us using GopherCon or Go Time as marketing channels, and when you see me talking about an Azure product, it’s because I love it.

The conclusion

I’m really excited about my new journey. I get to work with so many great people, and I can’t wait to learn from them. I’m really excited to be able to have the opportunity to play a role in the new Microsoft and work with leadership that sees the same vision I do.

I’m also really excited to get the opportunity to play with so many great Azure products, some of which I didn’t know existed before I started. Working for a cloud provider is definitely the place to be as the industry migrates their infrastructure to the cloud.

I really love that I’m going to get to help the community succeed in building highly-scalable applications and allow them to focus their energy on the business domain of their product and less on infrastructure.

I’m just plain excited.

comments powered by Disqus