Headway·Software Engineer·Technical Phone Screen
May 2026
Coding round at Headway for a software engineer role. The problem was built around an obstacle course race tracker, and you had to debug a broken implementation, then add two new methods, then talk through testing and code quality. Pretty involved for a single session.
- There's a bug in this RunCollection implementation that's causing a test to fail. Find and fix it.
- Implement a best_of_bests() method that computes the theoretically fastest possible run time by taking the minimum recorded time for each obstacle index across all runs, including incomplete ones.
- Implement chance_of_personal_best(test_run) using a Monte Carlo simulation over 10,000 trials, sampling remaining obstacle times from historical data and returning the fraction of trials that beat the current personal best.
- What additional tests would you write beyond the ones already provided, and what improvements would you make to the codebase after implementing these methods?
“Debugging someone else's code under time pressure is its own skill and I don't think I'm great at it.” The rest of the author's notes on Software Engineer interview at Headway, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post