The Gutenberg Crisis

A few years back, Matt Mullenweg implored us to “learn JavaScript deeply”. As the Gutenberg project kicked off not long after, it quickly became clear why: Mullenweg’s dream of a reworked, rethought, reimplemented administrative experience for WordPress was largely a JavaScript-fuelled dream, powered by the magic of the React framework. PHP, long the primary language in any WordPress engineer’s tookit, was relegated to “implementation detail” status: still a useful skill, but really just for writing API endpoints to be consumed by the JavaScript front-end.

Whether he was conscious of the change or not (and I think he was, but that’s another minor detail), Matt’s warning has set off what I would describe as an existential crisis in the WordPress community — even though I don’t think we’ve fully understood what it means, and the impact it will have.

The crisis, in particular, is a serious lack of strong JavaScript and React talent in the WordPress community, and the hiring imbalance it creates. These engineers were already in high demand in other disciplines within tech; with the world’s most-used CMS now embracing React + JS, the demand scales have been tipped even further. There has truly never been a better time to be a JavaScript/React-focussed engineer.

But for companies who are just (still) coming around to the idea that WordPress requires React skills, the challenge is daunting. JavaScript talent is already tough to come by, and while the WordPress team (and let’s be honest, Automattic’s engineers) have done a great job of documenting the basics to help transitioning PHP developers, any organisation with a sufficiently complex implementation is going to quickly bump into challenges that only engineers with strong React skills are going to be able to solve.

Now just over six months in since its official launch, it’s clear that Gutenberg is here to stay, we’re seeing the start of this crisis. The smartest agencies and organisations saw the writing on the wall and have been recruiting JavaScript talent, but many companies — especially those who can’t manage the top salaries commanded by skilled React engineers — are in a tough spot. Should they be focussed on re-training their existing engineers? (Hiring is expensive, after all.) Should they be replacing groups of PHP-oriented engineers with smaller teams of high-impact JavaScript developers?

And what will the impact be for the teams navigating this change? Some organisations opt to keep their existing engineering teams and augment them with a React-focussed team; others embed the React engineers throughout the engineering organisation. Both approaches are valid, and they both have downsides. The “React skunkworks” allows you to move faster, but at the risk of isolating knowledge. Spreading the talent is good for ‘lifting all boats’, but propagates change much more slowly; and your expensive React engineers end up focussing most of their time on teaching and mentoring instead of really engineering. Unless they genuinely love the educational process, it quickly turns into “just give me an API and I’ll handle the React bits”; that’s no way to build strong knowledge across your teams.

So where will things go from here? I genuinely don’t know. I think it’s clear that this crisis is just beginning, and will certainly get worse before it’s better. Teams will be restructured and reorganised — multiple times, likely — as engineers are forced to change their skillsets and adapt to the front-end reality. Boot camps and online training courses will go through their own boom-and-bust cycle. The most talented JavaScript engineers will move from ‘low six figures’ to ‘mid-six figures’ (who will be the first $250k JavaScript engineer working in WordPress?), and PHP developers will scramble to get there too.

(And all of that barely dives into the impact this will have on the WordPress ecosystem: the realignment of power among third party plugin and theme developers, the emergence of new community superstars, the shift in WordCamp programming, etc. The crisis grows.)

So the best advice I can give is: work quickly to re-evaluate how you’re screening talent. Allocate time for your existing teams to retrain. Open the lines of communication with your engineering managers to determine how to start integrating Gutenberg workflows into your teams.

The crisis will get worse before it gets better, but the writing is on the wall. Now is the time to start adapting. Adopt JavaScript deeply.

You have no choice.