Reacently I had to train someone on Plone development and it was or is not easy.
One thing is the current status of the developer documentation. See this thread Broken links in docs.plone.org for discussion about that.
Even the training material was hard to use, because it's grown a lot a covers to much in my opinion.
I thing we should build a Developer Crash Course, like the training but more condensed to a backend developer audience. This way it is easier to get people on board with backend developing. I'm thinking of material which takes not more than 1-2 days to go thru. The idea is, to have a developer doing the crash course first and than train him on real projects from there on. For the second part we need a good developer documentation. Don't get me wrong, I like the training materials and I thing that for some people one or two weeks of training with the material is nice and brings a lot.
This crash course training should also have pointers into the dev docs, for details information about the different topics.
The same could be build for frontend developers who use the plone.restapi to build apps, but thats enother project.
I would like to collect a list of topics a Plone backend developer should learn first.
- creating DX Content Types with XML-Model/zope.schema
- creating and using vocabularies
- creating Views with Python Classes and using the data in Templates (Some listing and details views are a good starting point here)
- using plone.api
- using global functions like in the portal_content_state view (this is currently kind of under documented), maybe we should add this to the plone.api as one needs this all the time
- using and creating behaviors
- indexing custom attributes
- using and creating tiles