Bookshelf Classic: The IBM PC Denim Blue Reference Manual
I used the denim blue Technical Reference manual the most. It was filled with hardware information covering I/O ports, memory locations, and DIP switches. The most important bit to me, however, was the the ROM BIOS listing.
Written in 8086/88 Assembler, it was neat, structured, and copiously commented. Below is a fragment describing how to interact with the keyboard:
|Keyboard INT 16H|
Despite the information being clearly written and readily available, IBM PC internals were considered by many as dense and arcane, which made it a natural filter for those seeking jobs programming for this machine; that is, only those who found this material fun and fascinating need apply.
Over time, as programming went to higher level languages and turned to the web, knowledge of the ROM BIOS became less important. This, of course, was an expected and welcome progression, but the natural filter was gone. As a result, companies turned to goofy brain teasers to identify promising programmers, but correlation between solving puzzles and job performance turned out to be non-existent. I wrote about this in "The Best Selling Tech Book On Amazon Is ...".
Fortunately, tech interviews have mostly moved away from the brain teasers, favoring the more sensible approach of exploring algorithms. Nevertheless, there's still room for improvement. Ideally, interview questions should also focus on the candidate's portfolio of code and projects, ask about the pros and cons of his or her favorite language, and elicit thoughts about the specific problems the interviewer's company is trying to solve. But this level of depth takes talent, time, and energy that could otherwise be spent on the current project.
I don't have a good answer on how to attain the necessary balance, but perhaps it's worth looking for, and using, natural filters. A candidate who has built a Raspberry Pi cluster at home could be the better choice for a sysadmin. Someone who has a made a significant contribution to open source (or in my day Shareware), would make a good programmer. A hacker looking for weaknesses in mobile phones for fun could become a good application or cloud security expert. Then again, he or she could just be trouble. That's where your soft interview skills come into play, along with a little bit of spider-sense.