26 ms·
Why I Quit Google’s WebAssembly Team, and How It Made Me Sick
- Shadonototra 4y agoWhen you look at how some people want to see WASM evolve, there are reasons to be very concerned about it - exception handling - GC - JIT Some people want to make WASM something similar to java bytecode or C#'s IL, and it defeats its purpose of being a lightweight, platform agnostic target The harm was already done, WASM is still compelling (today), but the direction it is taking mean it'll just die.. I know i'm not the only one who think that, so i'm not surprised how painful it is to work on such field, with such team
- alex_duf 4y agoI'm actually pretty excited about the three features you mention, mainly because it would make WASM useful to me.
- amelius 4y agoWhy not make WASM as simple as possible, and let layers on top of it deal with extensions like GC? Stacking abstractions, like how computer architecture used to work in the old days.
- Someone 4y agoIf you provide a non-opinionated base platform, users will add opinions, and those will not all be compatible with each other. Not adding GC or not defining how exceptions work could easily lead to a situation where you want to use a couple of third-party libraries, but discover they, combined, use three different garbage-collecting memory allocators and two different ways to handle exceptions, even where function overloading works differently in different libraries. As an example, look at string implementations in various C programs. Even if they if they boil down to a pair (int, malloced memory), you still might not be able to pass one obtained from a function in one library to a function in another library.
- amelius 4y agoSounds nice in theory, but I suppose that if Linux or OSX or whatever OS you use forced developers to use one style of GC, a lot of people would be very disappointed.
- jhgb 4y agoI believe that the problem is that the more features you add, the less general it's going to be (for example, add canonical exception handling and you'll almost certainly exclude Common Lisp, the advanced exception handling features of which the canonical exception handling for WASM almost certainly won't include). Presumably on a scale from a physical computer to a JVM, you don't want to slide towards JVM too much, since not everyone wants to program in Java.
- marginalia_nu 4y agoSounds like what you want is Java Applets.
- SemanticStrengh 4y agoEveryone wants graalvm, people have just not realized it yet and it's sad
- kevingadd 4y agoEH, GC and JIT are examples of difficult things that some use cases demand, yeah. They were intentionally punted out of the MVP into the Future as a result of that - the spec committee were aware of the need for those things (and some of us actively wanted them) but it's really hard to satisfy all interested parties and still ship. Exception Handling appears to be in really good shape right now, but I have my doubts about GC. I'm not sure JIT will ever be solved (right now people seem to just compile tons of modules and hope the browser won't crash). I don't think any of this means that WASM has a bad future, but it'll probably require a lot of careful work as it has up until now.
- summerlight 4y agoAren't those functionalities critical for WASM to fully replace JS and become "the common runtime" for all web languages? I don't think we can build an efficient implementation of those on top of the "simple" WASM.
- jhgb 4y agoThe more features you add, the less (not more) common it's going to be as a runtime.
- brabel 4y agoSpend 5 minutes reading about WASM and see how everyone involved in it keeps repeating "replacing JS is NOT the goal". Even with all the repeating, the message does not seem to be coming across.
- jhgb 4y agoTo be fair, I imagine the original IBM PC team in 1980 kept repeating "replacing our mainframes is NOT the goal", too.
- the_duke 4y agoException handling is necessary to efficiently support languages that need it without giving them direct control over the stack. I'd prefer if exception handling was provided with a more general abstraction though. GC is necessary for the same reasons, to prevent each language from bringing it's own GC and to enable cross-language interop. JIT is already implied by the very nature of Webassembly being an architecture independent stack machine, so every runtime has to already be a JIT compiler anyway (except interpreters). Exposing JITing to Wasm code is a natural progression and very valuable. Not that the WASM spec work doesn't have problems (looking in as an outsider), but the existence of these features are not my complaints.
- lliamander 4y agoIf you want to write in a high-level language in the browser, wouldn't it make more sense to compile to JavaScript? It seems to me like the main value proposition in Web Assembly was to provide a target for languages like C, C++, and Rust.
- kevingadd 4y agoCompiling to JS is a good option, with the caveat that it will never deliver consistent performance. JS engine vendors place less importance on optimizing for JS transpilers now that the future is WebAssembly.
- mamcx 4y agoGC & JIT are complications, but some error handling and ways to deal with complex types are truly useful, IMHO.
- brabel 4y agoWASM has become a Web Standard a couple of years ago. It's very simple (at its first version at least) which allowed all browser implementers to support it from day one. It has accomplished the goal of running C/C++ applications efficiently. Rust code can mostly compile to WASM and run as well (only crates that use stuff like drivers or OS-specific calls don't work). However, a few years later, there's not much that has been improved in the WASM world. The work being done on the current proposals is monumental and would require the same level of investment that has already been spent on things like the JVM and the .NET runtime, as you point out. To write a specification as well written as WASM for these things is basically impossible. And they're only doing that in order to support other high level languages to compile to it without having to ship their own runtimes. But the problem is that given how hard the work is, the benefit of doing this would need to be enormous to justify spending so much work on it... but it's not! JavaScript, for better or worse, has pretty decent performance and a huge amount of code has been written in it. If you try to re-write something in Java or Go, say, to replace JS, even when WASM supports GC and exceptions, I doubt it'll improve anything over JS performance. Besides, GraalVM already exists which can run nearly any language with very high performance if you're not completely locked on the web platform. So, all this drama that's going on around WASM for what? I say, leave it alone, make sure it stays simple and supports high performance stuff written on non-managed languages... and consider the job done.
- wvenable 4y ago> I doubt it'll improve anything over JS performance. I will take a small memory/performance/bandwidth hit to not have to program in JavaScript. We aren't fully there yet but something like .NET Blazor demonstrates the potential. Once we've over the hump I expect an explosion of alternatives.
- laerus 4y agoThese are considered extensions and WASM is useful even without them.
- kgr 4y ago> of being a lightweight, platform agnostic target A little late for that. I see that my Chrome browser is currently using 2.66GB of RAM (for about 40 tabs, or about 65M per tab). I remember when I first started using Java, my whole computer only had 8M of RAM, and while it has gotten larger, I think it is still considerably lighter weight than a web app, despite also giving much richer APIs and multi-threading. The advantage of web apps isn't that they're lighter weight from a systems resource point of view, but lighter weight from a user's effort in installing and using the app, point of view (now that Applets are gone).
- egberts1 4y agoYou forgot the fourth: file I/O, and wider coverage by JavaScript thereof
- Rusky 4y agoAdding those features doesn't mean you have to start using them for everything. This is different from how they work in the JVM or CLR- their role in WebAssembly is to enable interop with the host (which already has them regardless), and to round out some of the capabilities that native code has but which can't be implemented efficiently on the current WebAssembly sandbox. I don't see how that harms WebAssembly as a lightweight cross-platform target. It may make it more difficult to implement, but AIUI there will always be room for simpler hosts that leave these features out or keep them simplistic. There is no equivalent ecosystem problem to adding these kinds of features to a language, where all your dependencies will start using them, any more than inherently exists for native code that can already just implement those things itself.
- torginus 4y agoI've poked around in Chrome's source code, and what struck me is that the JS-to-C++ interface seems pretty similar to what's going on in a game engine - C++ classes with generally pretty similar APIs to their JS counterparts are wrapped and exposed to JavaScript - I think this is the way WebAssembly should be implemented as well- an interface that replaces this interaction layer with its own - since the native objects' lifetimes are handled by C++, a typical WASM target language (say C++ or Rust) would be pretty straightforward, since it could access these resources with similar semantics. Additonally, in managed, garbage collected runtimes, like .NET, the handling of native resources with explicit lifetimes is a solved problem as well - garbage collection would be handled by the languages own runtimes, no need to move this responsibility to WASM. This would also avoid the issue of having the .NET GC and the JS GC coexist - this typical too many cooks scenario of 2 separate GCs is a nightmare to manage. Another daring, pie-in-the-sky thought: Javascript could use this interface as well, becoming just one of the many languages that can target the browser.
- say_it_as_it_is 4y ago
- BaseballPhysics 4y ago> 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. Man I wish that didn't feel so relevant. Literally on an all-day "strategy" meeting right now and heard a variation of this about 5 minutes ago...
- akhmatova 4y agoI zeroed-in in that quote as well. What good does it do to optimize your hiring process to select for candidate ability implement middle-out bubblesort at the whiteboard when ... this is the kind of toxicity they can expect to have crashing down on their heads when they actually get there?
- rhizome 4y agoThe middle-out bubblesort stuff is so they don't have to decide where to put you. You're a cog with a certain amount of learning in you and can be put anywhere someone wants your butt in a seat. It's credentialism at its base, but it's also resource engineering to cut down on management overhead. Just like hint-based management in general, except in these cases the hint is the person's skills.
- grrrrrbox 4y agoPart of me wonders if this could be an intentional strategy at big orgs. Step 1: Organization holds endless multi-hour meetings about intractable organizational issues. Step 2: Stakeholders go to a bar to drink heavily and commissarate. Step 3: Uninhibited stakeholders decide on a way to ignore the inscrutable organizational issues and Just Do It. Step 4: Organization pats itself on the back for another successful round of all-day meetings. Sort of a variation on the classic "beatings will continue until morale improves" strategy.
- nostrademons 4y agoIn my experience, this usually happens because an exec sees a presentation or comes up with an idea and is like "Let's do this, we'll throw some good people at it and they'll figure out how" and then it turns out that after the org is built, hundreds of people are working on it, and they've investigated all the constraints, it's not actually possible to build the idea. The ideas that actually work usually get developed in the opposite direction, an engineer says "We can build this, let's put an early version in front of some people and see if we should." Innovation is path-dependent, and communication/adoption/organizational/economic constraints are just as real as technical ones. It's like how pretty much any skilled programmer could've built the first version of Facebook in a weekend, but to take off, it needed to start in the highest social-status campus (Harvard) of the most networked population (college students) of early adopters (young people). That limited the pool of entrepreneurs to basically just Mark Zuckerburg and the Winklevii, and Zuckerburg got there first under somewhat dubious circumstances. Same with a lot of discussions in politics, climate change, renewable energy, and Hacker News. An uninformed layperson looks at the problem as a whole, says "We should do this, let's throw money at it and someone will figure out how", and then we end up with a financial bubble and not a whole lot of solutions.
- robertlagrant 4y ago> 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. I might be missing something here, but this feels a little like unnecessary pressure. As I understand it, billions of people wouldn't be using the API; a few compiler authors would. I thought that's one of the nice things about WASM: recompile to upgrade. Security is a good concern to have, of course!
- jhgb 4y ago> As I understand it, billions of people wouldn't be using the API; a few compiler authors would. Yes, but billions of people may suffer the consequences of the WASM design doing something stupid and then the few compiler authors having to semi-successfully deal with it. That may be stressing, assuming that you care about such things as your brain child being an improvement (not a regression) on what came before.
- drewcoo 4y agoWell thank god they're software engineers and not butterflies! https://ronmayhewphotography.com/2020/02/06/if-a-butterfly-flaps-its-wings/ https://ronmayhewphotography.com/2020/02/06/if-a-butterfly-f...
- smaddox 4y agoYou mean like requiring functions instead of basic blocks in a compiler target?
- mardifoufs 4y agoDo you have any more information on that? What's the issue and what was the reasoning behind that choice?
- changoplatanero 4y ago> We did not have a producer. We knew we needed one, we tried to get one, and at best we had a part-time producer What's a producer? Is it the same as a PM?
- labrador 4y agoIs there a lawsuit in the offing? Because that's how it feels reading this. It will be difficult to prove that the stress of a fairly standard difficult work environment in high tech caused memory loss and brain damage.
- tinco 4y agoIf there was, they wouldn't or at least shouldn't blog about it. To me it just feels like a well deserved rant, that hopefully lifts some weight off the author's shoulders, and gives us some interesting topic for discussion. I've never heard of a lawsuit over emotional/psychological damage done by a difficult work environment (apart from those due to the racism/sexism/abuse-of-power/etc..). I do agree that psychologically difficult work environments are very common and many are not really avoidable even though some (like probably this one) definitely are. IANAL but I think it would be easy for Google to argue that they're paying their workers exorbitant wages with the idea that they would be working at the highest tier of skill, responsibility, competitiveness and stress. Even though in this particular situation it doesn't seem very warranted. How many tens thousands of workers are working in soul crushing zombifying factory lines and Amazon warehouses? I've heard that if you work for Amazon in Seattle you literally don't see sunlight for the entire winter. If we're going to defend the brains of our highest paid workers, what about our lowest ones? Of course, ideally we would both, I'm just saying law makers are probably not very keen on opening that can of worms.
- labrador 4y agoThey say they quit a week before their options vested. Why not write something up and try to lay the grounds for a lawsuit?
- nonameiguess 4y agoMy sister actually successfully sued an employer for psychological damage due to workplace abuse. I never talked to her about what specifically they did, though, and this was a call center that I have to assume was far more abusive than a Google engineer experiences. Of course, I myself get disability payments from the VA due to permanent injuries sustained while in the Army, but that's pretty common. I left that job with ten screws in my spine, which is a little easier to quantify than "I felt stressed." Ironically enough, in spite of having a few diagnosed and treated brain injuries, including one in which I wasn't allowed to drive for two months, I got nothing for that. I'm reasonably sure my memory is worse than it was, but it's nearly impossible to prove that. Before and after tests are no longer possible if you didn't do a before test, and who regularly takes any sort of test of cognitive function before getting injured?
- getyourhedchek 4y ago
- question_away 4y agoIf I'm reading this right, the crux of the issue was overworked engineers and unproductive meetings that got heated between experts? And the resultant stress led to brain damage? Personally, I don't know any software teams that aren't understaffed at best. Any project that has multiple stakeholders is going to have some meetings that feel unproductive with key leaders arguing for their best interests. That's just the natural order of collaboration. These are the kinds of posts that remind me how privileged high-skilled software engineers are. I am the first in my family to not work in some form of construction and can't help but imagine how someone like OP would fare in that environment. > 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. Being able to take off 2 years to attend to personal health is a luxury pretty exclusive to tech (insofar as how available/attainable it is).
- malcolmgreaves 4y agoWhat is your message -- the author shouldn't share their story of a toxic workplace because they made more money than folks in other toxic workplaces?
- teakettle42 4y agoI see an emotionally unstable author more than I see a toxic workplace.
- kibwen 4y agoIt is prudent to err the side of giving the benefit of the doubt to the entity with relatively less power. I see no reason to instinctively jump to Google's defense here, they are more than capable of defending themselves.
- didibus 4y agoThe whole team left, so it doesn't seem like the author was a snowflake in this case.
- teakettle42 4y agoI can’t imagine posting something like this and ever expecting to get hired again. What’s the upside? Can outside observers really make a considered judgement based on the one-sided and incomplete presentation? A claim of literal brain damage from stress is both difficult to substantiate and difficult to believe, and what are we supposed to do with it? I work at a similarly sized and positioned company, and all I can think is that the writer of this post seems very unbalanced.
- rektide 4y agoPossible upsides include catharsis and helping create a better known world, helping give us a more accurate image. Of what many probably perceieved as an immensely highly skilled part of the world, doing unbelievably important & relevant work.
- kibwen 4y agoThis comment appears to be an apparently unintentional example of the chilling effect on discourse wrought by delegating so much power to our corporate overlords.
- TremendousJudge 4y ago>and all I can think is that the writer of this post seems very unbalanced Maybe the author wasn't that way, and going through the whole ordeal really damaged them, resulting in behavior that would previously seem unthinkable. Really stressful episodes can leave you very screwed up in the head, call it brain damage our however you like, it's a very real thing that happens.
- 300bps 4y agoReally stressful episodes can leave you very screwed up in the head Earlier in my career, I would sometimes get very annoyed when users would call me to report problems. Thinking about it, I realized that it was me that was the problem. I put a picture of a guy working in a coal mine next to my phone so I could have some perspective. Operation Overlord was the code-name for the Battle of Normandy. The average age of the soldiers in that battle was 20. Up to 226,000 casualties with up to 39,000 dead. I don't mean to belittle anyone's experiences, but she is claiming permanent brain damage from the stress of being a software engineer and used as evidence of that brain damage that, "some days I couldn’t find my car in the garage or forgot entire conversations". The first one was literally a Seinfeld episode. The second one - who doesn't do that?
- Beaver117 4y agoThis really hits home for me. I've been in a similar situation for more than a year. Extremely overworked, understaffed team constantly missing deadlines. Endless pointless meetings. Managers don't care. Even my short and long term memory has taken a toll, although its probably due to another chronic health issue. I want to quit and stay unemployed for a while, but that's frankly just scary. Good job.
- timcavel 4y ago
- bogota 4y agoI always want to do this but health insurance always keeps me from never going a day without being employed. Im fortunate to be able to have that kind of job stability but the anxiety of being out of a job and then needing any kind of medical care is real.
- kevingadd 4y agoAt least in the US, you can use COBRA to keep your insurance for a little bit. It's very expensive though, so it's still not a great option.
- UncleOxidant 4y agoYou can often do better on the Affordable Care Act insurance exchanges.
- throw8383833jj 4y agoCOBRA is a disaster. its often more expensive than when shopping around for insurance by yourself.
- spookthesunset 4y agoKinda sorta maybe. Yes you can get “cheaper” plans through private insurance but the trade off between lower premiums vs higher deductibles makes the equation a bit more complex. That being said… yes cobra is usually insanely expensive. But that might be market rate for whatever “all you can eat low deductible” health plan your employer was offering.
- jokoon 4y agoIt might explain why WASM stagnated for so long. To be honest, google and apple probably want to kill WASM. Those company lose money because of good standards.
- CharlesW 4y ago> Those company lose money because of good standards. They absolutely do not, and they often make money and realize many other benefits by leveraging and/or contributing to standards. https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/ https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/ https://www.fastcompany.com/3044088/apple-and-usb-a-history-of-adoption-acceptance-acquiescence https://www.fastcompany.com/3044088/apple-and-usb-a-history-... https://en.wikipedia.org/wiki/QuickTime_File_Format#Extensions https://en.wikipedia.org/wiki/QuickTime_File_Format#Extensio...
- drewcoo 4y ago> "contributing to" standards ftfy The gp post did say "good standards," so I'm assuming that means open, unbiased ones.
- CharlesW 4y ago> ftfy I think the double quotes are meant to suggest that all open source contributions by Google and Apple are bad, somehow? I love the idea of "unbiased" though, as if contributors to standards must have no opinions about the standard one way or the other in order to be "pure".
- lostcolony 4y agoYep. Good standards = healthy competition in the space. Standards that basically just standardize what someone has already done, standards that require special licensing, require a high degree of effort to implement, etc, all create competitive advantages for large incumbents.
- dahdum 4y agoWASM and the further development of API's like WebGL are a dangerous threat to their app store revenue, so both Apple and Google are incentivized to lead (or sometimes stall) development.
- daenz 4y ago>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. I don't understand how this is Google's fault? It sounds like the author had already hyped up the stress to insane levels before even working on the project. So it follows that everything they experienced within that context was also stressful.
- scandox 4y agoI think you're Anthropomorphizing the Lawnmower here. The author is saying that while at Google these things happened to her because Google is a massive impersonal machine which hires talented, creative and sensitive people, pays them huge money and then dumps them in a technical bear pit with the executive leadership as audience.
- daenz 4y agoIf a project is too stressful, why didn't she say "no, this is too stressful, let me work on something else." To me, it reads like they went along with the stress, knowing it was going to be stressful, and acknowledging that it is indeed very stressful. This sounds like a lesson in asserting your boundaries around mental health.
- mattgreenrocks 4y agoIME: these things usually creep up on you in new and terrible ways. Everything can be fine and then it just sort of all hits you.
- pornel 4y agoBecause there are strong incentives to persevere. Shipping a foundational spec is a major achievement, so it's easy to think that the stress is worth the goal. There's a cultural pressure to "suck it up" and not be "weak". Quitting can hurt your career and finances. So you try your best for as long as you can… until you can't.
- SemanticStrengh 4y agoWebAssembly is an obscolete tech, it needs to be replaced with the disruptively polyglot GraalVM
- bastardoperator 4y agoI do a lot of meetings with a fair amount of companies and while it's not a regular occurance, some people think hostility towards others is acceptable. The best thing we can do regardless of where we stand is call those people out immediately and let them know that their behavior is unacceptable. You either get an apology or you quickly learn that working at X for Y isn't worth it.
- suresk 4y agoHostility, yelling, threats, etc just aren't worth it and I have zero patience for it in a job. I had an exec once who would threaten to cut people's fingers off if they didn't accomplish incredibly unreasonable things, or throw them out windows, or whatever.. It wasn't a serious threat, but it also isn't a fun thing to listen to all the time. I realized after a while of that sort of abuse that no job is worth that and I have much less tolerance for it. Thankfully it isn't super common, but it is surprising how many people think that is a useful way to work.
- ExGoogTA88 4y agoRecent Xoogler here. I've never met anyone who was actually happy at Google when you sat them down for an honest talk. Everyone was either coasting and depressed/disengaged, or overworked and stressed (I would say 80% were the former). People were frustrated about the bureaucracy, the promo process, the slow pace, the meaninglessness of the work an individual IC does, the stress for managers. Even on a super sexy project dealing with cutting edge AI that got tons of press coverage, everyone was frustrated. This company has a serious cultural issue.
- koube 4y agoI'm a Googler who has only worked in startups before, and my life has markedly improved in every single way since I started working at Google. There is nothing I miss from life before FAANGs, and I consider the vast majority of Faangineers be obscenely privileged. Most of them have progressed to the same point in life that I am at but are 10 years younger. Opinions are my own.
- ExGoogTA88 4y agoFor sure, that's the upside of working there. Every aspect of my life outside of career satisfaction improved considerably - I relocated to the US, was able to buy a house, my work life balance got a lot better compared to working at startups, etc. But as a job in and of itself it was pretty lame (apart from a few periods that were fun). The thing is, I feel like that's true for most people there.
- koube 4y agoI've had that feeling as well, absolutely agree that people can feel that way at Google. Personally the feeling of ennui was much more at my previous jobs, and I expect will exist anywhere I go. I do see however people incredibly engaged. I think there's a ton of luck in terms of what team/product you're placed in.
- ExGoogTA88 4y ago
- irrational 4y ago> I’ve seen managers cry multiple times, and this is one of the places that happened. What sorts of places are they working that they have seen this multiple times?! Maybe I’ve been very fortunate, but I’ve worked for a Fortune 500 company for 20 years and I cannot think of a single times things have become so stressful that anyone was close to tears. Usually things are very calm and when managers talk about work life balance they really mean it and walk the walk and don’t just talk the talk.
- rhizome 4y agoI've heard of this happening at Apple, and it wasn't portrayed as an unusual occurrence.
- KerrAvon 4y agoWhere? I have never seen this happen in 30 years at Apple in software engineering.
- xwa32 4y agohttps://www.folklore.org/StoryView.py?project=Macintosh&story=Too_Big_For_My_Britches.txt https://www.folklore.org/StoryView.py?project=Macintosh&stor... "By this point, I was crying harder, and Bob looked like he might start crying at any moment now, too. We were also pretty far from Bandley 4 by now, and it was starting to get dark. The tone of the conversation seemed to shift as we both realized that we should start heading back." But I guess that was 39 years ago... On a more serious note: I haven't seen it in a long time but I've definitely seen it on some of the hardware teams. It was when Apple was smaller and we were continually trying to fit two weeks of work into one week. At that pace everyone eventually breaks down and some do it differently than others. Apple being huge now has its disadvantages but one advantage is I haven't heard of months of project death marching in a long time.
- zamadatix 4y agoI've seen it particularly when it's about things that are (or seem to be) important but the business has neglected supporting the team accordingly. When you're in this position and don't have a good place to quickly jump to it's easy to think "I'll just put in as much as they do and live on" but when something goes wrong and that team is the only one that can fix important (or "important") thing inevitably many just go through extremely stressful situations.
- SilverBirch 4y ago>Every toxic workplace I’ve been in was usually the result of bad executive leadership, and this was no different. I remember going to my manager's manager a few years back to raise an issue with them. I wasn't the only person to raise it. They essentially said "Let this continue for 12 months and at the end of the 12 months we'll step in and stop this". It was at that point I knew that they were engaged in their job search. "Let's just put this off until I'm no longer here" basically.
- Buttons840 4y agoI recently left a stressful job after developing shingles and then celiac disease. My life is much worse now, I went into that job healthy and strong and now I'm sick all the time. Perhaps celaic disease was always in the genetic cards for me, or maybe the stress triggered it? The worst part is the job wasn't especially bad, it was a reasonable job, and I can expect my next job to have similar stress I think. What am I going to do? I'm always amazed at the change in perspective after being in a job for a while. While unemployed, I feel competent, I make progress on hard problems nobody else in the world is working on, and I feel good. While employed, stupid crap stresses me constantly, I can't leave the stress at work, I bring it home, I obsess about social hierarchies that can vanish in an instant. Everytime I've left a job I'm amazed that after just a couple days I can barely remember what I was working on before and what stressed me, like my brain knows all of that no longer matters and let's it go in an instant. How can I keep a healthy outside perspective while remaining employed? How do I avoid becoming mentally trapped in the workplace mindset? I've been giving this a lot of thought, but no answers so far.
- Icathian 4y agoGo to therapy. Seriously. Helping you work through your mind not doing what you want is literally their profession. I've found it incredibly helpful multiple times throughout my life, for lots of things vaguely similar to this.
- fartcannon 4y agoI asked a psychiatrist friend of mine what they do when someone shows up depressed for reasons that are totally reasonable. She said they try to use drugs and therapy to generate some minor delusions that would help the person feel better in their environment. Maybe OP is just having the reasonable response to corporate work and the rest of us are deluded. But yeah, talking to therapists is like a cheat code OP. You'll feel better. But you might just be having a totally rational experience. Edit: since this seems to be the wrong place to have this conversation (my mistake), I'd like to emphasize that my point is that you should seek therapy as it was suggested OP, but also to commiserate that offices are often horrible experiences.
- hahaxdxd123 4y agoWow that's insane. Everyone I've met at Google (I also work here) has been coasting and stealing a living instead of being stressed. I guess you meet those most similar to yourself...
- UncleMeat 4y agoIt is an absolutely giant company. This means that you can find almost every possible experience. "Google is awful and here is why" blogs get a lot of traction and there will always be ample supply of people who had a bad experience and chose to leave simply by virtue of there being like 80,000 engineers.
- titanomachy 4y agoA lot of the coasters have pervasive guilt and a sense of inadequacy, if you dig deep enough. Not all though.
- mwcampbell 4y ago> The WebAssembly spec ended up being built on obscure and ill-suited technology To clarify, do you think it's still built on obscure and ill-suited technology, or is that a criticism of how it was at first? And which technology are you talking about?
- kevingadd 4y agoMy personal opinion is that web specifications should not be written in Ocaml. Things are better now, but when the decision was made to do the whole spec in it, you couldn't even run it on Windows. It also didn't support float32 at the time (might still not support it?) so the reference interpreter had to manually implement float32. I have nothing against people who like MLs though, and they can be the right solution for certain problems.
- astrange 4y agoI thought "obscure and ill-suited technology" was a reference to SPIR-V or something. Was not expecting it to be about an executable spec in Ocaml.
- adepressedthrow 4y ago> My two years at Google were spent perpetually stressed, acting as an unofficial PM, helping run meetings and document decisions while dealing with sometimes hostile colleagues. This is the position I found myself in while working on a greenfield project for a FAANG company. Management structure either didn't exist (we didn't have a proper PM for nearly a year) or wasn't competent enough to take pressure off of the devs. It was so hard to fire bad hires and make good new ones that I was the _only_ dev contributing for a long time (then it became 2 devs, and he's still the only competent dev on the team to this day). I think most of the time when you're in this scenario, the best option is just to quit. Most likely you as an individual won't make enough of a difference to fix the problems, and regardless, it's not worth your health. I eventually left and worked at a decent sized startup for ~8 months before completely burning out. I wasn't forced by a doctor to take leave, but I felt like I had no other choice, and I'm still not working a year later. TL;DR: Be careful and cognizant of your brain and body. Don't try to run everything at your job, because it likely won't end up getting fixed and you'll just kill yourself.
- cute_boi 4y agoIf people are having issue with big techs like Google I can't even fathom what is happening to developer working from Asia and China where 996 is practiced. In many country the starting salary is 200 USD per month without any benefits or 401k that we find in United States. I don't understand why companies do this to their staff. Why hoard money at expense of someone's life? Why Execs don't understand that they are the main problem of downfall?
- Tozen 4y agoOften, it's as simplistic as greed by the top. Generating profits for themselves, then seeing workers as an expensive consumable, as oppose to a more holistic view. Where their workers are human beings, who should be viewed as valuable to their families, society, and company.
- 8b16380d 4y agoWhy not, if there are no real consequences.
- cleandreams 4y agoReally interesting. Sorry for your experience but I'm glad I read this. At my last job I became overwhelmed and now in retrospect I can see I developed attention issues. I just could not focus. I have had great focus over decades long career but it got worn away. Some of that is that my manager actually sabotaged me. I think the problem is that I am a terrific coder and he is not. He had driven away 3 engineers (from the company, not the project) before me in a little over a year, so believe me. I could actually not get a paid copy of the debugger tool although I was the highest ranked engineer on the project!! I was working on the free version where I had to make a new account or something every few hours!! Wow, I cannot believe I didn't understand the signal there. (He later got demoted from people management.) The other thing that I intensely dislike in the current tech world is the constant interrupt mode from the tools, slack and teams. I think that causes focus to deteriorate over time although I am not aware of any studies. It causes anxiety to flow freely through organizations and I don't think people are aware of the downsides to that. I also had major stresses in my personal life. Family issues. I just could not focus anymore and took early retirement. What I have been doing is Machine Learning courses. I think I want to do my own research projects. The good news is my focus problems, a year later, are GONE. The stock market dive may force me back to work but I hope not, not right away. I was a principal at one of the biggies so I did very well for awhile and with a little luck it could last the rest of my life and then some (for the kid).
- jrockway 4y agoHaving dealt with burnout in the past, a mistake I wouldn't make again is immediately quitting. If your company burned you out, they should make you whole again; you shouldn't be paying for therapy out of your own pocket. COBRA is an absolute disaster; if the insurance company ever actually approves you, you eat through your runway too quickly. It's like paying for a second apartment! How to actually execute this, I'm not completely sure. You don't want to ramp down to the "performance improvement plan" level, because that will just ruin your mental health. If you can ramp down from "strongly exceeds" to "meets expectations" maybe that will help, but if burned out it's probably too late for something like that. I'm not sure that medical leave is that helpful. I did this once, but was diagnosed with depression when the real problem was that I didn't have a good relationship with my manager. (The straw that broke the camel's back in that case was that I was on vacation the first few days after medical leave, the HR system lost the vacation, and HR started calling my immediate family with the implication that I was presumed dead. Nope, just in Yellowstone without good cell service. I didn't go back to work after that debacle.) The second time I was burned out, I knew there was no way the company could help me (tiny startup, and the CEO was burning me out), so I just instantly quit. I took about a year off and that was great, I totally recovered. But it was very expensive. It annoys me that companies know they're burning out their employees, and do absolutely nothing to help. So much is lost when people leave. "Take 3 months off" is totally normal if you have a kid, for both parents now; we should do the same for burnout. "I didn't have a kid but I'm going through some shit." leave. Edit: also, sorry for making this comment about me. I read the entire article and it just frustrates me to no end. You did such a good job making a great spec; the foundation for a better web for billions of people, and the foundation for many interesting startups. All while single-handedly being the glue needed to keep a challenging project making progress. That's truly amazing. Google owes you nothing short of a parade in your honor and a promotion :) Instead, you're left footing the bill to recover from the brain damage caused by continuous stress. I'm so sorry you had to go through this, and thank you for writing this up. It's something we all face in this industry, and speaking up is going to help a lot of people.
- kevingadd 4y agoYeah I think quitting early is a mistake, you want to figure out a way to ramp down for sure. Not certain what the trick is there, and doing it wrong can probably make stress worse. At one past employer where crunch was a problem, some of the leads had an unofficial policy that after launch everyone could just quietly show up to work and not do anything for a few weeks to decompress. It helped a lot, but it kind of made me wonder why everyone was pretending there wasn't a problem.
- kodah 4y ago> 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. In my career I’ve seen managers cry multiple times, and this is one of the places that happened. A manager should never have to ask whether they’re a coward, but that happened here. I just spent four years at a company as a lead who uses an internal hierarchy that reinforces this. We hire non-technical managers or managers who did not reach Senior or Staff engineering ranks. Discussions with them are long and often feel like saying your ABC's backwards and forwards. Tech leads are leveled under managers and managers carry technical decision making authority proxied as business decision making. I started getting heart palpatations and my depression and cynicism was starting to reach levels that resembled what they were when I first got out of the Marines after less than a year off deployment. Just leave. It's not worth spending time in a place where the company has such a disorganized idea of itself that it prioritizes the people who know how to make the cakes input below that of the people who push things from one column into the other. There are no amount of "hard conversations" you can have with folks like this. You speak two different languages from two different perspectives.
- andsoitis 4y agoThis 2014 article in LifeHacker describes a “toxic work environment” thus: In short, a toxic work environment is any job where the work, the atmosphere, the people, or any combination of those things make you so dismayed it causes serious disruptions in the rest of your life. https://lifehacker.com/how-to-handle-a-toxic-work-environment-1627385030 https://lifehacker.com/how-to-handle-a-toxic-work-environmen...
- ncmncm 4y agoChronic stress is no joke. It really does cause brain damage, which people usually describe as "burn-out" as if it is just a thing to get over. But it takes years to get back to a functional condition, and it will not be the condition you started in. Never stay with a thing that is giving you chronic stress. Damage is permanent. Leave it, or find a way to not be insulated. A really excellent book on chronic stress and its effects on physiology is "Why Zebras Don't Get Ulcers", by Robert Sapolsky, and endocrinologist. (It is beyond me how anybody can become an endocrinologist without suffering chronic stress!) I had to read the last chapter at 30 minutes per page, plus breaks, because he was tying up threads from the whole rest of the book.
- ChrisMarshallNY 4y ago> We did not have a PM. We knew we needed one, we tried to get one, and at best we had a part-time PM for a brief time who volunteered and then moved on. This left complex social and organizational challenges in the hands of overworked engineers with little experience solving them. That's really the problem, right there, and I think she pretty much says it. I've worked with standards people before (not on the committees, themselves, thank Cthulhu). It's a really rocky environment. Usually, everyone involved is full of self-interest, and they want to push their own agenda, because billions. Having a standard give you an edge, can be quite valuable. Look to some of the video codecs, and see why. In that environment, it's often difficult to get everyone to agree on a "The Buck Stops Here" leader. Usually, a Chair is appointed when the committee is formed. Sounds like this one just sort of congealed. I sincerely wish her health and happiness. In my case, being forced out of the rat race was one of the best things that could have happened to me.
- UncleMeat 4y agoI work at Google and generally love it but this is currently my #1 complaint about being on an infra team. We have no PM so it falls to me to figure out how best to apply the systems and tools we have in new domains... but I can't actually make these decisions unilaterally. It requires people on the other side of whatever engagement and those relationships are complex and often fickle and it takes a huge amount of my time to navigate them. We temporarily had a PM who got a bunch of initiatives started but then swapped teams and all of the momentum vanished.
- JakeAl 4y agoNever underestimate the important of good leadership. A leader can recognize these things and a lot more. It seems like companies don't hire experienced project managers/managers anymore but try to get programmers to wear those hats because they think programmers won't respect someone who isn't a programmer even if they are tech savvy. I can't say I blame them as marketing and BAs seem to end up in the manager role and that's often much worse. There used to be a middle ground in the days before agile. Now it's like it doesn't matter because fail first and fast is the M.O. and "don't worry, we'll fix it in a future sprint after enough people complain."
- JohnDeHope 4y agoNot everybody is cut out for every job. I was once essentially fired from a job as a checkout clerk at a small business because I was so atrociously slow at counting my register's money at night. Everybody had to sit around after closing, waiting for 30min, while I counted and re-counted my bank. This made me pretty unpopular. If you hate your job, for whatever reason, then find a new way to earn a living. Look for something you're good at: broadly, holistically, in general. This person sounds like a good programmer, sure. But they don't sound suited to the culture at Google, or as a participant in contentious new specifications. That's okay, not every job is for every person. There's lots of things to do.
- black_puppydog 4y agoOP and some of the comment here make it sound like this is a job/environment that no sane person would be "cut out" for, or at least they'd not remain sane for long. I don't think making excuses for that is a good idea.
- bityard 4y agoI don't see GP making excuses for anything, only acknowledging that toxic work environments exist in the world (which sucks) and some people cope with them better than others.
- blindmute 4y agoOP also has a history of mental illness, so I would take their conception of sanity with a grain of salt
- syrusakbary 4y ago> That stress and the importance of the project were central to our struggles and the toxicity of the environment. Many design discussions became heated and two experts in their fields from competing corporations would fail to agree, convinced that their informed opinion was correct. I work in the Wasm ecosystem, and I unfortunately also share this viewpoint. I think that the toxicity from the beginning has transformed somehow the developers working on it for long and has leaked into other ways of managing disagreement within the Wasm ecosystem. Before WebAssembly, I was working full time on GraphQL (a community that I deeply love and respect, where everyone was very friendly to each other) and I completely found myself lost when seeing how competing companies in the Wasm ecosystem, rather working towards collaboration paths, wanted to push each other down. I have hopes though, that once things stabilize a bit, the ecosystem will recover :)
- Allower 4y ago
- sfashset 4y ago
- xkbarkar 4y agoI have been through the same too. I still remember the click in my head, when something snapped in my brain after an unusually long week where I basically slept at the office to get a change request through change management. It was excruciating company stupidity red tape hell on earth. But the fix was neccessary after a bug in our latest software that severly slowed down one of our big customers. And change management fascists dragged out a simple fix for a whole week from a different timezone than mine. After that click I could all of a sudden enter the car park with groceries in my hands having no memory of going there, what was in the bags or where the car was. I had trouble signing my name on credicard purchases. I stopped sleeping and got into a state of perpetual constant stress, rage and fear. I was entering clinical insanity. I did not do therapy in the end. I quit my job, found another with less pay but also less responsabilities and moved into a small flat. Rented out my own. For a year I spent my time with one mattress, one glass, one dish and a small case of clothes. Went to and from work walking and spent most my free time walking around with nature sound in my player. Water mostly. Or excercising. Strength, yoga , cardio all kinds. Changed eating habits to simple eating. Not a diet per se but simple easy to make and eat foods. A little meat and potaoes. A dish of pasta. A fruit. Always home made dishes. That was part of the healing. Simple cooking. About 3 months in I started sleeping again and it took a year before I had no longer that stress knot in my stomach. Its been 6 years now and I will never be the same, something broke me at that job. I do however stop immediatly if the stress knot is starting to return and pause. What am I doing? Why am I stressed. Etc. I find wfh relaxes me. I am less aware of office politics from home which is a huge stress trigger for me. I started reading again. Learning how to enjoy simple things helped me a great deal. Stop social media. I hung on to social media until the past 2 years. reddit was by far my worst trigger for a while, next to facebook. Cut down even on streaming. Only a few select movies and series. I cut out toxic people from my life, that included toxic co workers. I would find ways of doing my job with a minuscule or zero amount of toxic co workers. I asked to change teams when I realized I had a terrible boss. Old me would have sucked it up. New me went to HR and asked if I could move to another team. Great team as it happened. The old me is never coming back, the new me will rather wash dishes in a restaurant than go down that road again. Also, I got a cash bonus of about 2000 dollars for that week that I finally broke. And the customer sent me a box of chocolates. So that was the price tag for my mental health I guess…..
- NellieBly 4y agoHugs, I'm not gonna make this about me, just so sorry you had to go through this too. It does take time to recover to the point where we're functional again; but prolonged periods of fight/flight, and no safe place, does something to our psyche as well as physical health. I trigger easily on things from toxic men that most women manage to deal with by age 13 or so. Struggling now to find ways of making the world a better place so that our children and grandchildren don't have to go through this too.
- deleted 4y ago[deleted]
- Tozen 4y agoLots of people are irreparably damaged by toxic workplaces. One of the insidious things about it is the amount of physiological and mental damage being done may not be consciously noticed until far too late. Even to the point of suicide, heart attacks, etc... Many companies view their workers as a consumable resource, that they can burn up as much as they like. After they burn you out, they bring in the next "victim". This kind of company ideology also attracts sadistic and psycho managers to it, who enjoy creating and inflicting stress and trauma on those they have rank or control over. These days, it is better for workers to make their mental and physical health a priority. Always be looking for a better company, work environment, or an option that's more suitable. If the difference is between being happy or losing your health, remember that there is no going back or use for money, when you are dead. So a person should take any bad work environments or sadistic supervisors as the "dead serious" threat to their life and happiness as it truly is.
- SnoopDougDoug 4y agoAh yes, toxic bosses. I once left a gig after my boss convinced me to take over as lead, and then blamed every problem with the schedule/features/etc. on me a few weeks later. Another terrible boss told me one day I was spending too much time on a task, and the next day that I was not spending enough time on a task. I did learn to ask pointedly in hiring interviews whether there was any sign of micro-management in the role.
- geekraver 4y agoNothing about this surprises me. Google is an engineering driven organization that has no idea how to utilize PMs properly and where being the “smartest person in the room” is incentivized so there’s little to no humility and curiosity and it’s more about individual “winning” than best outcomes for customers; if you operate in a mutual learning way you’ll just have worse but more aggressive/ambitious people end run around you. These things are fixable (and there are some pockets in the company that don’t have these pathologies) but there seems to be little interest in doing so company wide. But maybe I’m just a disgruntled ex-employee who prefers a Satya Nadella to a Sundar Pichai.
- prof_hibschman 4y ago> lost my mid and short term memory Yep -- after taking on 3+ job contexts (teaching, software startups, and volunteer orgs), I lost all confidence in saying people's names because I started having trouble recalling them... people I knew for years. For others, I recommend "The End of Burnout" by Jonathan Malesic. It helped me to identify unhealthy work habits and change the priority system I use to manage my time.
- nutate 4y agoI'd love to see the retrospective warning signs. I wonder if there's ways to see a boss at a bigCo is a dictator during the interview process.