Algorithms, which takes lot of time to grasp.
Then there is Domain Driven Design, where one might think they got the point, but with very next example you feel lost. Too subjective. No Thumb Rules.
So how has been your journey with DDD so far?
When did you first encounter it and how did you learn it?