Recent similar-ish sort of article that I quite enjoyed, "How to Freaking Find Great Developers By Having Them Read Code"[1].<p>I really really appreciate having resourceful people about. People who can go hunt for answers, who can explore questions: they are the ones that make excellent fantastic programmers, and people who are fun to engage with & watch go at it. I very much agree there's a huge weakness in drilling people to see if they can come up with answers, and that this idea of seeing how they navigate & explore things is probably >50% of the real battle in sw dev life.<p>[1] <a href="https://freakingrectangle.wordpress.com/2022/04/15/how-to-freaking-hire-great-developers/" rel="nofollow">https://freakingrectangle.wordpress.com/2022/04/15/how-to-fr...</a> <a href="https://news.ycombinator.com/item?id=31047409" rel="nofollow">https://news.ycombinator.com/item?id=31047409</a> (993 points, 6 days ago, 542 comments, damnnnnnn!!)
And in most shops it will be just like the live coding stuff: a series of trivia questions that the sage interviewer will already know, unlike that hideous rube, the interviewee.
Why do we need technical interviews at all?
Do other technical jobs work this way?
Do care mechanics take home a vehicle and prove they can replace brake pads?
Do accountants log in to some online environment and deposit a paycheque or pay an invoice?<p>Oddly enough, if we don't do our job, we get fired, just like everyone else. Other businesses actually apply this to their interviews and don't require applicants to demonstrate something utterly bloody trivial, as if they could somehow do their job for a decade and not know the basics.<p>Invariably, every dev writing these kinds of articles is simply stroking their own way of thinking - usually these discussions do not contain:<p>a) a modicum of common sense.
b) an understanding your brain does not work the way everyone elses does.<p>Just because you find a certain debugging method works for you, doesn't mean it works for me - your most effective technique is not necessarily my most effective technique, because I don't think the way you do.<p>Some programmers may be slower at debugging, but faster at determining a good solution to a complex problem. They may be slower at writing Jenkins jobs, but faster at solving Maven problems.
The Stripe Bug Squash description made me think of this :<p><a href="https://dilbert.com/strip/2006-05-06" rel="nofollow">https://dilbert.com/strip/2006-05-06</a><p>I wonder if Bug Squash fixes get submitted to the proper open source channels. Tha would be fun.<p>"Thanks for working through that, can you please sign this contributor agreement?"
I did the (Python) Bug Squash at Stripe a couple of months ago, and was really happy with the interview style.<p>I consider myself a good debugger, but the interview context helped me see some places I could improve my process. I was comfortable in the pdb debugging system, but could improve my ability to steadily narrow down the key buggy line of code in a short amount of time.
10/10 agree. We’ve been doing this since ~the beginning at Oso. (Our full process is on our faq: <a href="https://www.osohq.com/company/jobs#faq" rel="nofollow">https://www.osohq.com/company/jobs#faq</a>)
Pretty much the same conclusion here: <a href="https://talktotheduck.dev/debugging-the-technical-interview-methods-and-cheating" rel="nofollow">https://talktotheduck.dev/debugging-the-technical-interview-...</a>
it didn't take much to prepare a debugging example. i just picked an open issue, pointed the candidate roughly in the right direction and watched them work.<p>i was interviewing junior developers so i wasn't expecting master coders. and in addition to the points mentioned, i was also evaluating their ability to communicate. it worked out very well.
there is a dead comment here suggesting to have the candidate sign an NDA so they can work on your codebase. while that may sometimes be necessary, if it is not already part of the process i would avoid adding it, and instead find a suitable FOSS project where the candidate can show their debugging skills instead.