I absolutely suck at this on a comical level. SWE with 3 almost 4 years of industry experience with a good amount of projects and some Leetcode practice also. I can program. Doing it live, in 15 minutes, while explaining what I’m thinking, with 3 other engineers watching over me though? Feels like a 30 IQ debuff at the very least.
It’s honestly like language processing and logical reasoning exist on separate threads, in different languages in my brain. So not only do I have to interrupt the logic thread which is necessary for a coherent, correct solution, I also need to translate it into English language to be presentable and make sense, on the fly. But also keep enough reference of the logic to have something to return to once I explain a point.
The result is both threads are interrupted frequently and produce incoherent responses. On top of the pressure of being watched and judged for it.
That’s why I can program a solution in whole, then I can explain it well after it’s all done. Each thread can complete one by one without loss of context mid execution.
Does anyone have any advice? Ideally if you used to be bad at this, but got significantly better? Is it just a matter of more exposure? This feels insurmountable since I’ve always been this way. Top of math class, but teacher asks me to walk through a solution on the whiteboard? Brain fires blanks.
I make sure I leave a confident, yet very self-aware impression on the interviewers.
I prefer to think in silence. But, as I have been an interviewer myself, I know the impression this gives. I will therefore tell the interviewer directly: "I prefer thinking in silence, but I will still do my best to give you an insight into my thought process".
I can now take a silence break whenever I feel like it without feeling anxious about it. It helps the interviewer know what's going on because I have explicitly communicated it. We’re on a good track.
I believe a mindset shift is due here. The interviewer usually wants you to succeed. The more you communicate with the interviewer, the more they’ll be able to help you. When you start believing this, you'll naturally want to use this leverage.
Finally, ask a lot of questions. Intelligent, directed questions. This gives you a lot more information to work with, which makes you more confident in what you're doing. This will make you calm down and be able to focus and communicate.


Practicing pair programming in your current team will for sure make live programming interview less stressful.