If learning graphene is really that difficult maybe the best we can do is take a small step approach and focus on small chunks of the API at a time. Document how the various API calls are used to achieve an existing end result, and perhaps from that context it would be possible to extrapolate how to use the API to accomplish other things.
I think we should make a clear distinction between:
(1) making use of the API (e.g. for building a mobile wallet or a bridge/gateway or a trading bot)
(2) adding new features (or modifying existing ones) to the BitShares code-base - I guess this is mainly done by creating new smart-contracts and new types of operations.
I guess (1) is (or will be) covered by xeroc and it seems that reasonably experienced coders can already handle this area, even without advanced C++ skills.
The problem I'm trying to address in this thread is (2).
Monsterer suggests (2) is extremely difficult and takes years of experience with blockchain technology to be able to master it.
But I recall BM saying during Mumble hangouts that the coding itself is relatively easy, the difficult part is testing and making sure there are no unexpected side-effects.
I guess we need to wait for the devs to shed some light on this.