The question you’ve all been asking. The most asked about thing of my LinkedIn DMs.
Can you tell me more about the hiring process for Microsoft?
Well, you asked, and I have delivered!
In today’s blog post and YouTube video, we talk all about the steps that happened before, during and after my interview process with Microsoft.
Disclaimer: Before we get into it, I just want to make it clear that this experience is unique to me and your experience may differ depending on the department, role and ever changing times.
1. The Prelude
So, it’s worth noting that I wasn’t actively looking for a role at Microsoft when I got reached out to. I was working at a company that delivered RFID technology for events and I had just been promoted to a Lead Engineer. We had just got back from America after the first go-live of our new RFID platform and I was also 16 weeks pregnant.
However, during my time there I worked a lot with AWS, and I quickly realised how much I missed working with Azure. It was at this point I knew that I wanted to work with Azure in my next role. This prompted me to stay up to date with Azure and work towards the Azure Solutions Architect Expert certification, which required me to pass both the AZ-303 and AZ-304 exam (now retired and replaced by AZ-305).
The idea was to keep my skills fresh with Azure and to gain a few years experience as a Lead Engineer, so that I could become a .NET contractor a few years later. I was starting to be more active on LinkedIn because I knew I wanted to build a network of contacts, but it was nowhere near where it is now, maybe around 1000+ followers/connections.
Things were going great, I was loving my job, even the crazy fast-pace that comes with working at a start up.
That was until the outreach…
2. The Outreach
Everything changed for me when I received this message from a recruiter from Microsoft:
Now, I would often get messages like this for companies and would usually take a couple of days to respond… But, this drew my attention because it was Microsoft, a company I would LOVE to work for, so I had to respond shortly after receiving it.
Because I was pregnant at the time, I was a little bit apprehensive so my initial response was this:
However, after a little bit of encouragement from my best friend and my partner, and the recruiter.. I asked myself:
What’s the worst that could happen?
Realistically, the worst thing that could happen was that I wouldn’t be offered the role, and if that was the case, so be it.
There’s a saying:
The only things you regret are the things you didn’t do.
And I knew that if I didn’t, at least, try… Then I would always be wondering ‘what if’.
There was an initial call I had to have with the recruiter first, where he told me all about the role and the type of work that I would be doing, and the more I learned the more excited I became.
After that call, I didn’t hear anything back for another week, but I knew it was likely there would be a codility round. To prepare for this I spent some time practicing LeetCode style questions so when I got to that round I’d be okay. It turns out that it ended up getting dropped, apparently in the UK they sometimes don’t bother depending on the level they are hiring for and the amount of applicants they select.
There were some back and forth between me and the recruiter but I was starting to think it wasn’t going to go anywhere, until I got this:
Yes! Progress was being made.
3. The Technical Screen
The first part of the process was to have an introductory call, coincidentally with my now boss. I didn’t know he was going to be my boss at the time and I don’t think they had decided where everyone was going.
Anyway I digress…
This was the perfect opportunity to learn about the role. It transpired that the role was to work with customers on a 4-6 month cadence and help them toward their journey of using our services in Azure. We would be working with their engineers to upskill them and give them the tools necessary to continue working on their own.
This was perfect for me in so many ways because…
I’m a magpie, I like to learn lots of new technologies, and I pick them up quickly.
Product development can get a bit repetitive when you deliver features over and over.
Opportunity to be exposed to various architectures and complex problems.
The more I learned about the role, the more I felt it was perfect for me due to my software engineering and solutions architecture skills and interests. I just knew I would enjoy it.
Once we had this talk, I was then progressed onto The Panel round!
4. The Panel
So, the panel interview was a day of interviews. It was all done remotely, but the idea was for them to decide by the end of the day whether I was a hire or a no-hire. I really liked this because it meant that I wasn’t spreading the interviews across different days which would have been quite anxiety inducing for me.
The interviews were as follow:
Design/Architecture
The brief that I had been given for this interview was that they were going to ask about my experience architecting solutions and/or be given a hypothetical software challenge. To prepare for this I practiced using the C4 model for breaking down abstract ideas into code. I didn’t actually end up going through this because the interview was very much focused on my experience implementing and architecting solutions.
I spoke about my experience with microservices, my preference over modular monoliths and that microservices are often over engineered. I spoke about strong design and testing principles that I care about, and I also spoke about recently designing and implementing a data warehouse as that was what I was working on at the time.
We talked about my experience implementing various .NET solutions and how I also really enjoyed working with identity providers to implement authentication and authorisation, given it’s various complexities.Competency
The competency interview focused on the whether or not I was the right fit based on how I responded to the questions.Common questions I can remember were:
- Tell me about a time you dealt with conflict?
- Tell me about a time you encountered a failure and how did you overcome it?
- What do you do to find out new information?
Overall, this was the interview I was most confident with. I have done a lot of facilitation in previous roles, which really helped with the questions that are related to dealing with conflict. I’ve had to do a lot of diffusing and dealing with difficult conversations throughout my career which has helped me pick up some great skills in this area.Code
The code interview was a pair programming exercise, where you were briefed on an API and a set of requirements and asked to deliver them.
The requirement was simple, however, I believe the notable things I did were:
- Used TDD to implement the features
- Got the API connected to a database (using EF Core and repository/unit of work pattern)
- Displayed understanding of dependency injection and inversion of control
By this point, I really wanted this job, and I was going to use every skill I had to show I was the right person for it. This was my opportunity to showcase my skills, which are really caring about code quality.
Once the panel round was completed, I found out shortly the next day that I was moved to the final stage. I was thrilled!
5. The Final
The final was with the hiring manager (my current boss’ boss) and this had very similar questions to the competency based interview, it was all about understanding whether or not I was going to be a right fit for the company.
One thing that really stood out to me about this interview is just how welcoming and inclusive they were. This really showed me the type of company that I was joining. Being on the other side of the coin now, I can see just how much the company prioritise making sure that everyone has a pleasant and as relaxing as possible interview experience, and it really showed.
6. The Aftermath
I then received an offer the next day! I was really happy with the offer and it was a significant increase from my role at the time, I really appreciate the fact they didn’t try and give me a low offer based on my previous salary and gave me a really fair, in line with market rate, offer.
However, I still couldn’t hand my notice in until I received my contract. This felt like FOREVER. It took around 3 weeks for my background checks and references to be completed before I received my contract.
I then signed the contract, handed my notice in, and the rest is history!
If you got this far, thanks for reading! If you liked this post please can you give it a like, restack and let me know of what you’d like to see next! Please don’t forget to watch the video if you prefer videos to text:
Maybe I should respond to that message from Microsoft recruiter I got today 🤔...thanks for great summary Jade!!
This is inspiring 🌠