Nat Alison Profile picture
12 Aug, 103 tweets, 18 min read
Oh hey, the new site is up, which means it's time for A Thread about Gatsby (1/??)
Starting around August 2019, I was hired as a contractor to work on setting up translations of the Gatsby docs. In June 2020, my contract was cancelled, the translations still not integrated into the site, and the project postponed indefinitely (2/??)
This thread will serve as a post-mortem on that project, what went wrong, as well as a catalogue of my issues with gatsby the Company, including worker mistreatment, incompetent leadership, and hypocrisy regarding diversity and inclusion. (3/??)
This will include both my personal testimony on how Gatsby Inc. (corp? idk) has mistreated me, as well as anonymized testimony from other current and former employees.

Let's get started.
When I first signed on to the internationalization (i18n) project, the contract was extremely vague. It listed my role as "consulting, primarily related to internationalization work". It had no time frame and no clear deliverables.
I thought the flexibility was a good thing at first—one of my issues with the Reactjs.org translation I did a few months before was that the contract was limited to less than a month, meaning that there was no pay involved for the maintenance of the translations.
I wanted to create a "proper" i18n solution for gatsby. For React, due to the time constraints, I just… copied the entire website (made using Gatsby of course) into different repos.
I felt like with the backing of the Gatsby team and the flexibility given in my contract, it would be ideal to create a "proper" i18n solution, one that actually used Gatsby's capabilities as a platform and could serve as a model as a general i18n solution for the platform.
Being new to Gatsby, I spent the first few weeks getting acquainted with the platform. The thing that immediately stood out was how *slow* the website took to build. 30 minutes to compile the docs, blog, plugin list, etc. etc…
When I asked the engineers for tips to make the build run faster, the answer I got was "uh… disable image thumbnails?" which cut the build time by like… 5 minutes. "This will get better when Gatsby Cloud (the commercial platform) becomes ready."
I asked "could we just disable all data sources and make the site work without them" but just got shrugs. Not having the domain knowledge to implement something better, I spent the majority of my months working on that website waiting on 30min builds (at least it was billable).
This was my first experience with "Gatsby the platform falling leagues short of what its marketing implies it can do," something that will become a common theme in this thread.
To fast-forward a little bit, months later when I had acquired the domain knowledge to implement the suggestion, I was able to cut the build time from 30 min to 30 *seconds* with about a week of work.
There were engineers at gatsby who had the knowledge to make that change much earlier, to create a force multiplier for anyone who worked on the website, like the documentation team. But they didn’t.
Another thing that was strange to me at first was how they basically treated me as a full-time employee. With my React contracts, I interacted with my clients through Twitter. With gatsby, I was given full access to the company Slack and could communicate freely with the company.
Moreover, they even flew me out to London for their semi-annual conference and had me come to their week-long in-person company meetup. I got to meet and talk to everyone at the company at that time.
This was unexpected and not what I was used to, but I grew to enjoy this access to the Gatsby team. I was able to go into various slack channels and ask domain experts on MDX, GraphQL, ThemeUI on their expertise as it pertained to the translation project.
Moreover, what this signaled to me from Gatsby the company was that, though I was a contractor, they were treating me essentially like a full-time engineer, similar to their employees from outside the US. The vagueness of my original contract contributed to that. This was wrong.
I started the project by drafting an RFC on my plan for i18n. Unlike React, which serves its translations through separate subdomains (e.g. ja.reactjs.org) the plan was to have all the translations sourced through the single Gatsby website (e.g. gatsbyjs.org/ja/docs)
For me, it made sense that gatsby should dogfood its own i18n solution, and a way to stress-test gatsby's performance capabilities. The RFC was signed off by multiple people, including the CEO, and I began working on the project.
The first few months were slow going. I was able to get repositories set up for different translations and recruit community members to create translations for several languages.
But the process of actually integrating it into the website was slow, because of the lengthy build process, and because it would often take up to a week to get the necessary PRs to merge a change.
In November, I took a three-month break for surgery and the recovery period. Gatsby was flexible with the leave, but of course as an hourly contractor, I was not paid during this period.
I began working on the project again late January. Gatsby Cloud, the commercial platform, was released, and Gatsby's builds moved to it. The company had re-orged and my point of contact for the project changed. There was something called "team boats" now.
I kept going, struggling against the molasses-slow builds, trying to parallelize work where I could. It was a struggle, but I enjoyed the engineers that I worked with and it was an interesting problem to solve.
I asked for a raise, as the project had taken on more scope than was originally thought. My point-of-contact signed off from it, but the head of Ops (same person who created my contract) denied it saying that I "had to finish the contract first before I could renegotiate."
At this point, despite the difficulties, I had enjoyed working for Gatsby and the people that I worked with, and had seriously considered officially joining them full-time. I received nothing but praise from my co-workers, and I thought Gatsby felt the same way too.
I started overworking, becoming way too invested in the gatsby website and ecosystem for a contractor, getting a sense of ownership over it, making improvements not-strictly-related to the translation project.
After all, a spell-checker is useful so that localizers don't have to deal with typos right? Getting rid of unused pages means less work for translators right? And the contract said it was for "consulting" work, and community maintenance was part of that right?
Because of how god-awful slow the website build was and how badly it was upkept, I had to stretch myself thin to justify doing enough work to support myself and my partner, since, of course, they denied my raise.
And then, one night, after clocking in more than 10 hours, I logged into Slack and saw that I was taken off all the channels except a few and I now had this marker: A slack badge titled "Multi-channel Guest"
My immediate thought was panic. I thought I was being punished. Had I overstepped my boundaries? Was I actually performing poorly and being fired? The situation legitimately triggered my PTSD and gave me an anxiety attack.
When I asked management about the change, the only response I got was "oh it's just a security thing." I was clearly panicked and the responses came off as callous and did not alleviate my anxiety. Hi, Nat!  I uninvited you from the events for the boasts bec
I spent the next week unable to work, talking with other current and former employees about the way they were also mistreated, yanked around by management, and left to rot.
Gatsby's excuse was that they were doing a "security audit". This did not make sense. There were only two contractors at the time, me and someone writing docs articles. They could have made an exception considering the scope of the project.
What that signaled to me was clear. "You're getting too buddy buddy with people. No more #pets channel for you! Go play in your little #i18n channel and stop bothering the real employees".
But it was more than just not being able to look at other employees cute pets. Their short-sighted restriction had a profound impact on my productivity. I could no longer easily reach out to people in the proper channels. My output slowed even more.
I would have quit the project then and there if it wasn't for my point-of-contact (manager I guess?) who emphasized with me and calmed my anxieties, and my sense of commitment to the docs translators to have their work see the light of day.
Around this time, Gatsby released their new commercial Cloud platform and switched all its builds, including the website, to use it. This was the thing that was supposed to make the site build faster. (It didn't, but at least builds didn’t make my macbook overheat)
I had finally finished enough of the integration work to be able to get multiple languages to run on the site. I set up a branch to test this and… the built timed out after an hour.
I asked members of the cloud team how we can get it to be faster. Their answer? "oh, just build it as separate sites."
To reiterate, after an RFC signed by *multiple stakeholders* including the CEO, outlining a single-site approach, on a platform marketing itself as "blazingly fast" builds of static websites, I was told "oh we just aren't fast enough to do that."
I had to scrap all the integration work I had done so far and start over. The new plan would be to build the website as a Gatsby theme and run separate instances of it for each individual language.
This too was an arduous process. It turns out that there were a lot of undocumented differences between gatsby websites and gatsby plugins, and it took me months to figure out all the kinks in order to just get this thing to publish.
cw police brutality.

In May, George Floyd was murdered by a police officer. The US, and the world, erupted in protest and revolt protesting in support of Black lives against police brutality and anti-Blackness. Many companies came out in superficial support, Gatsby among them.
But before we talk about response to BLM, let's rewind a bit and see how their track record of diversity and inclusion is.
Gatsby's official community motto is "You Belong Here." It claims to create a supportive open source environment and welcomes contributors (read: unpaid labor).
When I went to London, one of the presentations during the meetup was one on "diversity and inclusion". It was given by a white lady at the company I can best describe as "the one white lady all male-led startups hire to do non-tech work." you know the one.
The presentation was laughably incompetent and ill-researched. A mediocre white woman giving a presentation to a sea of mostly white employees on how they're "trying to do better".
It was nearly a year ago and I don't remember all of it but some highlights were:

* categorizing "transgender" as a gender
* saying "LGBT and transgender" (do you know what the T in LGBT is??)
* "I would love for there to be 50% men and 50% women (what about nonbinary people??)
It was so laughably aggravating that my only comment was "please… please just hire someone who knows what they're doing."

I was met with, of course, with white woman tears, and excuses that "now is not the time" for a dedicated D&I lead, despite gatsby announcing new funding.
Gatsby had a section on its website called "creators" which lists people who used gatsby. Its was a poorly maintained section with no clear criteria and a tucked away means of applying. Which meant, of course, that it was mostly white men represented.
Shortly before my surgery, I suggested that the section be removed from the site: github.com/gatsbyjs/gatsb…

It was unused, confusing, and removing it would simplify the site for translation.
Its was agreed internally that the section would be removed until it could be redesigned and better processes for inclusion could be drafted. The section was removed shortly before I went on leave.
When I got back, the section had been returned "after a chat with the CEO" with no explanation given. github.com/gatsbyjs/gatsb…
Oh yeah, I guess this guy commented too:

"The demographic makeup of web developers skews heavily toward white men. The Gatsby community can be diverse, accepting, and help shine a light on others without efforts to deliberately hinder the advancement white men…"
This was my personal experience, but others I've talked to have raised concerns as well. There's a "recruiting pipeline", but candidates from marginalized backgrounds are ghosted, and people often bypass that standard process if the CEO likes them.
The same lady that gave the godawful diversity presentation (and also incidentally wrote my contract and denied my raise) filled the recruiting/marketing teams with her (white woman) friends outside of the "proper channels".
As a bit of a tangent, I'd like to add that Gatsby draws in people by hiring a lot of high profile engineers and open-source maintainers as a lure (that's how I got picked up). I wonder how that's going to work for them now that all these people have left or are about to leave.
So, how was Gatsby's response to the Black Lives Matter protests? A historic uprising and revolt?

