"Drupal can do anything!" You hear it all the time, from serious geeks.
You're not a full-time programmer. But hey, you know some PHP. How hard can it be?
You look through Drupal's API docs. "When do I use that hook? What can I put in renderable arrays? How can I change something? What do I change?"
A growing sense of desperation. You feel your brain slow-i--n---g. You desire those geek brains. A sign of -- zombification!
You get a book on Drupal development. You understand it. Mostly. But when it comes to writing code yourself, well... It just doesn't work. You add drupal_set_messages. You clear the cache. Nothing.
Your brain slows down even more. It's a Pentium 90 running Vista. Zombification!
You're not alone. For people who program only occasionally, Drupal development is hard. Zombifying.
This site explains Drupal programming to people who aren't professionals. It's a crowbar to the head of Drupal zombification. Not everything is covered. Not much is, in fact. But what is here will help keep you from coveting thy neighbors' b-r-a-i-n-s.
I'm Kieran Mathieson, an old person who Drupals part-time. I'm not a Drupal expert, or a professional programmer. I will get things wrong from time to time.
What works for me may not work for you.
CoreDogs is one of my projects. Uses learning science principles to help people learn basic Web stuff.