There are a handful of functions that any module developer needs to know to get started developing for Drupal. In my perspective, functions fall into 4 categories: PHP functions (not specific to Drupal), general Drupal functions not associated with a specific module (such as database and error functions), hooks, and core module functions (often overwritten hooks).
The learning curve for writing Drupal modules appears on first glance to be ENORMOUS. This year I've spent a lot of time trying to understand it a little better, and I'd like to share my general process with any new Drupal developers who are finding module writing a little intimidating.