Thoughts of an engineer: Microsoft Development Center Copenhagen as a workplace

Alvin Stanescu
7 min readJun 14, 2016

--

I’ve been working at Microsoft Development Center Copenhagen for almost two years now — it’s been a great journey getting here and working here, and I think the time has finally come for me to share some of my thoughts regarding the work I’m doing.

First things first, a couple of quick facts about MDCC:

The center of Copenhagen at rush hour (source: Wikipedia). Around 45% of Copenhageners commute to work or their place of study by bike every day.
  • The main products we’re working on here are Microsoft Dynamics NAV, an ERP (Enterprise Resource Planning) software aimed at small-to-medium businesses, Microsoft Dynamics AX, an ERP software aimed at medium-to-large enterprises, and Microsoft Dynamics CRM, our Customer Relationship Management software.

Work life

I joined Microsoft in October 2014 after finishing my master’s degree at the Technical University of Munich, and eagerly relocated to Denmark for the job. I did have some prior part-time work experience, but nonetheless nothing remotely related to what I’d be doing at Microsoft.

I won’t go into details about the interviewing experience as there are a lot of blogs or Quora posts online about how Microsoft’s interview process works, all I can say is that you have to prepare really well before your interviews and use all resources available to improve your odds of success.

Before I even had a chance to get properly started, I was surprised by the diversity of the engineering people in the office, I was suddenly working with people from so many countries around the world that I had to take some time to remember all of the places everyone’s coming from.

Microsoft Development Center Copenhagen in full glory

As a side-note, I really got to appreciate the value of having a diverse team at Microsoft. Diversity is not a catch-word for “let’s be politically correct” as some may think, quite the contrary — it really helps Microsoft make better products. Our users are extremely diverse, so we have to be too in order to build products which fit all of their needs.

I was assigned to the Microsoft Dynamics CRM team, where I initially worked on Microsoft Dynamics Marketing, a companion product for Dynamics CRM, fully developed in Copenhagen. Afterwards, I had a lot of fun implementing some of the Custom Controls for Dynamics CRM.

Currently, I’m working on some cool new features for our CRM product. :)

What do you actually do?

Many of you might wonder how a typical working day looks like. Most of the time I’m trying to juggle (and, mostly, succeeding) between the following:

  • Attending the daily stand-up (we use a mix of Scrum and Kanban, using TFS to track our work), together with my team-mates
  • Planning and grooming future work, subdividing it into digestible tasks
  • Coding in Visual Studio 2015, mostly in C# and TypeScript in my case, but also a bit of JavaScript and ASP.NET here and there. These days, I’m also working with Azure a lot and I’m really enjoying it — I’ve been waiting since my university days to get some real “cloud action”, writing massively scalable code. It’s always great to be working with the latest and greatest technology available :)
  • Doing code reviews, which imply looking at other’s code and trying to understand what they’re trying to achieve, helping them improve their code and fix outstanding issues. When reviewing other people’s code, I’m always on the look-out for security issues, expecting a solid set of tests covering as many edge cases as can be identified, good documentation, code style and great readability.
  • Checking in reviewed code into our repository — we use Git for source control management and require a full test run before checking in; this is done in order to prevent people wasting time fixing other people’s bad code. It’s always more effective for a person to waste 10-30 minutes waiting for a test run, than for 20 people to waste 5 minutes to uncover or fix a minor bug.
  • Feature Design, which I either do alone, for minor impact features, together with my team and/or my manager, for medium impact features, or together with one of the architects for features with big impact
  • Meetings, a necessary evil at times —getting all of the stakeholders in a particular issue together to discuss a solution face-to-face or on Skype is definitely faster than sending tons of emails back-and-forth
My favorite meeting room. Yes, those are swinging chairs!
  • Coffee (usually a nice big Latte), to keep me productive doing all of the above :)

Since multi-tasking is totally not cool (at least not for humans), as studies show that it’s decreasing your effectiveness and work quality, I try to be consistent in the type of work that I do, turning my notifications off and some awesome music on when I really need to focus on designing or coding something which requires my complete attention span.

How does your work environment look like?

I’d dare say we have some of the most modern offices, at least in Denmark, and, according to internal visitors, some of the best offices within Microsoft.

Our offices are open-plan, separated by noise-dampening movable walls in between feature teams.

I must confess that I had some trouble adapting to the idea of open-plan offices at the beginning, but I’ve increasingly grown fond of them, as it’s so much easier to communicate with other people, and that can sometimes lead to a problem, which would take a colleague working on another area an hour to fix, to get fixed in just a couple of minutes, with some help.

We have standing desks (I like to work standing sometimes, particularly in the early morning when I’m still waking up) with 2–3 monitors on them, plugged into our laptops. Each of us has a designated Virtual Machine in the cloud, designated for development — some of us use it, some of us prefer working on their laptops directly. I, for one, like working on the VM, since I can resume work almost instantaneously and the lag from connecting to a remote machine is normally not really perceivable.

Each of us gets a Windows Phone and a company SIM and data plan when joining, although you can always use your own device if you want to — I’m a big music fan and for that reason I’m sticking to my iPhone as my main phone, with a lot of Microsoft apps on it.

Almost all of our meeting rooms have a theme (as can be seen in the photo above too) and that really helps us relax ourselves when talking to our colleagues.

Do you actually get to work with people too?

Oh yes, definitely! In fact, I enjoy working with people as much as I enjoy coding, simply because my co-workers are a great bunch of people — they’re well prepared to answer any (sometimes stupid) question that I pose them and always on the lookout to give a helping hand where needed.

I’m not sure if it’s the same for all teams, but my team is particularly energetic. Most of us are young graduates and we’re all eager to learn and carve our own slice of the world. There’s a very friendly and growth-oriented atmosphere in general, with proactive and forward-thinking work being encouraged.

How about work-life balance?

Work-life balance has recently become a particularly tough to talk about topic, especially given the rough job situation after the late-00’s recession when some employers expected people to work longer hours simply just to keep their jobs. However, I think MDCC does well here as well.

At MDCC, we have 30 days of paid vacation per year (and around 10 Danish state holidays), as well as the opportunity of taking a paid parental leave for both mothers and fathers.

Danish law stipulates a work day of 7 hours and 30 minutes and I would say MDCC respects that. Denmark itself is famed for its attitude towards work-life balance, with an OECD study actually finding that it has the healthiest work-life balance worldwide.

There’s leisure time with colleagues as well — we tend to go out together sometimes to the many great restaurants and bars in Downtown Copenhagen, as well as practice various sports together.

If you think MDCC might be the place for you, don’t be afraid to hit us up — we’re hiring.

Whether you’re looking for an engineering position, a designer position, a program manager position or simply want to know more about us, you can chat with us on our website, on Facebook or LinkedIn.

--

--

Alvin Stanescu

Principal Engineering Manager @ UiPath, passionately building UiPath’s Cloud Testing platform.