I don't have the live coding problems skill (funny hat dance).<p>I've failed 4 live coding interviews so far, which has been my wake-up call that I need to learn this skill.<p>I do question funny hat dances value in the real world...<p>I learned a different funny hat dance 8 years ago called white boarding.<p>I questioned its real world value back then too, but had no choice, it's what people wanted to see.<p>I'm not saying I'm the best engineer in the world. I'm saying I've provided tons of value for the companies I've worked at and my salary reflects that. I've had an above market rate salary for the last 3 years.<p>No, the company I work for isn't dumb, in fact, it's often seen as tackling some of the hardest problems in computer science (decentralized cloud storage). I know I provide value and I know I'm a good engineer.<p>However, I also suffer from anxiety.<p>It makes me appear dumb in these live problem situations. This week, I was awake half the night for two nights because my heart rate was going so fast. The week previous, same story. I don't understand it myself. I tell myself "who cares" to try to get my body to sleep, but it doesn't work. You can imagine how having no sleep can affect an interview. It makes me fail again and again.<p>So why don't you practice?<p>I'm going to. I just haven't had time yet. See my question at the end<p>Isn't your anxiety from not preparing?<p>Partially. I've had to deal with this my whole life. If I prepare and convince myself I don't care at all about the outcome, the anxiety goes away, but otherwise it's always there.<p>Why is this only a problem now?<p>I haven't had to interview since 2015, my last two jobs I got from being poached. Those who know me, are familiar with my work ethic and my ability to problem solve.<p>So here I am, like 8 years ago, I have no choice but to learn how to dance with a funny hat on, so here's my question.<p>How have you best prepared for live coding interviews?
It sounds like you have an anxiety disorder. I do too! It's not a simple fix, but I've gotten huge value from therapy for my anxiety. CBT gave me fast and cheap results that really helped. Psychotherapy has given me a more long term solution, but CBT gave me a lot of relief in just weeks.<p>I don't want to push drugs, and you definitely need to talk to your doctor, but I take a beta blocker in situations like yours. The heart pounding, overwhelming terror just melts away and I become (more or less) my normal self. Just knowing that I CAN take a beta blocker (and get symptom relief) often means I don't need to take it in the first place.<p>Drugs or not, too much anxiety is a real condition and professional treatment vastly improved both my professional and personal life.
Practicing a ton can reduce anxiety, since you'll have confidence that you can most likely solve the problem. Plus, if you practice enough, you'll see so many problems that you might get the exact same problems in the interview. If you do something everyday, it becomes less of a big deal.<p>Doing other activities that induce this sort of anxiety can help too. I've been a combat athlete my whole life, and the anxiety you get before a match is like no other. Not being able to sleep the night before is the norm, and I've seen people vomit before matches. Plus, it's not a few engineers watching you, but rather a whole crowd of people watching you, with half of them cheering for you to lose. After this experience, live coding interviews are a cake-walk. I get nervous as well with a pounding heart and nervous sweats, etc. But I tell myself I've been here before, and perform as best as I can in spite of it, like I've done before. I generally don't perform quite as well in the interview or match as I do when no one's watching, but that's just how it goes. Learning to perform under pressure like that is a skill that needs to be cultivated.
Practice, practice, practice. Since you're willing to do the silly hat dance; some thoughts on the type of practice you could do: Program with your laptop hooked up to your TV to your empty living room, to get used to the feeling of being watched. Then have a close and trusted friend be in your living room and just sit quietly. Add a cafe background noise track playing[0]. After you're comfortable with that, stream yourself solving leetcode/whatever problems on Twitch. Doesn't actually matter if anyone comes in to watch you, but talk out loud and explain your thought processes as you work your way through each problem.<p>[0] eg <a href="https://youtu.be/gaGrHUekGrc" rel="nofollow">https://youtu.be/gaGrHUekGrc</a>
Here are some tips:<p>Bypass the screening interviews when possible (not everyone has to do all the live coding exercises) thanks to internal referral, etc.<p>Realize that even if you pass a leetcode screen, you might get bounced for some completely arbitrary reason at some other point in the interview process.<p>So, see the live coding as one aspect of an of an arbitrary and weird way people make decisions these days. (Remember your value and understand even if you ace that part it doesn’t mean you’re gonna get a job).<p>Know what makes you really amazing and unique. Whatever you’re great at, if the fit is good for the role they will be selling it to you the entire time.<p>If you’re fighting uphill for a job whether it’s at the live code stage or elsewhere, take note. Use that live coding session as practice for the one you really want.
As a former programmer I completely understand where you're coming from. Live coding with someone over your shoulder and doing productive problem solving work for your employer are two completely different skillets.<p>As a recruiter that focuses on programming roles I've had many programmers share the same sentiment as you. Some companies understand this others don't care but I find being upfront about the programmers performance anxiety is often very helpful.<p>Please feel free to reach out (contact in bio )<p>Good Luck!
I have decided that I will end any interviews where the process does not feel right. That means I will not work anywhere that requires leetcode, whiteboarding, live coding, take home tasks, or other exercises that have no bearing on my actual job or thirty years of verifiable past performance. These are all an insulting waste of my time, and I will have none of it anymore. They only demonstrate the willingness to squander enthusiasm and ability.<p>When enough people walk away from these interviews, they will get the message and the status quo will change. In the meantime, I will continue working for shops that do not feel the need to use such abusive interview tactics.
Unfortunately you need to practice to pass these tests, that's it. It's not really reflective on your competence as a developer it's just a different skill set. The anxiety will become more manageable as you get better at solving the leetcode style interview questions.<p>I would purchase leetcode premium and start working your way through the top 100 most common easy and mediums. If you are trying to land some FANG job offers, then I would also spend sometime working through the top 25 Hard problems too. But start with easy.
Why hasn't anyone suggested what I think is obvious ... if you have anxiety on such a level that prohibits you from doing a certain activity during the interview, then you should say so.<p>?
If the problem is mostly the physical symptoms of anxiety then get a prescription for propranolol and take 20mg or so an hour before the interview, it will help a lot.
I totally agree that coding interviews are broken and if I had to guess the process results in a totally underestimated loss in productivity for organizations.<p>Having been on both sides of the interview process I've tried to think through possible solutions and in doing so I've identified two factors at play.<p>1. Organizations have to pull busy employees from their work and into interviews which adds even more overhead to the talent acquisition process. Once hired the onboarding and training represents further overhead costs- it's probably not uncommon for a new hire to not be able to render even 80% of their value until ~3-6 months into their new position. In short, even in the best case scenario hiring and onboarding has a lot of costs and represents a sizable investment.<p>2. In an ideal world a good engineer could just be given the proper time and real-world work to display their value. Due to factor #1 an org can't always take this risk and even if they did could they scale that process? Then if you try to imagine ways to change the coding interviews to more accurately reflect real-world work you might find a better balance but given all the arbitrary constraints which produce all the imperfect simulacrum exercises you're inevitably left with much of the same problems.<p>Clearly this is an area ripe for innovation (yc alone seems to always have a handful of recruiting/talent related startups in each batch) but those two factors seem to hinder the odds of real disruption.<p>I think there are also likely more dimensions to this problem. There's a lot of momentum behind these standard practices and it makes me wonder if there are latent motivations held by all various stakeholders to maintain the status-quo.<p>- The Human Resource actors have their education/training and want to optimize behaviors for their KPI's. Could both their training and KPI's be oversimplified legacy solutions in a "thorny-problem" space that no one has incentives to challenge?<p>- The Engineering Management actors are often dealing with the chicken-and-egg problem of "I don't have the proper time to try and improve this interview process because both my team and myself are overworked and until I hire more people I won't have more time"- by the nature of growth in tech orgs won't this chicken-and-egg always be occurring?<p>- The Recruiting Agency actors thrive on looking at the whole process as a numbers game- casting a wide net and pushing candidates through as fast as possible. If they bother to take too much time on higher-touch areas like actually making sure a candidate is a best fit based on many dimensions they sacrifice making the numbers their ambitious counterparts are making next door.<p>- The Innovative Talent Startup actors need to promise product-market fit, to-market strategy, a large TAM and an outsized ROI which likely means rather than challenging the momentum of this dysfunctional process (and all it's nuanced factors) they're more likely to succeed as a venture by leveraging the momentum and tapping into one part of the process or another.<p>- The Engineer/Candidate actor enters the process with a sort of unspoken precept that they are in a position of little-to-no leverage and are "unworthy" until proven otherwise (never mind your years of experience). Could this whole shared perception be a vestige of a time when a single employee could not represent enormous, outsized ROI to an organization? Is this just a cultural artifact reinforced by the thin veil of meritocracy that we want to share? Could something like a re-imagined LinkedIn invert this? Could our network of past and present coworkers, managers, etc. vouch for us in a verifiable way using a reputation system to reinforce the integrity of your "score"? Once a system like this proves effective couldn't it supplant most of the hiring/recruiting/talent industry and make everything massively more efficient? (This is mostly a mental exercise just to expose how arbitrary and invisible are the factors that dictate the whole process. I know some wouldn't like the idea of past coworkers dictating your "score".)<p>In the meantime, and on a more pragmatic level, if I were you and if you're not already, I'd try to start being more up-front with the org from the beginning around the interview process. In the past I've said from the start "I'm very busy at my current job so I don't have time to practice algorithmic puzzles so I hope the coding challenges reflect real-world problems cause if they are the standard algorithmic puzzles I likely won't do well.". I also will reiterate this at the start of the coding interview if I realize it really is just a puzzle from "Cracking the Coding Interview".<p>Lastly before going into these interviews try and meditate for a moment on how arbitrary the whole process is, how you're just as "victimized" by the process as the people interviewing you and that your value is in no way reflected by such a messy process. Because there's this unspoken agreement that this is a numbers game perhaps you too must, for now, play the numbers game and as such detach yourself from the outcome of any one interview.
It's simple: I don't.<p>I had a few remote live coding interviews, most of the time
I just panic, quit in the middle of it and ghost the recruiter.<p>But I didn't need to do live coding interviews for my last 5 jobs.<p>Of course it kinda limits the kind of company that would consider hiring you, but it also filters out the companies that would be dumb enough to consider whiteboarding or live coding a reliable way of testing a candidate.