I Don't Know What That Means

While browsing Hacker News I happened upon this post about 5 pre-interview questions to weed out subpar developers. From the article:

Here are the first few questions we ask, and we estimate maybe only 1 in 200 software developer job applicants can give accurate, clear and concise answers to all these questions:

  1. Explain public.
  2. Explain private.
  3. Explain protected.
  4. What is an abstract class?
  5. What is an interface?

Most software developers can fumble out some sort of passably adequate answer to at least two of these questions. Very, very few can give accurate, clear and concise answers to all five questions.

I am the 99%. Not only would I be unable to give clear and concise answers, I wouldn’t be able to answer several at all. That’s ok though because I can learn what these things are, and then I won’t look the fool.

Off to Google!

My first though was “Oh! It’s a Java thing, not a Ruby thing,” but that seemed a little slack in the research department so I adjusted my search. This time I read through a well written blog post on the subject, as well as several stackoverflow posts from equally confused rubyists. One lead me to a Wikipedia article on Duck Typing that was slightly off the original path, but useful and interesting nonetheless. So what’s the point of the story? If you’re going to be serious about learning to code (or learning anything, really) you have to be willing to follow “I don’t know what that means,” with “so I better find out.” Also, thanks to stackoverflow I now know this is a thing.