Learning to configure and extend Emacs is pretty easy for those with a modicum of Lisp experience. Much has been written about the shortcomings of Elisp and while those criticisms have merit, it’s easy for a Lisper to become comfortable with it. What’s not so easy is learning what in other contexts would be called the run time library.
Emacs Lisp is specialized—or at least its library is—to processing text. The hardest thing for a new Elisper is learning that library and becoming familiar with Elisp idioms. One of the places that I found most useful when I was learning Elisp was Xah Lee’s Emacs Lisp Tutorial. It free to read on the Web or you can buy a personal copy. Believe me, if you’re trying to learn Emacs Lisp, it’s a great resource.
One page of the tutorial that is particularly useful is Emacs Lisp Idioms for Writing Interactive Commands. It shows the most common templates for Elisp commands and demonstrates how to code basic Elisp commands. Read that page and code a few simple commands and you’re well on your way to Elisp mastery. It’s worth a look whether or not you want take on the whole tutorial.