DISCLAIMER: This article has been written by myself and myself only, and content outlined in no way represents any of the views or opinions of my employer.
You know, I’m working in the Azure SQL department (which pretty much fulfilled my dream of building a database) and, interestingly enough, the most common question I get asked is – “isn’t it super-stressful to work there?”. Most people, in Serbia at least, have this perception that working on any cloud service, especially Azure SQL one, is a place where you go if you want to sacrifice your life and all your loved ones to the ever-hunger gods of productivity and corporate world. Working 16 hours a day, talking about databases all the time, always fighting against the deadlines, completely forgetting what the work-life balance used to be … yadda yadda yadda.
Let me get it straight from the very beginning – nonsense. Pure nonsense. Is it occasionally stressful? Yes! Do you occasionally have to work longer than usual? Absolutely. Are there occasional deadlines that have to be met? Sure. But guess what? The exact same would be true if you were building rocket ships. Or autonomous cars. Or incredibly popular AI product. Or being a surgeon. Or a fireman.
Working in a high-stakes, high-rewards environment can occasionally be stressful. But the rewards are nothing short of incredible and make it absolutely worth doing it.
I’m not just talking about financial rewards. Because that’s a dull one to focus on. I’m talking about personal satisfaction here. Having a chance to work on something MASSIVE. Something used by some of the biggest organizations in the world. Getting a chance to make an impact. Simply put – having a chance to be part of all of it is just freaking awesome! Oh, and MDCS was voted as one of the best employers in Serbia. Go figure.
Let’s discuss various aspects of it now.
The collective
You know that old saying – you are who you hang out with? Yeah, it’s true. It really is damn true. Working in Microsoft Development Center Serbia exposes you to some of the smartest, sharpest, highly-driven and highly successful people in this part of the world. Mind you, same is true for pretty much the whole Microsoft, but in this specific instance I’m focusing solely on people that I’m surrounded with.
Spending a bit over a year here, I’ve met people holding various patents in all kinds of fields. I’ve met people who are in the top 1% in the Software Engineering world. I’ve met people whose brains work on a such distinct frequency that watching them approach problem solving is nothing short of pure porn. I’ve met people who had completely different dreams and areas (e.g. being actors) who were so highly-driven towards problem solving that they moved to Engineering and are rocking it. I’ve met people with incredible communication and ‘getting-to-the-bottom-of-it’ skills. And yes, I’ve definitely met some crazy ones, but at least we share the same goal so they are really fun to be around with.
Having a chance to network with crème de la crème in engineering world is one of the most important perks you get in MDCS.
There are outliers as well. Outliers like myself. I’m your average joe who simply pushed his way in by applying extreme focus, dedication and, well, spending lots of time trying to get in. And I wrote a whole article about it.
There are outliers, sure, but I’d argue there’s even something distinct about us outliers, which still makes it worth meeting and hanging out with us 🙂
The growth mindset
This one gets abused a lot. And I get it. Every company out there wants to showcase how they care about their employee’s personal growth. Because, you know, it sounds like a cool thing to do. Yet, I’ve also observed numerous examples where this is nothing short of stupid. Advertisement, if you like.
It’s not that every company out there doesn’t want you to grow. Definitely not. Or, at least, you’d be quick to spot and avoid those companies like plague. So ones that do advertise it, definitely do mean it. I give them that. The problem is:
implementing the growth mindset framework on a company scale is DAMN HARD.
It’s damn hard because it requires A LOT of work. A LOT. And it’s because every single person out there is different and has different perception of what ‘growth’ really means. Which is totally fine, but it just makes it quite complex to implement. Let me give you some examples – I, for example, like to grow by reading and writing about stuff. And I prefer to do it in some weird hours and I would definitely hate doing it during regular ‘office hours’ (no such thing in MDCS btw, but I had to use something to refer to chunk of time you spend at work). However, I know a lot of people who prefer completely different approach – they want to watch videos. And they want to have company schedule specific time-slot when they can spend chunk of their time studying whatever the hell they want. Others on the other hand see growth as increased work-life balance and low-stress. That’s what makes them grow and thrive – personal time to switch off from work and do whatever the hell they please doing.
You get the gist, right? It’s hard because, just like opinions, every person has their own. So how do you make the growth mindset work for everyone? Well, one way of doing it is just providing access to pretty much ANYTHING and EVERYTHING out there, and letting people decide what they want.
Let me tell you how we do it in Microsoft (because this isn’t really specific to MDCS):
- Biannual Connects — twice a year, a “Connect season” comes. It’s a period when you are supposed to reflect on how the past 6 months went, what was good and what was bad, and finally make a plan for the next period. Without going deeper into why I think retrospectives are awesome (I wrote a full-blown article anyway, this is just one amazing way to reflect upon yourself and get a direct and useful feedback from your manager on how to grow further.
- Biannual Feedbacks — around the same time when “Connect Season” starts, we also do something called “Perspectives”. It’s optional of course, but the idea is that you ask the people you worked with for feedback, and they share what they think you did good and what are some potential areas for further growth. I personally find this to be an amazing tool as it helped me uncover A LOT of things that I wasn’t even aware of.
- Access to MS Library — this is something that can be understood only by people living in Serbia where getting books, especially foreign ones, can really be a pain in the ass. Yes, there’s no Amazon and they shut off BookDepository, so ordering books is really painful process now. MS Library, which I frankly had zero idea about, is a very simple and efficient program — there are actual physical Microsoft libraries around the globe, so all you need to do is find a book that you want, click “Order” and it arrives within couple of days to the office (with zero charge of course). You get 90 days to return it back (which is as simple as returning it back to reception desk at the office), but I think you can extend it to like 6 months or so. Simply amazing thing that makes life so much easier!
- Whole program dedicated to wellbeing and mindfullness — mind you, I don’t know much about this, primarily because in-between of taking care of our toddler, doing work and trying to get into depths of every single area of SQL Server there is, I don’t get much time to work on my mental health. I know, I know, it’s strange when it’s coming from someone who went through massive burnout and is a great advocate for mental health, but it’s just that I’m at stage in life where I voluntarily choose to dedicate time to other things. But yes, there’s a whole program about being well, getting bunch of meditation apps (Calm, Headspace, etc.) and possibly there’s more around it which I didn’t really look into. My point is – wellbeing, work-life balance and mental health are some of the top priorities and are ingrained in Microsoft culture, so as with everything else – you get access to bunch of resources which you can consume.
- Access to just about any possible resource out there that you could think of — funny enough, there are literally lists and lists of Free Stuff that you get when joining Microsoft. Lists created by people who tried to curate everything that is out there, because it’s just damn hard to collect everything. I personally find O’reilly to be one of the most valuable resources, but there’s simply a ton more for everybody’s taste.
- Annual wellbeing budget to invest in just about anything that you want — you get a yearly wellbeing budget which you are free to spend on whatever the heck you want. All you need to do is submit the receipts back and it gets refunded to you with your next month’s salary. So whether you are in for a gym, swimming, massage or buying equipment for recording studio, as long as it any way serves your hobbies and wellbeing, you can refund it.
- Well-defined career paths and well-defined requirements of what is needed to achieve them — suffice to say that with a huge and mature corporation goes a well-defined career ladder. At any point in time you are free to consult it and decide on where you want your career to go and what needs to be done in order to make that happen. Obviously, your manager is always there to support you in whatever path you want to pursuit.
- Access to some of the biggest projects and codebases in the world — it goes without saying that working at Microsoft exposes you to some of the biggest projects in the world. Obviously I can’t speak about anything other than SQL Server and Azure SQL, but I guess it goes without saying that if you are into massively distributed gigantic apps, working on Azure Cloud version of one of the most secure databases in the world is, well, the best place to be. What’s more, in my one year tenure here, I’ve been exposed to such a wide range of engineering challenges which, I literally, couldn’t even dream of. It’s a geek’s wet dream. Honestly 🙂
- – And the list goes on …
As you can see, there simply are A LOT of perks to being employed by Microsoft and working in Dev Center in Serbia (MDCS) and it really puts a smile on my face every time I think about it 🙂
The managers
I recently talked about it in a brand new talk that I crafted – Complexities of Seniorship in Software Engineering. Long story made short, the path is usually well-paved while you are swimming in the Engineering waters. Engineering as in – being a software engineer with your main task(s) being code writing and eventually leading a team. Lots of resources everywhere on how to keep progressing and improving.
But, and this is funny, once you start swimming in the management waters, the game changes completely and amount of useful resources plummets. Hence the reason why so many people get completely lost – there just aren’t that many good resources on how to grow as a people manager (which, mind you, is completely different position than being software engineer).
One amazing thing about Microsoft is that there are SO MANY materials on Management. As in, I remember my manager once telling me that there are so much courses that one really wonders when to find time to do them all. But the point is – if you want to be Engineering Manager, Microsoft will provide you with the best of the best resources to help you grow.
I’m not particularly interested in that path, at least not at the moment, but the effects are quite obvious if you just go and talk to just about any manager that you meet. It’s quite clear there’s been extensive training going on and that they all have a very specific mindset and skills necessary to, well, at least try to be the best managers out there.
This is EXTREMELY important for you, as a software engineer, because your manager is the one person who can make or break your career. And as my ex-boss, Herr Uwe once told me — ALWAYS pick a company based on who your manager will be. And that makes a lot of sense and that’s exactly a reason why I’m listing it as one of the perks of working here – you just get to work with the best of the best, which means rocket-fuel for your career.
The projects
I vividly remember one of our team meetings, where a younger colleague brought up the idea of why don’t we pursue some newest tech. I can’t really remember what it was, but the point is – it was something that sounded hot and exciting at that moment (possibly still is, but I just can’t remember what it was).
What one of our principal engineer colleagues responded still resonates with me. “I get what you are saying. It definitely makes sense to be interested in doing new and shiny things. But once you reach certain age, you start realizing that new and shiny usually means something that hasn’t seen much of a production yet. In contrast, if we take SQL Server for example, literally every single piece of this gigantic puzzle could be a company on its own. Our deployment pipeline is absolutely incredible. Our telemetry pipeline is yet another marvelous thing. The fact that SQL Server has its own Operating System, called SQL Server Operating System (SOS) is yet another beauty. And being able to dig into such incredible engineering challenges is way more rewarding than building something new with shiny tech”.
I understand that massive projects are not everybody’s cup of tea. Some people simply prefer to iterate fast on small scale. And that’s perfectly fine! But I personally find way more enjoyment in digging deep into stuff that were battle-tested over and over and over, over decades, and still remain functionally brilliant. That’s just kind of stuff you get exposed to if you get lucky enough to start working in here.
The (dreaded) stress
Let’s face it – it appears to be one of the biggest fears. The fear of working in Azure SQL being extremely stressful and having a completely insane thought that people are working 16 hours per day, every day, just to keep that submarine going.
Here’s the truth — one thing that defines people who work in MIcrosoft and MDCS in particular is that all of them work HARD. Like, really passionately hard. But working hard does not imply working LONG. Or having stress. Most of the people that I’ve met are hard workers but they are hard workers because, wait for it, the love what they are doing. They love it, they are passionate about it and they just want to see the product succeed.
So is there stress to the job? Yes, occasionally. Yes, we have the on-call shifts and yes they can be stressful, but hey, as I said above, building a spaceship is not a 9-5 job either, right? Neither is being a surgeon in the on-call shift. You just do what you have to do to keep the machinery going and you do it for a higher cause. And that pay dividends long-term, both in terms of finance and personal satisfaction (yeah, it’s freaking amazing to see your feature get used by MILLIONS of people).
All I have to say about hard work and stress is:
Anything that produces high rewards requires high commitment.
As an example, if you went to the gym and farted around for 60mins, you’d feel like shit, right? On the other hand, if you busted your butt off even for 30mins, once you did leave the gym, you’d definitely have felt AMAZING. Well so it is with ANY kind of hard work – it pays off, especially if you keep doing it for long time.
In summary
I rarely do write summaries, but I’m making exception this time. Here is the short-hand version of everything — if you’re up for working with some of the most creative and talented people in the world, tackling some of the most complex and biggest engineering challenges, all while wanting to be part of the company that heavily nurtures the personal growth and wellbeing – you definitely do want to join us in MDCS!