I think the goal of the author was to explain how he rates candidates for the positions he is offering, rather than answering properly the question "what makes a beginner / advanced / expert Python developer?". This is made evident by the fact that most contributors to this thread strongly disagree with the author's choice. I personally find it very weird that sets are listed as an advanced feature of the language. And understanding Python's dynamic typing system is somehow an expert-level achievement?