* "should" as in someone else externally judging someone
Edit: Oh, I should have used "elemental" instead. That might have gotten my point across better—underpinnings, not trivia.
Understand, yes. Good software engineers and computer scientists should be able to read this blog and fully understand what's happening, modulo any clojure-specific syntax they might be unfamiliar with. But this isn't something people should be expected to able to already know how to up and do.
I still think a software engineer should know this stuff, but given the other material covered in an accredited degree program, there probably isn't enough time for computer science fundamentals like programming language concepts. That's a damn shame. I think software engineers having that level of understanding is a good thing.
I think it’s fair to say that almost none of my fellow CS degree holders from that cohort (which was neither a rinky-dink program nor full of dim witted students) could do what we’re discussing here, and if they can it’s because they either were uniquely talented at the lecture material or learned it outside of their coursework, probably after graduation.