Hire the best: My amazing experience with McKinsey, Amazon & Co

Since I’m not going to church, I need to write things down in my blog to let go. Probably every freelancer knows this: You’re being contacted by recruiters that want to sell you a permanent position at their amazing company. So, how amazing can it be? Let’s see.

First of all some facts. As a freelancer in Germany, you can easily make 85K a year, considering you work full time for 11 months and got a very affordable hourly rate of 60 EUR and 10K of expenses. Also you don’t have to ask your boss for vacation days and you can work on your open-source projects whenever you want. Looks like this is the smart choice, in case you built a reputation that ensures enough clients and projects.

Recruiters of course know this, so they’re building a narrative of “we only hire the best”, “your salary will rise very quickly and there is amazing potential for personal growth” and “you will be working on the most challenging projects for the best companies”. Who doesn’t want to work with the smartest colleagues on prestigious projects or products? Right, so it’s tempting to give it a try, which is what happens to me from time to time. Also I copy the best ideas for my own interviews, but that’s a secret.

Problem is, in practice they fail to hire the best, because it’s unlikely the best would accept a non-management permanent position. The best strive to succeed, even if the way is long and stony. They provide leadership that puts humans first instead of choosing the latest hipster technology and let the developers alone with it. The best don’t sell you blockchain in the cloud and charge you for playing buzzword bingo.

If I think about the best, people like Justin Meyer, Lars Jankowfsky, Gaylord AulkeMonika Broecker, Martin Fowler, Johann-Peter Hartmann, Jodok Batlogg, Jan Lehnardt and many more come into my mind (please ignore the order, they are all awesome). They inspire others and take full responsibility for what they do.

It’s well possible to hire the second best: Failed entrepreneurs that got a lot of valuable practical experience and connections or smart graduates that actually need guidance to leverage their potential. Or the third best: People that just look for a job. There’s nothing wrong with that, just to be clear. These are also the kind of candidates I’m looking for in the screening process for permanent positions. Not everybody has the same priorities. It’s ok to grow in a protected environment.

From Amazon to Facepalm

The initial contact to the recruiters is usually established via email or Linkedin. Amazon seems to prefer Linkedin. They are writing you a message, asking if you would be interested. If you say yes, you have to do a coding test. As my clients come first, it took a little while, but their system still let me complete the test. I never learned about my score, since the dude that contacted me wasn’t working for Amazon anymore. Amazing waste of time. Of course I wrote a message to Amazon, asking what my result is and if they are still interested. Never got a reply.

The second time somebody from Amazon contacted me, I said yes, let’s do the interview, but I won’t do this test again, because I have a team to manage and family comes first on Christmas. He agreed, then somebody else sent an email to me, saying I need to do the test now. Facepalm.

McKinsey, the best of the best…

McKinsey wrote a lengthy email, explaining who they are and what they want. Well, I had a McK alumni as mentor when I was young, so I could skip reading most of it. After I wrote off Amazon, this could be the permanent position I was waiting for. Work with the best of the best. I didn’t even have to do a coding test. We started with the interviews immediately. Nice.

The first phone interview was quite amazing. The guy called me on my regular number and we had a very personal conversation about our projects. This was the kind of person I wanted to work with, certainly.

The second phone interview was alright. I had to dial into a phone conference system located in Düsseldorf to speak with somebody in Berlin. The delay and noise was amazing. My interview partner agreed. Looking into his resume, I figured he is the failed entrepreneur type of employee that got a lot of practical experience that McK could use. He got a Ruby on Rails background and was very friendly. I told him everything about PHP and our consulting business at 100 DAYS and think he enjoyed the insight. Probably his review for me was like “very nice guy, but a bit too much PHP”.

…and how they managed to fail

In the third interview, McK failed terribly. I already got the appointment for the last interview with the management partner in their Berlin office, so I thought they would give me somebody nice to talk to that convinces me to sign the contract, that would end my life as a free person. Nope, they actually found somebody who was uniquely unqualified to do interviews. It’s like he read “How to conduct a great IT job interview” and did the exact opposite just to annoy me.

On top, he forgot about the interview, so I had to send a reminder email. He joined the noisy conference call 15 minutes too late and started to ask one question after another. Make the interview an interrogation, not a conversation. He didn’t check any of my publications or code on GitHub. Otherwise he would have noticed that asking the basics of REST is not really helpful, since my most popular project actually is a framework for building REST APIs. Oh my god.

I’m smart, so I tried to do the conversation thing and asked how to build a nice REST API with C#. He said it’s irrelevant and he can do everything. Seriously? Most of his previous projects were based on a Microsoft stack, so I asked why he started using NodeJS and other open-source software. This confused him, because he didn’t know the recruiter forwarded his resume to me. Really, preparation is everything. Of course googling his name revealed exactly zero publications of any kind.

So the recruitment lady urgently organized a phone call the following day to “provide feedback about the interviews”. I guess you can see where this goes. Yes, I could still get a contract but of course for way less money than we agreed initially because the last interviews revealed a lack of general knowledge on my side.

C# and REST for example would be good to know. Also I wouldn’t know Docker. Sure, I honestly told the guy, we’re using VMware and Puppet in the company I’m currently managing. That is because the previous Docker version wasn’t really usable on a Mac and the team didn’t have any experience using containers. They had XAMPP before. I couldn’t tell him, because he rushed to the next question. Didn’t I say, I want to join McKinsey to work with smart people? Test failed. Plane crashed.

After I explained the situation, she was very nice and offered another interview to get things straight. I agreed, but knew I am probably not going to sign any contract anyways unless that next interview is really convincing. Like 100%.

The next day, I canceled it after speaking with a number of friends and business partners. My friends told me freedom is more important. My business partners told me, they want to continue working with me. I felt there is no way for them to convince me unless their management partner Markus Berger-de León called me personally and offered a fortune, which is not going to happen.

I hope this write-up is insightful for recruiters and entertaining for others. It’s never too late to learn and I really mean this in a friendly way. Convincing a good freelancer to go for a permanent position is hard. Really hard. Prepare yourself as good as you can! Good luck :)


  1. Robert Aubell

    Hi Michael, coole Story, kann ich sehr gut nachvollziehen.

  2. Markus Wolff

    Wo ist der “+1000”-Button?? :-)

Leave a Reply