| Coding tests give the appearance of an objective interviewing process, but I haven’t seen evidence that such tests have predictive value. People who don’t perform well don’t get hired, so their possible contribution remains unknown. I have not seen companies track coding test skill and correlate it to job performance. Mostly these tests give the subjective and often irrelevant hiring process a veneer of rigor and objectivity. In many, if not most, interviewing and hiring situations the candidate’s personality and presentation will have more effect than technical skills — we form impressions of people in a few seconds. Coding tests look like the main decider but human nature tends not to work so rationally. The proliferation of books, web sites, classes, and bootcamps for technical interview prep demonstrate Goodhart’s Law: job seekers optimize for the interview rather than honing job skills and learning business domains. Interviewing well has obvious value for getting a job, but doesn’t necessarily predict adding value to the business. Companies want people who can (at least appear to) immediately write code. Employers rarely invest in training or mentoring, there’s no apprenticeship path into programming for most of us anymore. In 40 years programming I can’t recall ever having to invert a binary tree, or find a cycle in a linked list. Understanding basic data structures and algorithms has value, but companies don’t lose money or go under because of those kinds of things. Sadly I find that trivial tests like FizzBuzz continue to work at weeding out a shocking number of people who simply can’t write working code. That says something about programmers at all experience levels: an inability to translate requirements into code. Employers should focus on identifying that ability, rather than mastery of technical arcana. |