I work at JetBrains as an educator, being responsible for JetBrains educational initiatives at the Saint Petersburg State University (Russia). I taught Haskell at the university level for a decade. I am the author of ‘Haskell in Depth` (Manning Publications, available in early access program). I am also a member of the GHC Steering Committee.
Haskell is a complex language. Beginners usually struggle with almost every Haskell feature. When it comes to such things as kinds system, type-level programming, Template Haskell, or code performance, even intermediate developers should work hard to get through the complexities. In this talk, I suggest a set of ideas that make learning sophisticated Haskell features easier. These ideas include ways of thinking about types, effective REPL (read-eval-print-loop) usage, approaches to reading documentation, dealing with errors, understanding a compilation process, etc.
I believe that everyone can master Haskell to be effective and productive. Even if you don’t know Category Theory.