"riots around the country" Tweet by @GatsbyJS: Given the current climate in the US surr
When questioned in internal messaging, the white woman who created the tweet posted a long explanation that centered her own whiteness and experience. When an ally posted a response, she was tone policed and told "we're all a family here."
In June, a white queer employee as asked by Diversity Presentation Lady to "do something for pride month". He wanted to do something to center Black queer voices: donations to charities, having featured blog posts from Black queer Gatsby users, etc.
To this date, I do not think anything has come out of that discussion.
So in short… their response was prototypical of a tech company: performative, unsubstantive, and fleeting. Lol they didn't even add a banner to their site (that would have distracted from their current banner advertising their cloud service)
Speaking of that, let's talk about marketing for a bit.

Gatsby practices something I like to call Marketing Driven Development.
They hired a contractor to write articles such as "what is React?" "What is CMS?" purely so gatsby's website would show up during SEO searches for those terms.
An entire "Features" section of their website, confusing and cherry-picked as advertisement to make gatsby look good: gatsbyjs.com/features/
Confusing, redundant documentation probably done to make SEO search results. Weird and unclear website layout done "for strategic purposes".
So anyways, at around this time they start talking about "website unification." That is, combining gatsbyjs.org, the website for the gatsby open source platform, and gatsbyjs.com, their site for cloud-based service.
Why is that? "well, most people know about and go to gatsbyjs.org but not enough people go to gatsbyjs.com and so they don't know about our commercial platform!" #MDD
I was not consulted *at all* about this project, despite the fact that it would have a profound effect on the internationalization project, and the fact that I had significant domain knowledge on the dot-org site by now.
The plan was to move the dot-org site, which was a gargantuan public repo with lots of work put into it to make it accessible and usable, into the private and much smaller dot-com repo. Which meant that all the work I was doing would again be cast aside.
When I finally had access to the private channel after weeks of uncertainty and non-communication, I unleashed my concerns:

