Dont bite!
If a substantial pool of the industry's respected veteran talent rebels against this insipid interview practice, the industry may finally wake up and improve as a whole.
But first, I think a bit of history is in order to explain how the industry ended up like this:
Basically, you can blame Bill Gates. When he was created a little start-up called Microsoft, that would later become an empire, he went out of his way to hire young inexperienced programmers straight out of school over seasoned veterans. There are probably two reasons for this : #1 He probably was wary of bad coding practices from the mainframe era creeping into his new company, #2 He wanted a cult following where everyone looked up to him (in spite of his very young age). Over time, the culture at Microsoft shifted a little bit, and of course when it became an empire, it wasnt just hiring kids out of school anymore. However, the bias of preferring youthful exuberance over experience still existed, and that was very evident in the company's interview process & the so-called Microsoft Puzzle Interviews. Basically, you'd be given a puzzle to solve, which didnt require you to know anything about coding or have any experience in the field whatsoever. You simply needed to be clever and confident enough to solve it under pressurized interview constraints. A lot of other big companies borrowed this interview process, and some still use it. But when Google dethroned Microsoft to become the hottest tech company to work for, they changed the game a little. Google rightfully realized that solving arcane puzzles has nothing to do with coding, but they did little to address the fundamental problem with this interview format other than put lipstick on a pig! The Google interview puzzles are now coated in computer science instead of being completely arbitrary like the old school MS ones, and as an added measure, they actually force you to prove you can write some code on a white-board. And of course, monkey see monkey do, so everyone else has copied this interview format (some more successfully than others). Of course, I dare bet that a self-styled pro at the old-school Microsoft Puzzle Interviews will have a much easier time adapting to the modern coding interview; than a real seasoned coder who hasnt spent much time with either of these interview formats.
And more over, the bias of valuing youthful exuberance over experience still exists in these coding interviews. Even when thats totally inappropriate.
What can you, the seasoned 20-year software engineer, do about it?
First, you need to dispel one of the stereotypes about being an old-timer, which is ;you cant teach an old dog new tricks. You do so by teaching yourself new things to advance your career. Thats really the only thing that matters in the fast moving tech industry ; how quickly you can go from 0 to infinity, from newbie to ninja, when learning a new topic.
And that skill of being able to quickly digest new information, and then with short turn-around, correctly applying it and putting it into practice in ways that accomplish specific goals ; is really the only thing that matters! Thats what differentiates the great hackers from the code monkeys. And the pony show that is the coding interview has nothing to do with it. In fact, I imagine that there might even be a negative correlation between doing well on coding interviews and hacker aptitude. Just because you play a particular game (like interviews) well doesnt mean you're anything more than a slightly more refined code monkey.
Anyway, ask yourself how much the market values the skills you have right now? If your 20 years of experience can basically be summarized as saying that you're an average C++ programmer, then you probably don't have a lot of leverage. Yes, there are lots of jobs for C++ programmers, but its also pretty easy to find a C++ programmer. So if that’s what you basically have to offer, then the company you're applying to has more leverage. They can find plenty of C++ programmers who can jump through their interview hoops like lemmings. You might still be a better C++ coder, but they'd rather hire 10 mediocre C++ coders in place of you who play by their rules, even if it means a bit of inefficiency.
Where you have leverage is if you're an expert in a niche area that is in high demand, but where there arent many experts ; like say deep learning. Additionally, let’s say you’re applying to work at Apple to fix Siri AI problem, and you just so happen to have a lot of experience building scalable expert systems that utilize deep learning to parse natural language. Now, you're the bird they dont want to get away, and you have leverage in the interview. Just an example that came to mind. But the thing to keep in mind is that you can either be hired as a code monkey or because your specialized skills really matter to someone. The distinguishing trait about code monkeys is that they’re easily interchangeable.
If you’ve spent the past 20 years actively tailoring your career for specialized niches, where your specific skills cant easily be replaced with an army of monkey coders, you’ve got leverage for every employer who is having a hard time finding people with those specific skills.
Most likely, you didnt do that because you got a bunch of jobs that emphasized commodity programming skills over specialization. And you didn't pursue management roles because you like coding, so now you find yourself hitting a glass ceiling, where the way up seems to be through these stupid coding interviews. Am I right?
The good news is if you're willing to learn new tricks, you can probably fix your career path.
Step 1 : Learn what you really need to know to gain leverage in your career. With appropriate leverage, you may not even get a coding interview.
Step 2 : Say NO to the coding interview. The way I would do this is to first articulate to the interviewer why I think the coding interview is not only irrelevant but detrimental to the company's presumable objective of hiring the best experienced individual for the position. I would then challenge them to explain otherwise, and say you'll only do the coding interview, if the interviewer can give you a satisfactory justification for having it.