THE new adventure
This past month marked an important milestone in my life. Several milestones, at that, but all in the right order. Starting with the important ones - I FRIGGIN’ GOT MARRIED!
Hands down, the happiest moment of my life! My wife Tiffany seems to be happy about that decision as well, so we’re diving head-first into the intricacies of adult life and all decisions that come with it.
3 years and counting
In addition, this past August marked 3 years at Microsoft! I’ve started in 2014, as a Program Manager on the Outlook team, where I helped ship a bunch of Groups experiences along with a number of tools to help with the migration process. It was a great start and right away I got to know what it’s like to manage a product and make decisions that impact millions of customers worldwide - one of the most prominent benefits of working at Microsoft is that no matter what you do, your impact always operates at scale.
Then, I got the opportunity to interview internally with a team that was bootstrapped by Jeff Sandquist - at the time, the main goal was to re-invent documentation. Start from the ground-up and deliver an innovative documentation platform that can replace MSDN and TechNet - you might know it now by the name of docs.microsoft.com. Dan Fernandez made the case for it, and it was a no-brainer for me to get started working on this new product, so my new adventure began in October 2015.
Since then, docs.microsoft.com grew exponentially - we moved more and more content from the legacy sites, we integrated completely new experiences like the Cloud Shell and the API Browser. We are processing hundreds of pull requests from our community monthly - it’s a fantastic thing to see, when documentation becomes an openly accessible resource for anyone to contribute to! And did you know that we also opened a whole new section where our Cloud Developer Advocates share the most interesting samples and demos - The Sandbox?
The three years at Microsoft were quite instrumental in shaping me as a professional as well - there are hundreds of lessons learned, and I will try to outline some of them here - this probably goes hand-in-hand with what I chatted about after I finsihed my internship, expanded to the full-time role.
Working at Microsoft is daily an opportunity to learn. Learn new technologies, learn new approaches to a problem you might’ve encountered before, and even learn about problems you did not know exists. Your career is a fantastic time to be like a sponge and absorb as much knowledge as possible. Everywhere. Every meeting you go to, every prototype you implement, every feature you ship - it’s all a learning experience. At Microsoft, learning is a core part of your career path - and there are plenty of resources for you to take advantage of, from the on-campus library, to your peers and individuals within other teams that might not even be related to your primary line of work.
Build out your role
Often times you can read guides that tell you how to be a great program manager, or a great software engineer. Those are fantastic resources, but also keep in mind that you should never silo yourself into a specific title-driven role. I am a program manager - does this mean I don’t code? No. Not at all. When there is work that needs to be done, it’s time to roll-up your sleeves and expand your role to something beyond what your title says. It’s a great way to see how multi-faceted your product is, and just how your decisions can impact the direction of the product beyond the PowerPoint presentation you might be building. I’ve been fortunate to have managers who encouraged and fostered the idea that my role spans beyond the standard guidelines, and I can help shape it myself.
Interact with your customers
As an individual building out a product, be it internal or external, you have customers. No matter whether you are an engineer or a manager, you absolutely want to know what your customers want instead of being buried behind your own requirements and visions. This might seem obvious, but if there is one lesson I learned, is that your visions are rarely overlapping exactly with what your customers see as worthwhile features. I’ve learned the discipline to always, always talk to customers before I start writing a specification document. Set up calls, Twitter surveys, look at our UserVoice - there are plenty of chanells to have a conversation with the people that will be using what you are building, you just need to start actually doing it.
Documentation, documentation, documentation
No matter what you are building, always document every single aspect of your feature. And this goes beyond the typical technical specification document. Make sure that you write guides on how other people can use your features. Buildng out this discipline will take time, but the more you do it, the more you get to understand the problem better while helping your peers and customers - the moment you say “Wow, this is a bit complicated” is your sign that maybe you need to improve the feature!
Find your passion
I cannot overstate how important it is that what you work on is something you care deeply about. Throughout the past 3 years, I’ve never felt like I was working - every day feels like a new adventure (cliche thing to say, I know) where I have to solve new and interesting problems for our customers. This is something you should aim for, as that will impact greatly the quality of the product you ship.
Obviously, everything mentioned below is not exhaustive - wrapping three years in a single blog post would be a futile task as it will take several Encylopaedia Brittanica-sized volumes to outline every single experience I went through.
To wrap up this post, I should mention that I am excited to do more at Microsoft - the three years are just the beginning, and seeing where our team is going, I am confident that in a year, I will be able to put together a whole new blog posts, documenting the many new experiences and lessons learned. Until then, I got some more PRs to review and specs to write.
Have any thoughts? Let me know on Twitter!