I do not agree with the implied sentiment of the article. And thus with some of the comments (from "both" sides) of the arguments presented here in the comments.
Hard is not defined, but is implied to be "harder than you believe it is."
That is a general characteristic of perhaps most topics worth pursuing in our field: computer science/engineering. (Defining it in this closed field space on purpose for brevity.) And especially in distributed systems, which DNS in some way falls under.
Further you have business interests, which have affected and will affect DNS -- we like it or not. And have added on top of it.
A number of individuals then use hard as "it is intractable" [to learn].
Is DNS harder to learn than BGP routing: I think not.
Does one need to spend a decade focusing on using and debugging DNS. I would argue not.
Does one need more time to dive into BGP than DNS to do state of the art work: I would argue yes.
DNS is simply not the hard and hot scientific problem people go around tackling from a research perspective.
It is a federated business (and political perhaps) problem at this point.
I do agree there is a lot of caching involved, which creates a ton of coherence and invalidation issues. That does not make the topic hard, it makes DNS problematic. (The other word I would use, and that I think Ms. Evans [the author] implies perhaps.) I agree totally with that.
I also think it is a point of approach the learning path to it for the average scientist here. A lot of people are introduced to DNS (or email to that extend) as: here is the sketch idea, we make sure it works, trusts us, and there is this single deified entity that makes sure it works, and it is not patched with other branches "constantly." All of the aforementioned sentence of course is a lie. But a lot of engineers learn that. (I was lucky to not have that introduction.) And then it comes time to debug a DNS issue -- when they actually realize it is a DNS issue.
So I would recommend a revised blog title to: DNS is really hard to unlearn.