I am teacher and cannot program anything, even HTML. But I have managed to customize Moodle by hiring a programmer to do what I explain to him/her. I mostly design activity modules, blocks, course formats and question types for quizzes. Those plugins do not touch Moodle core code, but I do have to spend about $500/year to update 5-10 plugins to new versions of Moodle. Things like permissions are very powerful and can be customized within core Moodle interfaces. I don't know about the Calendar block, but as it is a plugin (even though it is a core block), it would be easy to make your custom calendar that would not touch any of the main Moodle core. The only thing I regret is that I don't have much time to document the customizations and therefore share them with the rest of the community, with one exception--the Sharing Cart--which is downloadable from the Moodle plugins database for anyone to use.