~/petr.svihlik

$ cat the-first-300-days-of-my-microsoft-journey.md

2022-02

The First 300 Days of My Microsoft Journey

My friends and former colleagues have been bombarding me with questions about my time at Microsoft. Here's a detailed account.

My friends and former colleagues have been bombarding me with questions about my job at Microsoft lately. And since it's been almost a year since I joined the company and things already started to settle down, I thought it could be a good time now to try to answer the question.

What's your role?

I am a software engineer at Azure Communication Services. This product belongs to a broader organization known as Intelligent Conversation and Communications Cloud (IC3) which is responsible for products such as Microsoft Teams or Skype.

The team I work for falls under the "Developer Success" group and is responsible for the AuthNZ story. We work on the identity model, and develop and maintain the service that takes care of managing identities, issuing access tokens, ensuring interoperability with Teams users, etc.

My particular job is to reflect the work of our amazing team in the Azure SDKs. I work on client libraries for .NET, JavaScript/TypeScript, Java, and Python.

But that's quite different from what you were doing before, right?

Yes and no. For a long time, I've been working in the DevRel field. I was driving Developer Experience, Open-source initiatives, Developer Advocacy, Developer Community, Developer Marketing, and basically all things developer for a global CMS vendor.

Right now, the range of my responsibilities is not as wide as in the past but I stay true to my values - I help empower developers. I have a direct impact on developer experience (DX) - I design APIs, I contribute to educational materials, and, generally, I exercise my empathy for developers every day.

Moreover, I do most of this within the Microsoft Azure open-source organization.

So what do you actually do?

Besides contributing to the SDK codebase and documentation, I have a chance to regularly work with experienced Azure architects to get our APIs reviewed and approved. Working with these "20+ years at MSFT" partner-level veterans (who write books on framework design and shoot video series about API design) and seeing how they think is really the most exciting part of my job. They always bring new perspectives and I consider this to be the best opportunity to learn for me.

I also had a chance to work on Privacy and Security reviews for a new feature that we're working on. This was really eye-opening - seeing how much effort MSFT puts into making sure customer data is safe and secure. I spent weeks making sure that what we'll eventually release will comply with all the security and regulatory standards. I've also driven the onboarding of the Customer Support team to this new feature.

A big portion of my time I spend communicating - discussing technical stuff with teammates, helping people outside the team and customers, reading and commenting on designs for future functionalities, etc.

Where can I see your work?

A lot of my work actually takes place in public. Here are some examples:

Besides that, I host a number of "playground" projects under my GitHub profile.

How's your team and work organized?

This may come as a surprise but there is actually nothing magical about the organization of the day-to-day operations - our team works in two-week sprints, we hold the usual agile ceremonies, we keep the backlog in Azure DevOps.

The high-level strategic alignment is done via OKRs which our org started adopting, to my best knowledge, about two years ago and I was really happy that I could prove myself useful right after I joined by utilizing my previous experience with OKRs to hold a couple of OKR workshops for my team.

One thing that we do and that is typical for SaaS products, is that we take turns in holding the on-call duty to keep our service & SDKs healthy all the time.

We are an international team with members from various parts of Europe and Asia. Most of the team is based in Prague, but there are people such as myself who work remotely 99% of the time from a different city. Btw - if you'd like to hear more about working remotely for MSFT, let me know in the comments.

A part of the Azure Communication Team (with their permission)

How do you like it so far?

Seeing the organization from the inside is nothing like what I've seen before. The scope under which MSFT operates is incomprehensibly vast. I think I now understand Satya's words about why "creating clarity" is so essential for success at MSFT. It's easy to get lost in all the information and processes. On the other hand, the opportunities are immense - you can work on cutting-edge techs, such as MS Teams or Azure Communication Services, that impact millions of users.

One thing that I absolutely admire is the amount of effort and the level of diligence that we put into the Developer Experience. It pleases my heart to see a company that is so developer-oriented. Every moment I enjoy the opportunity to work with language experts and architects who help us design the most delightful and developer-friendly interfaces. But it's not only the architects and developers who represent this developer focus, it's everybody - engineering managers and a lot of PMs all the way up in the hierarchy are usually former devs and can dive really deep into architectural debates and coding issues.

Another really positive thing is Microsoft's ability to focus. I think there are three contributing factors - a very strong PM org, OKRs, and mainly "funding" - a concept that I didn't know from my previous career. It means that whenever someone has an "idea" what to work on, it needs to be "funded" which basically means there needs to be a broad agreement that such an activity will be impactful, and PMs need to be able to "sell" their ideas and back them by data and customer feedback.

There is also space for "non-funded" ideas. Every couple of months, Microsoft hosts a global hackathon where we can spend a whole week learning and innovating. For instance, I used this time to learn TypeScript, built ACS roulette app, or a Chat app based on Blazor.

I won't lie, the work is demanding - a lot of multitasking, constant learning, complex processes, a lot of noise - but well worth it. I'm personally more sensitive to stress and I worry a lot, so sometimes it's a bit challenging for me but overall, I don't regret joining Microsoft for a second. I'm surrounded by people who are eager to learn from each other and feel motivated to make everyone feel welcome and included, people who help each other grow regardless of their seniority.

Can I also work for your team?

Absolutely. Our team is hiring Software Engineer and Senior Software Engineer roles. We are also looking for a Senior Product Manager. If you'd like to hear more about the roles or if you'd like me to walk you through the application process, don't hesitate and shoot me a message.

MDCP Prague

Published February 2022
All Articles

$ subscribe --newsletter

via substack ↗

New essays straight to your inbox, as they're published. No spam, unsubscribe anytime.

$ gh discussion view

open on github ↗