If you’re building a product that billions of people will be stuck with, however, this can lead to a little stress. The history of the web is littered with bad APIs, ill-considered specs, and tangled piles of security vulnerabilities. Something a programmer puts together in a week can consume decades of engineering time in the future. WebAssembly could not and would not release as a half-baked or ill-considered spec because as browser developers we all understood the costs everyone would pay for that.
Worse still, our leads were overworked and lacked the power to create change. Any team needs expert leadership to thrive, and expert leaders need support from the people they report to so they can do what’s necessary. Our leadership did not have that support. The V8 team as a whole had the misfortune of reporting to the leader of the Chrome organization, a careless man who continues to have one of the worst approval ratings in the entire company.
Every toxic workplace I’ve been in was usually the result of bad executive leadership, and this was no different. Here as well, I explained to a Google leader how the WebAssembly project was struggling without support from his organization and how people were being driven away from the project. He agreed with my assessment and then told me nothing was going to change. In the end, the team changed things on their own.
I spent the next couple years unemployed, working with my physicians to try and recover my health while occasionally writing code. I’m happy to report that I’m partially recovered at this point and being paid to work on open source, but I’ll never be the same.