Interviewing as a software engineer sucks.

Last fall, I started seeking work after it became clear to me that I was being pushed out of Apple. While I was still there, I was happy to focus on a single organization, and honestly, the two-hour take-home exercise was fine. It was the kind of work …

Last fall, I started seeking work after it became clear to me that I was being pushed out of Apple. While I was still there, I was happy to focus on a single organization, and honestly, the two-hour take-home exercise was fine. It was the kind of work I would be doing, and the kind of work I’ve done. I didn’t even mind the multi-step processes with what amounted to roughly 15 hours of interviewing, including an hour-long conversation about the take-home test.

I ended up bailing on the process because of surprise whiteboarding at the end, which I couldn’t support, and also because two friends of mine were going through hell at the hands of this company.

That process was the standard for what I’ve done in my career. 15-20 hours worth of work (interviewing and coding), over the course of 4-6 weeks in order to secure a job.

As things got worse at Apple, the need to bail out got more apparent. I decided to do something I’ve never done before… interview at more than one place at a time. I thought I’d put out feelers everywhere I was qualified for. Surely 50+ 30-45 minute introductory screens would be fine.

It was absolutely not fine. I felt overwhelmed within the first week, and was subjected to surprise live coding in several of them. I knew there was no way I could keep it up, so I narrowed it down to 10 that would agree to take home exercises so I knew that by the time my Apple days ran out, I’d be able to continue paying my bills without a hiccup.

Almost every single take-home exercise required spinning up an application, which inevitably led to debugging my development environment. This took upwards of 30 minutes per take home test.

Okay, so that’s 5 hours. Each test, I spent roughly 2 hours on, in addition to the setup time. 25 hours. Well, there was also Epic Games, whose dev test was absurdly difficult, I probably spent 10 hours on it. I spent an hour at each of these places with a follow-up interview. 42 hours. I narrowed it down to four places I’d like to move forward with, and followed through on three additional places I discovered later, which meant three more 30-45 minute screens. 43.5 hours. Then came the final rounds with the four. Four final panels, 5-6 hours a piece. 63.5 hours. Several of these involved quizzing me on terminology I haven’t used in many years. With no context.

All of that, and I choose a place, Apple does it’s wrong job title furnishing thing that screws me over, and I’m back at square one.

I am exhausted. I apply at another 10 or so places, trying to focus on mission-driven work. I have a surprise live-coding exercise, which causes me severe stress and anxiety, after all, I’m now living off of GoFundMe because of what Apple does, and I desperately need a job. I burst into tears mid-session. Starting out the interview with a thing I already struggled with thanks to ADHD and Bipolar Disorder, now I’m fumbling over myself and feeling like I cannot build rapport and show what makes me valuable and how I fit what they are looking for.

Five more take-home exercises. I’m no longer counting the hours I’ve spent on interviewing during the last month. It’s a full-time job.

I find another opportunity I’m keen to explore. It’s a non-profit and the work is meant to make things more equitable. I go through the first interview and they let me know the next step is the technical screen. I ask what the process is. They say live coding. I ask if there’s accommodation for a take-home. They say no, that it needs to be live so they can see if I know how to program. I let them know to move on without me.

Why is it like this? Why are we starting with a question from the direction that the candidate has to prove they are capable of doing the job we’re interviewing them for? This simultaneously does the job of acting like an entry-level binary screening and over-the-top meritocratic gatekeeping. In 2020, North Carolina State University started studying if live software engineering interviews assess capability. They found that these interviews are assessing anxiety, not programming competency. They also found that this adversely impacts marginalized people, which tracks not only with psychological safety research, but with the level of anxiety one might be feeling over the process itself. If you’re someone desperately in need of income, and you’re being put in a position where interviewing is becoming a full-time job, how can you perform naturally, let alone at your best, under these circumstances?

We keep approaching how to “fix” this coming at it from the same angle. How do we weed out the “fakers”? If this is your goal it’s no wonder people feel like they are trying desperately to prove they actually know how to code. That’s what you’re assessing to begin with.

On any given team, you have a bunch of people with different passions and expertises. Together, these folks come together to divide work and share ideas to solve problems in the best possible way they can together. Along the way, you find there may be gaps in needs, and you open a job requisition. The thing you’re looking for, realistically, is the candidate who shows you what you’re missing, and that can rarely be figured from a coding exercise, even if it’s not done live.

You figure that out through conversation. Not quizzes, though, and often not even hypothetical mental whiteboarding exercises. You get it by asking about their experiences, how they prioritize work, what drives them. Dig into that, and you’ll find out if they fill the gaps you have open.

Most of the time you’re mostly looking for the person your team gets along with the best, and it’s extremely difficult to try to make that equitable. In fact, it’s impossible. But let’s not fool ourselves into believing that code tests, live or otherwise, or pop quizzes make it any better. It makes it worse, and traumatizes people in the process.


Print Share Comment Cite Upload Translate
APA
DEV Community | Sciencx (2024-03-28T23:52:33+00:00) » Interviewing as a software engineer sucks.. Retrieved from https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/.
MLA
" » Interviewing as a software engineer sucks.." DEV Community | Sciencx - Tuesday March 1, 2022, https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/
HARVARD
DEV Community | Sciencx Tuesday March 1, 2022 » Interviewing as a software engineer sucks.., viewed 2024-03-28T23:52:33+00:00,<https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/>
VANCOUVER
DEV Community | Sciencx - » Interviewing as a software engineer sucks.. [Internet]. [Accessed 2024-03-28T23:52:33+00:00]. Available from: https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/
CHICAGO
" » Interviewing as a software engineer sucks.." DEV Community | Sciencx - Accessed 2024-03-28T23:52:33+00:00. https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/
IEEE
" » Interviewing as a software engineer sucks.." DEV Community | Sciencx [Online]. Available: https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/. [Accessed: 2024-03-28T23:52:33+00:00]
rf:citation
» Interviewing as a software engineer sucks. | DEV Community | Sciencx | https://www.scien.cx/2022/03/01/interviewing-as-a-software-engineer-sucks/ | 2024-03-28T23:52:33+00:00
https://github.com/addpipe/simple-recorderjs-demo