In this article for WPTavern Chris Van Patten shares his experience with contributing to the Gutenberg project. The original article was a Twitter thread, but it’s nicer reading a proper long form piece.
For Chris, the experience of contributing to Gutenberg has been great, however I am not convinced it’s as straightforward (for everyone) as he makes out.
I’ve done some of the same things Chris has done, although not to the same degree. I’ve filed Gutenberg bug reports, and submitted some (CSS) code through pull requests. And my experience has been quite different.
Chris mentions this towards the end of the thread but the big advantage that he has is the privilege to have the time and capacity to do what he’s done. Any time he has spent contributing towards Gutenberg will have eaten into his time to earn a living, or his leisure time, or family time, or whatever. Any time he spends on Gutenberg means less time for something else.
Clearly this isn’t a problem for Chris, and it wasn’t the point of the Twitter thread (which I took to be “it’s not as hard as you think”), but it has to be acknowledged. Chris is an experienced web developer who had the time to spend contributing to, and indirectly learning, Gutenberg. Not everyone has that freedom.
Anybody who wants to work with Gutenberg beyond building themes that support the default blocks (which is pretty straight forward if you use the Block Unit Test plugin) will have to spend some time learning how Gutenberg works.
Even if you don’t learn React, which in my opinion is not required for basic use cases, you will still need to learn a brand new collection of API’s.
One of these things at a time would be more manageable, but all at once is a lot of change, and I suspect that contributes to the dislike of the project.
Anyway TL:DR; if you want to develop for Gutenberg you can, and it’s not that difficult. But it will probably take some time to get up to speed.