The Best Selling Tech Book On Amazon Is ...

An outlier or a harbinger of programming decline?
After reviewing some books I considered classics¹, I wondered what tomes were popular nowadays.  I was disappointed to learn the #1 best seller on Amazon, in the category of data structure and algorithms, was Cracking the Coding Interview.

Was this a direct result of raising students on "teaching to the test?"  Were companies so confused about hiring, they needed to administer a programming puzzle to find a suitable candidate?

The reviews ranked Cracking the Coding Interview highly, and the contents were substantive, not fluff.  Yet, glancing over to my bookshelf, I would want candidates to be acquainted with titles like these: More Programming Pearls by Jon Bentley, The Cathedral & The Bazaar by Eric S. Raymond, Algorithms in C by Robert Sedgewick, and a classic-to-be, Joel On Software by Joel Spolsky.

When software development was novel (circa 1980), a popular notion was that the skills required for programming were similar to the skills needed in music and chess.  Find someone who played a musical instrument or was good at a game a chess, and you would have found a first-rate programmer. The comparison was mostly true.  The mental discipline for creativity and problem solving overlapped, but the motivations in each field were  different.

Simply put, musicians were inspired and moved by the music, and not necessarily by the beauty of the QuickSort algorithm.  Chess players were driven more by competition than the desire to solve the Towers of Hanoi.  Grandmaster and chess champion Gary Kasparov neatly summarized that sentiment in a 1989 Playboy interview (yes, I actually read the articles):

The only goal in chess is to prove your superiority over the other guy, and the most important superiority, the most total one, is the superiority of the mind.

Ironically, what spurred the IBM programmers of Deep Blue was their desire to beat Kasparov, which they did in 1997.

Evaluating programming candidates this way was imprecise and insufficient. The trend that followed, however, took us from imperfect to bad, and can best be characterized by Microsoft's infamous interview question, "Why are manhole covers round?"

Ask a street maintenance worker, and you'll likely get the right answer: so they won't fall in.  Ask a desk jockey, and more likely than not, you'll get a furrowed brow.  The point, Microsoft said, was to see the thought process.  The correct answer was secondary.  And thus was born the book How Would You Move Mount Fuji? ², along with many similar titles, to assist those in the quest for a programming job.

In 2013, The New York Times reported Google did a big data analysis of its own hiring practices and found no correlation between an employee's performance on their interview and the performance on the job.  Regarding brain teaser questions:


Finding qualified candidates remains a daunting problem not just for large corporations, but for startups as well. Jeff Atwood of "Coding Horror" went into some depth with the blog post We Hire the Best, Just Like Everyone Else.  The problem, he wrote, was what was meant by Best?  In the end, he advocated building a balanced and diverse team, and not hiring in the same way as every other Silicon Valley company.

Indeed, the best seller status of Cracking The Coding Interview runs counter to that advice, and is symptomatic of a deeper problem.

Newsweek explored that problem when it wrote about the Peter Thiel Fellowship.  Announced in 2010, the Fellowship offered $100,000 to students to dropout of college for two years and start a company.  Thiel saw college as an anachronism getting in the way of the future.  I saw a billionaire who didn't value history, philosophy, ethics, and writing.  In light of Mark Zuckerberg and Facebook, do we really need more single-minded, one dimensional thinkers to lead the world?

Those who cannot remember the past are condemned to repeat it.
-- George Santayana, Spanish philosopher

Despite Google's vaunted hiring processes, they on-boarded the talented but ethically challenged roboticist Anthony Levandowski.  Artificial intelligence, robotics, and self driving vehicles were hot, and Google needed him badly.  In 2018, The New Yorker wrote Did Uber Steal Google's Intellectual Property? which told the story of Levandowski's flight from Google to Uber, and whether it was with trade secrets or not.

The final paragraph was jarring, and cemented the character -- or lack thereof -- of Levandowski.  He was quoted as saying:

The only thing that matters is the future.  I don’t even know why we study history. It’s entertaining, I guess—the dinosaurs and the Neanderthals and the Industrial Revolution, and stuff like that. But what already happened doesn’t really matter. You don’t need to know that history to build on what they made. In technology, all that matters is tomorrow.

Santayana's warning about "repeating the mistakes of the past" has been eloquently paraphrased by Winston Churchill, and is readily found in popular culture -- in movies, in television, in books and comic books, and otherwise plastered all over the internet.  Levandowski was not disagreeing with the warning; he was ignorant of it, and for a time, rewarded for that.

Companies need to reassess what they really want from employees.  The answer should be well rounded programmers.

¹ The Design And Evolution of C++, The C Programming Language, The Mythical Man-Month
² Moving Mount Fuji is an obnoxious variation of The Towers Of Hanoi problem


Popular posts from this blog

Bookshelf Classic: The Design and Evolution of C++

Automate Dark Mode in Apple OS Mojave

Donald Ka-NOOTH and the Art Of Computer Programming