This deserves a wider audience:
By the way, is there any tutor program to start programming for mozilla?
.. It would be great to have someone that introduces the basic things.I’m someone who has gone in a period of two years from knowing nothing
to being a serious back end contributor, so let me comment on how I see
this happening from my own experience. …
The Extending Mozilla or How to Do the Impossible Johnny and I wrote back in 1999 still has some relevance. I think the best piece of advice in that doc is in section 2.1, which basically says: know what you want, stay focused, and depending on what you want to accomplish, trace how data flows through the system. If/when someone writes a new document like this it will be interesting to compare how things have changed.