"If you can’t explain it simply, you don’t understand it well enough." - Albert Einstein
One of my day to day tasks, is to interview candidates that apply for my company. It’s quite difficult to get a real feeling of what a person knows and if it fits culturally (if he values what we value) in around 2 hours. I don’t really like to ask things where a memorised answer is good enough. Sometimes these must be made, sometimes I prefer other routes. A question that normally catches candidates unready:
If I was a 10 years old kid, how would you explain me the difference between using categories versus sub-classing?
In order to explain something to someone, you need to intimately understand the subject. Of course, you can explain it poorly, but the point is to be able to translate a problem from one field (Objective-c, programming, Computer sciences) to something that is tangible by a kid. This sort of mindset is something that I apply to myself: "Would I be able to teach this to someone?", "Would I be able to derive a complex subject, into smaller, digestible, pieces?".
In a world ruled by Seniors, Leads, Gurus, how well can you explain something?