“Why I Left Google’s WebAssembly Team, and How It Made Me Sick”, A Testimonial by Katelyn Gadd, Game Designer and Tools Programmer


In a blog post, Katelyn Gadd, game designer and tools programmer, shares her experience on Google’s WebAssembly team, a negative experience that highlights Google’s failings. “I joined Google in early 2015 to work on the V8 team as one of the original authors of the WebAssembly specification. This is a partial story of what went wrong in the process and how it permanently damaged me. My hope is that this story will help people recognize toxic cultures in their own workplace, or help new hires have better careers at Google,” Gadd says.

“Over the past two decades, I’ve managed to be productive despite a chronic illness, and I owe that in large part to the people I’ve worked with. Despite this, Google is the worst place I’ve ever worked in and it literally caused me brain damage. If you find that your job is keeping you up at night, you’re on edge every day, or you’re constantly questioning your own worth, I encourage you to look for a new job,” says Gadd.

The young woman reveals that when she joined the V8 team, she had spent the past few years maintaining a transpiler that converted .NET applications to JavaScript. It started with Emscripten, the application that became a standard and then inspired WebAssembly. “I had the good fortune to work with the creator of asm.js, Alon Zakai, at that time and learned a lot from his guidance and expertise. This experience made me a natural fit for the WebAssembly team. »

WebAssembly, abbreviated as wasm, is a new type of code that can be run in a modern web browser. It is a low level language, similar to the assembler allowing to reach performances close to native applications (for example written in C/C++) while functioning on the Web. WebAssembly is designed to work in conjunction with JavaScript.

WebAssembly is designed to be used in conjunction with JavaScript. Using the WebAssembly JavaScript API, one can load WebAssembly modules within a JavaScript application and share functionality between the two. This allows you to take advantage of the performance of WebAssembly and the flexibility of JavaScript, even if you don’t know how to write WebAssembly code.

Since WebAssembly only specifies a low-level language, the bytecode is usually produced by compiling a higher-level language. Among the first languages ​​supported are Rust with the project/module (crate) wasm-bindgen as well as C and C++, compiled with Emscripten (based on LLVM). Many other programming languages ​​now have a WebAssembly compiler, including: C#, Go, Java, Lua, Python, or Ruby.

WebAssembly was full of potential. Mozilla and Google had both worked hard to make asm.js a way to run all applications on the web and had overcome most obstacles in their path, but it became apparent that some issues were too difficult to resolve. , which is why the WebAssembly process began: learning from the strengths of asm.js while addressing its weaknesses, and building a specification that could be easily implemented into existing JavaScript runtimes, using their code generation, debugging and other infrastructure.

“Joining this specification process as an early contributor has been exciting,” says Gadd. Although I have experience working with web platforms, writing a specification poses unique challenges and the entire committee must act as project manager, advocate and programmer simultaneously. People like JF Bastien, Luke Wagner, Alon Zakai, Ben Titzer and countless others have worked hard to put together the framework for something that will be used by billions of people.

However, if you are building a product that will be used by billions of people, this can cause some stress. The history of the web is littered with bad APIs, thoughtless specs, and piles of security flaws. Something a programmer puts together in a week can consume decades of engineering time in the future.

“Our managers were overworked and lacked the power to create change. Any team needs expert leadership to thrive, and expert leaders need the support of their subordinates to do what is necessary. Our leaders didn’t have that support,” Gadd reveals

“The V8 team as a whole had the misfortune to report to the head of the Chrome organization, a negligent man who continues to have one of the worst approval ratings in the entire company. In my career, I’ve seen managers cry multiple times, and this is one of the places it’s happened. A manager should never have to wonder if he is a coward, but it happened here,” she continues.

Source: Medium

And you?

What is your opinion on the subject?

See as well :

A Google employee creates controversy by explaining that women are not made for tech and ends up being fired from the company

Ex-Google employees are suing the company for betraying the “Don’t Be Evil” motto. Google fired these three engineers after they circulated a petition

Gender inequality in tech: Google sued by its ex-employee and soon for wage discrimination based on gender

Leave a Comment