Technical Screens

Written August 15, 2024

Being Correct More Quickly

I was talking to someone recently about getting "faster" at technical screens. The summary of my advice is that "slow is smooth and smooth is fast". There are so many emotions for me on this topic I wrote a separate post about hiring processes altogether. There are some more specific aspects to coping with the emotional challenges brought about by coding screens which I'll talk about here from my own life and try to provide some helpful strategies. If you don't want to read my opinions or talk about feelings, feel free to skip to the bottom for tips.

My Newfound Approval Of Technical Screening

I used to hate technical screens. Now I don't. Why? Consistency, fairness, and rigor. 

There are a few main arguments about these tests:

I will deal with the idea that they are unrealistic first. My first argument is that, for the companies that pioneered these techniques, it actually is fairly realistic that you will focus on a narrow area of critical code where correctness and efficiency is paramount. On the flip side, I have seen many "easy going" or "realistic" interviews where the expectations were unconventional and unclear. As a result, I have come to love the classic challenge problems. 

The classic challenge problems are classic because they emphasize a combination of computer science trivia, algorithmic thinking, and problem solving. "Realistic" problems on the other hand, are closer to popularity contests. Yes, of course you wrote the code. It was an easy problem. But, you don't write SQL like I do, so you're a "weak no-hire". Companies that "go easy" on candidates are often just replacing rigor and clarity with bias. If you want to evaluate a candidate's communication or collaboration skills in a technical context, you should do so rigorously.

Getting better at technical screens helps you get more job offers. Period. That's plenty of reason. You may not like working at companies with this kind of interview but you might also not like working for others. Pay is a major factor for many people and I believe that, while it's not everything, it can make a big difference in your life, even if just for a few years. 

As for gatekeeping, these questions are definitely easier for those with computer science degrees. But so are most programming tasks. Addressing bias can happen in many places outside a technical screen from recruiting, to resume selection, to face to face interactions. If you feel that your technical screen introduces unnecessary bias, then I ask, why do you have one? The fact is, technical screens require technical skills and they only become gatekeeping mechanisms when they're not relevant to the job. To be sure, every step of hiring is a "gate" of some kind and the question is about what kind of bias it introduces. Technical screens are one of the easiest places to enforce fairness during the process. The real question is why so many companies use them if they don't need them.

Now, Let's Talk About Feelings (Specifically, Mine)

Here's how I feel when I bomb a technical screen:

So, basically, anxiety, frustration, depression ... the works. It's a rollercoaster. Also, it's full of cognitive dissonance, logical inconsistencies and blowing things out of proportion, mostly centered around my self-image.

For the "unbelievers"

Before I address those challenges, I want to talk to those folks who tend not to view the world through emotional coping mechanisms. I understand that emotions are messy and that being overly emotional can get in the way in the workplace or in your career. I don't have any issue with that except in one specific case: privilege. 

If you were raised with the support required to go to a great school and constantly learn to the point where you aren't challenged emotionally during a job interview or the impact of not getting the job doesn't cause financial stress, that is an immense privilege, no matter how hard you have worked.

Facing Reality

The harsh truth about technical screens is that if you feel like going slow will take you hours, you probably just won't pass the test. If you run out of "thinking" time and need to start "coding" time, you're coding time will likely not help you identify what you did not complete in thinking time. It's tempting to just try to force yourself to "go faster", whatever that means, so that you don't have to deal with this difficult truth that you're not getting the job and you're not as strong as you thought you were. This is the "trough of disillusionment" but instead of a hobby project, it's your livelihood and life's work. Ouch.

I should say something uplifting now. This is empowering. This has a solution. The explosion of bad feelings is predictable and addressable. 

So, my advice is to use this as a way to set more realistic expectations and goals. Note, this does not mean abandoning your goals or dreams, just adjusting the timeframe or intermediate goals accordingly. In the mean time, make practice more deliberate. 

Tips For More Deliberate Practice

Need help with interviewing?