* How is this going to affect community members who contribute to the site?
* Is the Cloud team okay with their builds taking up to 30 min long now?
The response? "Well, we're already deep in the process now and we have a deadline."
Soon after that, I was told that the internationalization project was being cast aside because they didn't want to worry about it while releasing the new site.
I was told that I could either take 40 hours of pay as "severance" or wrap things up for two weeks and get the same amount.

I took the "severance"
Anyway, that's pretty much it. I hope you enjoy Gatsby's new unified website where they try to shill you their lackluster not-Netlify service!
Oh, as a little extra, wanna know how they announced my departure? (yes this is the Diversity Lady) Hey All - Just a heads up that Nat who has been contracting
And finally… thank you to all the translators who contributed their time and effort to make documentation a more inclusive and global place. I’m sorry I was not able to make your work see the recognition it deserves.
Thank you to those I've worked with at and formerly at Gatsby. You made a hellscape of a contract tolerable, and you all deserve so, so much more.
Anyway… if you want to support me while I find my next gig, my ko-fi is here: ko-fi.com/tesseralis
Also — I wanted to do this in better circumstances, but if you've contributed to the Gatsby, React, or any technical documentation translation project, and have a Patreon/Paypal/etc. link, post it here. Your work deserves to be valued and compensated too (and not in gatsby swag).
some miscellaneous thoughts that I couldn't fit into the main narrative:
I had a suspicion that the website merger would cause a lot of issues and that's already coming to light: for example, dark mode (an accessibility feature) not being included.
One of the big problems I ran into was that the docs were *so bloated*. The main docs sidebar has over *300* links in it. Including a section on, I kid you not, "how to convince your job to use Gatsby"
It's partly the Marketing Driven Development I mentioned, partly lack of curation by allowing *anyone* to contribute any type of doc. Lots of old outdated docs that didn't get updating and just lie stagnant.
But… yeah. A huge chunk of my technical time ended up devoted to "how do I translate this 600-line YAML sidebar without adding 200kB x number of languages to each build."
Oh there's also this gem, posted by a lead of the company:

