I came to an interview with live coding – and they smeared me in disgrace

If you take all the interviews people have ever had and rank them in order from best to worst, then mine will be on the very last line. It was a long time ago. I already knew how to develop, but I didn’t know about social security at all – and, blind from the desire to get an offer, I missed all the alarm bells.

At the very first call, a complex technical interview took place – which is normal – but only at the very end it was announced “the first stage, screening.” The second stage was led by eychar, the third by the real messengers of hell. Two people vied with each other inundated with technical questions about the dotnet, did not give any thought or answer, and moved on to the next.

I handled strangely. It’s strange. I answered incorrectly to a few questions that the dotnet specialist cannot help but know, and I answered well to a few that not everyone knows. This is how it happens, I did not say what a finalizer is, because I started learning from the pros, and remembered it as a destructor. But he talked about generations in the garbage collector.

They seemed to be assessing just the number of responses, otherwise how then they could approve a person who does not know about the finalizer – this is a necessary knowledge even for a trainee in .net.

I was blinded by the “success” and agreed to the final stage – live coding. And that’s where I had to rethink the meaning of the word “ass”.

I was full of enthusiasm, because this is not the first live coding in my life, in my hometown I was already asked to write the code on a piece of paper, and everything was fine. I leafed through my books on sisharp, removed all the crap from the desktop, brewed myself a giant mug of coffee, and went to the phone.

Skype, dark screen, voices – one after another interviewers appear to me. None of them were in the previous stages. Four pieces. They explain the rules of the game, they say that I can think as much as I want, that no one is pushing, write the code where you are used to, as you are used to. You can google whatever you want. But there is one key condition: the problem must be solved in the manner of TDD.

– Have you already worked with this? How is this the first time you hear that we have such a requirement? We all work only according to this methodology. You will too. Here’s the “simplest university problem”, get started.

The task was really simple. It was necessary to write an expression parser, start with the simplest “1 + 2”, and finish as deeply as possible in the allotted two hours.

The mechanisms in my head creaked: so, it’s incredibly easy to add addition, subtraction too, multiplication will require an order of actions – only it’s worthwhile. If I don’t multiply them, they will send me. Damn it, I read about the interpreter pattern a month ago, they are definitely waiting for it. Damn, I don’t remember how to do it! How long am I thinking? A couple of minutes? They’ll think I’m an idiot. Damn, damn, damn, if I don’t start writing something right now, I’m finished.

– Any problems, Philip?

Well that’s it. They have already decided everything. No, maybe they’re just sympathetic? Yes, write the code already !!!

With trembling cotton hands, I click “Add file”. My God, what should I call him? Any express parser! Stop. In the same place, there are native things for scattering expressions. They are definitely not waiting for a cyclist, but for a smart developer who will go and apply a ready-made solution. I open Google, start to drive in.

– Philip, what are you doing?
– I remembered that there were ready-made solutions for such tasks in the app, I want to get acquainted with them.
– No, Philip, we are not interested in a ready-made solution. Please voice your thoughts to us so as not to waste our and your time.

Oooh bro, if you could hear my thoughts now, the interview would be over long ago. But God be with you. I create a file and start describing the parser interface.

– Philip, what are you doing?
– I figure out the structure of the solution, write the code so that everything in my head falls into place, and I understand which side to go from.
– Philip, I just remind you that we have a TDD methodology at our company, and we would first of all like to see how good you are at this.

And I want to see how they whip you a dead frozen fish in the face. I create a file with a test. I don’t know why. It is already obvious that I have not gone anywhere. I’m drowning in the test code generated by the studio, one minute, two, three. I hear an indignant cough from Skype. God, why couldn’t they send people from the previous one to this interview? So that at least one person on the other side of the screen knows that I’m not the dumbest person on earth, and I really know something. For these, I have definitely become a bottom-up.

My head was filled with such reflections when my hands suddenly began to write some code. On the other side of the skype, they chuckled approvingly. I wrote a test that tests a non-existent class, clicked resharper hotkeys, the class was generated, added the actual addition code in it. I exhaled, felt a moral boost.

I run the test – nothing happens. Nothing at all, the list of run tests is empty. I run it again, the same thing. Lord almighty, I was cursed. Tests won’t run! They don’t fall, they just don’t start!
I’m trying to run it not with a resharper, but with a studio. Does not work. I am writing a new test, it also does not start. This is impossible, but it happens to me, for coding interviews, the studio, resharper or dotnet breaks down, and my tests do not run.

– Philip, you forgot to add the public modifier to the test.
– …
– …
– processing …

I understood. He swore. He muffled the microphone, swore harder. I returned the microphone. Added public, test passed. I started writing a subtraction test. And suddenly, like a bolt from the blue:

– Philip, our interview has come to an end, thank you so much for your time, we will inform you about the decision!

And I already knew how to do everything. I solved the problem in my head, but they didn’t see it – they saw how I spent a lot of time writing addition. Where did all this time go ?! Apparently I stupid for too long in Monique, thinking about what they think of me.

Of course, no one contacted me. They did it very well. After all, if they accepted me, I would have found these people in the office, took them by the balls, and forced them to write code.

Since then, I have never agreed to such a thing. I have built myself a good career, now I manage people myself, I hire them. And I have no problem with self-esteem. But if they drive me back to such an interview, it seems to me that everything will return.

It is clear that this is my problem. Maybe it’s a weak psyche, maybe a too strong impostor syndrome, maybe some character traits, I don’t know. But I know for sure, I’m not the only one. There are many of us, and we do not become shitty developers from this.

The market is huge, we will find a job, but the sediment will remain. This social security service was about five years ago, but it still nightmares me. Recently, I spoke with a good friend of mine who lives in the USA, and he told me that their fashion for live coding has penetrated even the smallest startups.

Americans are Americans, God bless him. That’s what I’m really afraid that we, like a pancake always, will copy everything, and there will not be a single place in the giant market where you can get without live coding. And I very much doubt that everyone will sharply learn how to conduct them so that there is no hellish pressure.

You don’t like nagging, but I don’t like it when something works poorly. If people who conduct live coding interviews in the Russian Federation start giving candidates the option with a test task, no one will lose from this.


Powerful virtual servers with AMD EPYC processors for developers. CPU core frequency up to 3.4 GHz. The maximum configuration will allow you to come off to the full – 128 CPU cores, 512 GB RAM, 4000 GB NVMe.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *