Things that separate the men from the boys and/or major concepts in software
* Recursion and thinking in higher-order functions
* Continuations
* Monads
* mod_rewrite
* Pointers and the process of building a low-level mental model of machine execution in assembler/C
Also there was a huge weedout in my abstract algebra class in college, separating those who could do rigorous proofs from those who couldn't.
"Turtles all the way down" in Smalltalk was a significant moment for me as well.
What other major things like this have you come across?