"I agree with Github's decision to continue their ICE contract 👀. But there's no process to let them know my concern..."

...

"Who can raise their hand and be the voice of the refugee, or the ICE officer?"
Also, this may be obvious from the thread, but According To My Sources, the founders of Gatsby are incompetent man-children who don't know how to run a company.
The CEO is a "move-fast break things" cowboy coder who says technical things are "sexy" and spends his time proclaiming new features and creating shoddy implementations that he leaves his lowly engineers to fill in the gaps.
I can't count the number of times I found some weird, poorly implemented feature of the website and when I asked why it was there, the answer was "oh, [the CEO] wanted that feature."
"why do we have this button to expand all items of our 300 item sidebar?"

"The CEO uses it to search for stuff" (you know, instead of… the search bar)
But he says stuff that makes VCs happy so they all think he's a genius? 🤷‍♀️
According To My Sources, the COO spends all his time doing "thought leadership", including writing the aforementioned "convincing people to use Gatsby" hit series and the gatsby advertisement disguised as a feature comparison.
Oh yeah, at a certain point I just started merging minor refactors and my productivity increased 10x… But "mandatory code review is bad" is a hot take for another day (of course they found out and took away my admin as well)

Turns out maybe the reason they removed my slack permissions was "lol whoopsie we did a labor rights violation? 😜

RE: open source governance:

Gatsby has a fair amount of contributors who will do a *buttload* of work for free, which gatsby just…. encourages. And pays them in swag.

Like, for all of NPM's faults, they were like, "hey… if you're working a ton of this, make sure you're getting paid, we don't want you to do this for free."

Gatsby… had no such policy.
Like, legit PRs that would have taken me a week to do, and be paid for in thousands of $.

And people would just do it. For free. Because they want "experience working with Gatsby".

And gatsby would be like "aw, thanks, here's a keychain"
Like, I'm partially guilty of this myself and put some stuff up for community contribution, plus the translations relied on volunteers. But there's a difference between, as a company policy, hitting the breaks and pumping the gas, y'know?
Oh, apparently they had to delay the new site launch because the Cloud product was broken lol

To add to this: for every horrible thing that's happened to me, it's happened to dozens of others who aren't allowed to say anything because of nondisclosure agreements. Take everything in this thread and multiply it tenfold.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Nat Alison

Nat Alison Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @tesseralis

15 Aug
Preface: pretty much all my projects use React, I've contracted for the React and React Native teams and have spoken at React conferences. I'm friends with many current and former members of the React team.
Facebook's ownership of React has a deep and inextricable impact in how that library is developed.
Read 12 tweets
14 Aug
It seems that Gatsby has made a response to the issues I and others have raised. Unfortunately it seems to be written in a strange language called "PR-ese". As a service to the Gatsby Community, I will offer my services to translate it to English.

gatsbyjs.com/blog/open-lett…
Our Heavily Vetted PR Statement To the Developers We Want to Do Stuff For Us For Free Open Letter to the Gatsby Open Source Community
"Fuck, we forgot to make her sign an NDA." Several members of the community have expressed concern abou
Read 18 tweets
20 Oct 19
Given all the talk on "don't talk about the negativity in tech!", and with React Conf around the corner, let's talk about my experience as a speaker at React Rally a few months back, as a queer person of color, at the heart of what would be now known as ReactGate.
I'd heard a lot of good things about React Rally from friends. "It's so open and inclusive!" they'd say.

So I was excited. I was talking about something very React-specific (localization of the React documentation) and I was happy for the opportunity to meet up with friends!
I landed in the Salt Lake City airport and walked past the crowds of cheering Mormons welcoming back missionaries. There was supposed to be a shuttle to take us to the hotel. After waiting for a few minutes, it arrived.
Read 29 tweets
1 Jun 19
Its staaaaaartiiiiiing Stage of js conf EU
The music is very loud do any of the exhibiting companies have earplugs as swag
Also, epilepsy warning much?
Read 81 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!