Interviewing with the Big Tech Companies
It all Started with Meta
It actually all started when I got a message from a Meta recruiter who insisted I have a chat with him. So I said, ok a chat, but I am not looking for a job. However when I went home at Christmas and told my family that a recruiter from Meta, from America, had called me, well it just opened my eyes to the possibility that maybe just maybe I was actually good enough to work for the big tech companies. Maybe it was time to make my dream come true. My family of course all told me that I could do it. They always think I can achieve anything.
So I decided to give it a go. Meta didn't work out for reasons I do not know, something about US roles and Europe but ok, no problem.
Then Came Google
On the 24th of January, on LinkedIn I saw a role for a developer advocate position at Google and I thought, why not. I mean, there was no way I was going to get it, but it would be a good experience to see what the process was like.
Google Recruiter
On the 25th January I got an email from Google recruiter asking me when I was available for a call to have a chat about my work history and experience. On the 26th January I had the call. The call went really well and shortly after it they sent me an email asking me to give them some dates that I would be available between the 7th and 18th of February. The email contained a very long list of how to prepare for the interview and what I should study, read, watch etc.
I sent them a few dates and they chose the 14th of February, Valentines day. I now had just over 2 weeks to learn everything about data structures, algorithms, and all sorts of things I had no idea about. People spend 6 months preparing for an interview at Google and I began to see why.
Planning for the Interview
So I created a plan. First I took everything from the email and added it to a notion doc separated by the categories, reading, coding challenges, videos and courses. Once column had the link and the other had a comment where I would write done or read again or great. I now had a long list of things on Notion that I needed to watch, read and study.
I started by watching some of the videos from Google on interviewing there and the whiteboard interview. I realised I was way over my head and there was no way I could just read the material that was sent to me and be able to do the interview. I tried some of the leet code challenges but I really had no idea how to tackle them. This is when you begin to wish you had studied a computer science degree.
I needed a new plan. Something that was going to get me up to speed fast. I needed to understand how things worked before I could start doing challenges. I was missing a lot of the basics around data structures and algorithms.
Courses on Computer Science
I started by doing the Complete Intro to Computer Science course on Frontend Master by Brian Holt. This has actually been on my todo list for quite a while so now was the time to do it. This helped me a lot but also scared me even more. There are a lot of things to know about. I next studied Bianca Gandolofo's course on an Introduction to Data Structures for Interviews.
At the same time I also enrolled in Harvard's online CS50's Introduction to Computer Science. Although I found everything a little overwhelming I was also really enjoying learning all this and understanding how sorts work under the hood and when to choose one over the other.
I also think this is one of the most amazing courses I have ever taken and am so glad I signed up for it. David J. Malan, the instructor, has a way of explaining the concepts in such a way that you fully understand why and even remember it.
I then did Bianca's other courses on Frontend Masters, A Practical Guide to Algorithms with JavaScript and Tree and Graph Data Structures as well as Interviewing for Front-End Engineers by Jem Young.
You might ask, how on earth did you retain all that information and the truth is I didn't. I was doing a crash course in computer science in the space of two weeks and although I was taking many many notes and really understanding things there was no way I was retaining all that information.
Reading about Big 0 and so much more
I was now getting close to my interview date and so I started reading all the material that was sent to me from Big O Notation to books such as De-Coding the Technical Interview Process, Cracking the Coding Interview as well as Think like a programmer. Of course I didn't read all of these in depth but read though as much of them as I could taking notes along the way.
Attempting the Coding Challenges
I then went back to trying out some Leet code challenges as well as Top Coder but really I was no where near ready enough for these challenges although I did find them easier to understand after all the prep I had done and I managed to finish some of the easy ones but it took me hours instead of minutes.
There was no way I was going to pass a Google interview even though it looked like a lot of fun. I did a mock interview with a friend and although it helped it just showed me that I was not prepared at all. I needed more time and I didn't have any more time.
The White Board Interview
So on the 14th February I had my interview. The guy was really nice and we had a great chat and he asked me lots of questions which I felt I answered very well. Then came the coding part. I would describe it like coding on a google docs. There was no syntax highlighting and it was far from a code editor.
The challenge was not as difficult as I thought it would be. Actually I didn't get asked to do anything around bubble sort or merge sort or anything like that at all. The challenge was much more frontend focused.
However I had just spent the last few weeks learning data structures and doing coding challenges in C+ and now my brain was just not doing what it should be doing and so I just forget everything I know. I couldn't remember simple things that I normally teach. I couldn't use the docs or Google or GitHub copilot or anything that I normally use to code.
I forget how to write certain syntax and then I just couldn't move forward or see a solution. I talked though the whole interview process and explained other things but I was not actually doing the challenge that had been asked of me. I was going round in circles and making it worse and although the interviewer tried to help me there was just no hope. My brain was just not able to do any more.
Feeling like a Failure
I felt like a complete idiot. I can do so much better than that. I have no idea why I messed up so badly. I have never ever done a white board interview before, not in real life or virtually and let me tell you they are hard cause they just take you away from your normal comfortable environment. They are also not a real scenario. It is not how we normally code and get things done. I rely on docs and Googling because I don't always remember how to do things and I certainly don't know all the syntax off by heart. I actually use code snippets, some of which I created myself, in order to write certain code.
So yes I basically felt like a useless programer after that interview and terribly annoyed with myself. It wasn't about getting the job as there was a whole further process after that and I wasn't sure if I would make it further or not. I just wanted to have shown them that I am actually a much better programmer than what they seen in those 30 minutes. But that's what you get to prove yourself and I didn't do a good job at all.
Obviously it was a NO
When I got the call from the recruiter a few days later, he told me they had expected me to do better at the coding challenge and I said, yes, I agree. I expected to do better myself, believe me. He told m they would like to keep in contact with me and reach out again in 6 months time to try again. This was nice as it wasn't a no forever just a you need more time to learn this and be ready to pass this interview process.
I also gave him some feedback on material sent to me to study versus what was asked during the interview. Had I not studied and done Leet code challenges in C+ would my brain have been able to manage the JavaScript challenge more easily? Who knows. I don't regret studying everything I studied but if I had of live streamed frontend stuff for the last few weeks instead of studying everything I did I would have done a better job in the interview.
But I went out that night and had a Margarita and celebrated the fact that I had gotten this far and that that itself was a major achievement and something to be proud of even if I didn't make it to the next round.
And Then There was Microsoft
On the 4th of February a friend told me about a position at Microsoft and encouraged me to apply. I was referred for the position but to be honest I didn't really have high hopes because I was still not ready to pass these white board interviews at all and I was still struggling to learn data structures and algorithms.
Also I didn't feel I was good enough for the role or had enough knowledge or experience and even asked my fellow Microsoft friends if they thought I was good enough to work for Microsoft. Yes imposter-syndrome, is a nightmare.
On February the 10th I finished completing the form and at the end it asked if I was able to work in America, which I answered no, and it said the position was only open to US. I had no idea if it was even going to be a possibility but to be honest the Google one was the same. I had been told that sometimes they just need to add a location because the system requires it and as always you have nothing to lose by just applying and giving these things a go.
On the 17th February, I received an email from the Hiring Manager at Microsoft. At this stage I was still waiting on the no from Google so this was good news to have another opportunity at proving myself.
Interview with the Hiring Manager
On the 24th January I had my first interview with the hiring manager. The interview went really well and was more chatting about the role itself and what I was looking for in such a role. There was no one trying to catch me out and I was delighted to hear that there was no white board interview. Instead I would have to prepare a presentation and be asked questions after it followed by three 1-1 interviews. He also told me to expect to hear back in about 3 weeks.
At this stage I had stopped studying data structures and algorithms and was now looking into Playwright. But I was also working fulltime, finishing off conference talks and a friends wedding to attend abroad, so I really didn't have that much time to dedicate to it.
The Recruiter Email
On the 12th March I received a recruiter email asking me some questions and what was the best phone number to reach me on. Then on the 15th March I received a system email from the Action Centre which was so nice to receive especially reading the words "We were impressed by your background". It really was very exciting.
That same day a recruiter reached out asking me for 2-3 preferred dates and time zone for the interview and they requested interviews take place within the next two weeks if possible. Now things were happening fast.
Time to Write the Talk
And so interviews were planned for the 21st and 22nd of March. I now had a week to get a presentation done. I do have a lot of experience in creating talks but creating slides is always hard for me. I always spend so much time on research and then think out what story I want to tell and then I write it out in almost a blog format with screenshots and code examples. Then I can finally turn it into an actual presentation that looks somewhat presentable, normally using an already created theme.
For the research I had watched every video available on Playwright and took down lots of notes plus tried to re-produce everything I saw on my own mini demo project I had created. I could never talk about something I don't understand or haven't already tried. I also really need to be comfortable with what I am explaining as I don't use speaker notes when giving a talk. I use them for prep and rehearsal but not when giving the actual talk.
That weekend I cancelled all plans to celebrate Saint Patrick's Day and literally just spent the weekend working on slides. I had no idea if my talk would be good enough or if I knew enough and I was quite nervous as I knew Scott Hanselman, one of my tech idols, would be part of the interview panel.
Receiving Great Support
Actually it was on the 17th March, Saint Patrick's Day, that the hiring manager James Montemagno reached out to me to make sure I understood how the presentation interview worked and if I had any questions. Of course I had questions. I always have questions and doubts.
James not only answered my questions but also assured me not to be nervous about presenting in front of Scott Hanselman and that he really is just a normal person. Just being open and honest about your fears really helps.
The simple email I received from James, the hiring manager, just before the interview saying "You got this!" really helped keep me calm. I guess it was because he was rooting for me rather than trying to find a way to fail me which was my experience in previous interviews.
The Presentation
On the 21st March I gave my presentation on Playwright. The interview panel asked me if I wanted the cameras on or off and I requested on. Giving a talk and seeing peoples faces and reactions really helps you see if your talk is going well or not and helps you judge if you need to explain things further or if what you wanted to say was understood.
I later found out that Scott Hanselman had kept his camera off so that I wouldn't be so nervous. He only turned it on after the presentation for the Q and A. And I think it worked as because I didn't see him I just presumed he wasn't there so it was one less thing to be nervous about.
The presentation went really well although I spoke way too fast and did it in less time than I should. I was nervous and I guess it is to be expected. But it felt good. I felt I had given a good presentation and I had remembered everything I had planned to say. After the presentation I was asked lots of questions by the interview panel which consisted of 6 people, I believe.
The questions were not easy but I had a lot of experience in standing on a stage and being asked difficult questions about my talk and the product so I wasn't really worried and just had fun as if I was at a conference. The interview panel acted as if they were attendees at a conference and at no stage did it feel like I was actually being interviewed at all. I really enjoyed the interview process. And it was the first time I had ever had an interview where women were on the panel.
The 1-1's
My 1-1 interviews were the next day. The great thing about the process in Microsoft is that they tell you who you are going to be interviewed by. This meant that I could Google them to find out more about them. Although this sounds a bit like being a stalker, it's actually not. What it led me to do was get to know them better so I could use my time more wisely, such as read a blog post they had written so I could bring up certain questions or knew who the right people was to talk about certain things such as imposter syndrome in the workplace. I had my questions prepared of what I wanted to ask each person and that made me more prepared for the interviews.
My interviews felt more like podcast interviews. We just chatted, and although obviously they were asking me questions and taking notes, I never felt like they were trying to ask the difficult questions that trip you up and make you feel stupid. It felt comfortable.
Again diversity shone here as one interview was with a white guy, one with a black guy and one with a women. I have never in all my years in tech, and the many interviews I have been through, have I been interviewed by either a person of color or by a women. This was a first and it was really nice to have such a diverse interview panel.
There were many reasons why I wanted to work at Microsoft and they remain the same but now it's the people that really make me want to work there even more. If my interview is like this then imagine what it will be like to actually work there. Now more than anything I really wanted to get the job.
Getting the Yes
The hiring team were very quick at getting back to me and on the 26th of March I had the recruiter call to tell me they would like to make me an offer. Now came the tricky part. As the job was US based and I live in Spain, it now had to be moved to the Spanish offices before the actual offer on paper was made. This is due to different currency, benefits etc so I now had an offer of a job but had no idea what the salary would be.
It took almost 2 weeks for recruiters in Spain to pick up from the US offices and reach out to me which was pretty quick. I was in Ireland at the time when I got the call and the offer explaining the salary and benefits etc. I have been contracted as a freelance in my last two positions so this is really my first job that comes with all this kinda thing so I was taking so many notes and just taking it all in. It was actually really nice to get this call while in Ireland as I then got to celebrate the offer with my family.
The Background Checks
This was by far the hardest part of all. You now have an offer. You have accepted the offer but now you are told to not hand in your notice until all background checks are completed. I have never in my life had a background check before and although I read all the information that they had sent me and watched the video explaining the process I was still not prepared for it.
I really just thought that as I have never been in trouble with the law in my life that these checks would be super simple and complete within a few days. And boy was I wrong. The checks went back for 5 years of employment. In the last 5 years I had had 5 jobs plus volunteering work and a university degree. Not just that but some of my employment was contract work meaning I legally had my own business which is a whole other lot of paper work which had to be sent.
Week 1
I was checking the online portal every few hours of every day and it would constantly go in orange where I needed to submit another document. At one point we were driving to a restaurant and we turned around to go home to upload another document. I just thought that the quicker I upload things the quicker it would be at finishing the process. Checking the portal was the first thing I did in the morning and the last thing I did at night.
Week 2
Week 2 was quieter. It stopped asking me for documents and just stayed the same color. I am not sure which is worse, asking me to submit more or just no idea what is happening. Every day I would wake up thinking perhaps today is the day it passes. But no. Week 2 was just another week of testing my patience.
Week 3
Week 3 was harder. It felt like this process was never going to end. They tell you it can take up to 3 weeks but you never expect it to take as long as that and you start to worry that something must be wrong if it is taking so long. Your mind plays games with you and you start to think what if it doesn't work out, what if it doesn't pass, I'm not going to be able to work for Microsoft.
Patience on week 3 was hard. Not suffering an anxiety attack on week 3 was hard. But in the middle of the week I finally got news that the report was finished but there were a few things they couldn't verify and I needed to find more documents to prove my start and end dates for previous companies. Once I had uploaded about 20 documents I just thought to myself that I can't do anymore more. My documents are solid but if they are not good enough then there is nothing else I can do.
Finally :)
The Microsoft team were very quick to get back to me thanking me for the documents and saying that my background checks had now passed. I was officially not a criminal. This was such a relief like you can not imagine. I mean I never thought I was a criminal but I was just so afraid of something going wrong, something stopping my dream from coming true.
I could now hand in my notice at my job and get my actual starting date.
I started the process on the 4th of February. All in all it is not a long process when you think about what is involved but for someone who has never been through such a process it feels like forever and was by far the longest process I have ever had to go through.
But I am glad to say that I made it and on the 16th of May, I had my first day at Microsoft and it was just so amazing, even better than I had imagined.
Next it could be you. If it is your dream then I highly encourage you to just give it a go and apply for one of the roles. Interview processes are never easy but the end result is totally worth it.