General programming
THE THREE STAGES OF MASTERY...
For me, there are three stages of mastery for any subject:
1. Choosing a project and learning out of the front of the book on the subject.
2. Refining the project and living out of the appendices of the book,
3. Finishing the project with only the pocket guide or cheat sheets.
When it comes to Django, I'm somewhere around (2) right now.