Twitter’s ongoing cruel treatment of software engineers
Originally published on 24 November 2022.
👋 Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. We cover one out of five topics in today’s subscriber-only The Scoop issue. To get this newsletter every week, subscribe here.
I was really hoping to not report anything more about Twitter, and that software engineers at the company would get space to heal after the traumatic events, and to focus on building the product. As a reminder, in three short weeks Twitter’s software engineers have gone through all this:
- Week 1: After working through the weekend, ~50% of staff were let go. More in the article Turmoil at Twitter.
- Week 2: Some of those fired were called back within a day, when management realized they were key people. Most software engineers declined the offer. Remote work was canceled overnight, and managers were told they now have to code for at least 20% of their time, while managing 20+ reports. More in the article Cruel changes at Twitter.
- Week 3: Those criticizing the company leadership were terminated without warning. Elon Musk issued a two-day ultimatum for remaining employees who had to confirm they want to be part of “Twitter 2.0”, signing up for “extremely hardcore” long hours at high intensity. Those who did not agree got 3 months of severance.
The deadline for opting in to “Twitter 2.0” was last Thursday, 17 November. As the deadline came and went, it emerged that many fewer than expected software engineers had opted into this new “Twitter 2.0” with worse working conditions, I reported. Elon Musk sent out an email which relaxed the draconian new remote work ban, and set up meetings with key engineers in an attempt to persuade them to stay. Some employees were offered up to $100,000 in raises to stay, Platformer reported. Still, more than 1,000 employees quit that day, taking voluntary severance.
Most of the software engineers I was talking with at the time, who still worked at Twitter, took the severance to end what was weeks of torture. Twitter immediately announced it was closing its offices that day. As of the time of publishing, Twitter’s total employee count based on active LDAP accounts is down to 2,675 from about 7,500 just a month ago.
The following day, with offices closed, something strange happened. As per Platformer:
“On Friday morning, things got even stranger. At around 9AM PT, Twitter engineers received another missive from Musk: “anyone who actually writes software, please report to the 10th floor at 2pm today,” he said. He asked remote employees to fly to San Francisco to present. “These will be short, technical interviews that allow me to better understand the Twitter tech stack.”
Employees were dumbfounded. Hadn’t Twitter just closed the offices? Nevertheless, roughly 250 people signed up to meet with Elon Musk and show him how Twitter’s technology works.”
For software engineers in Europe, things got weirder as Twitter started accepting resignations which were never tendered. Those who did not click “yes” on Musk’s ultimatum that they commit to “extremely hardcore” working hours – which made no sense in Europe, given how contracts operate – were sent emails from Twitter’s HR department informing them that their voluntary resignation had been accepted. Except none of these people resigned voluntarily.
Software engineers were locked out of systems in the UK and several countries in Europe, and found themselves at the start of strange personal battles. They are still employed, but unable to access Twitter’s systems, and are exchanging emails with the company’s US HR team, asking for their work access to be restored so they can continue to perform the duties in their contracts. Twitter’s US HR department seems to have a hard time understanding that the USA is not the world, and that in several countries, people cannot be fired over email, nor can local employment regulations be ignored.
After three weeks of cruel treatment, the remaining tech employees were hopeful that things would finally quiet down. And at the start of this week, it looked possible.
On Monday, 21 November, Elon Musk told employees that the company was done with layoffs. Remaining employees whom I talked with breathed a sigh of relief at this. Musk also said the company is now hiring for software engineers, and encouraged people to make referrals, Alex Heath at The Verge reported.
The next day, software engineers were told they have to send a weekly summary of their work. The instructions read:
“Moving forward, every Friday (this week, on Wednesday), please email the following weekly update to (redacted)@twitter.com with the following format:
- Subject line: “Weekly update, name, dept, and date (eg “Weekly Update, John Smith, SWE, 11/20)
- Email body:
- What project you are working on (eg Blue Verified)
- What you are trying to accomplish (eg reliably collect the $8 payment)
- Code samples / Phabricator links of code written that week”
Then, right before Thanksgiving, more software engineers were fired without warning and dozens were put on performance warnings. On the night of Wednesday, 23 November, several software engineers were notified over email that their employment was terminated, claiming that their code was “not satisfactory”. No more details were provided. They received this email after submitting the weekly update, as requested the previous day. This is the email one person received:
As a result of the recent code review exercise, it has been determined that your code is not satisfactory, and we regret to inform you that your employment with Twitter will be terminated effective immediately.”
People terminated were offered 4 weeks’ severance if they signed a separation agreement. This severance feels insulting, given that people who did not opt into being part of “Twitter 2.0” just one week ago received three months' severance. It feels like Twitter’s leadership enjoys punishing employees who stuck it out with the company and did not choose the easy way out. Tech reporter Zoe Schiffer estimated that about 50 software engineers were let go this way.
Several people let go are on visas, and they were fired at the worst possible moment in the year. Those on H1B visas in the US have 60 days to find new employment, else they need to leave the country. By terminating them at Thanksgiving, these people enter the job market at the quietest time of the year in the US. Between Thanksgiving now, and the holidays in December, most companies slow hiring, and will only pick up in January. Software engineer Yiwei Zhuang was one of such visa holders let go. He worked at Twitter for nearly 4 years, and now has 60 days to start a new job. He wrote that he was terminated with no reason, and said people on parental leave were also fired.
For dozens of software engineers who received a performance warning, it means they may well soon be let go. Talking with several of them, they estimated that 30-40% of remaining software engineers at Twitter received a warning email.
This email explained it was being sent to “bring to your attention our concerns regarding the quality of your coding ability,” and that “following the completion of your code review exercise, it has been determined that you are not meeting the expectations of an Engineer at Twitter.” People were told that in the coming days, their manager will reach out to discuss the next steps and how “not meeting expectations could result in termination of employment.”
The message closed with:
“Please use this opportunity to restore our confidence and demonstrate your contributions to the team and company.”
I talked with a current line manager at Twitter, who was unaware of these performance warnings until their direct reports received them.
Remaining software engineers I talked with told me they are afraid that they could be fired any time, just like their peers who were let go with no explanation. One speculated that what is happening is a politically motivated cleansing, with managers choosing to fire developers they personally don’t rate, using “unsatisfactory code” as an excuse, which may be deployed against anyone at any time, going forward.
We have to ask the question: why is Elon Musk creating what seems to be the most toxic working environment among major tech companies in 2022? For the fourth week in the row, Musk keeps turning up the heat and finding new, cruel ways to make it clear to current software engineers that their jobs are not secure. First, there were ~50% layoffs, where external engineers from Tesla and SpaceX had the final say on who stayed or went. Next, it was firing people who criticized the leadership, even if it was done internally on Twitter’s Slack. Then, it was making the remaining employees pledge to work long hours. And now, it’s firing based on arbitrary coding reviews without any feedback.
Why put people through multiple rounds of firings? Why keep laying people off three days after Musk said layoffs were completed?
I don’t have the answers, but what Musk is doing is managing through fear. Software engineers now know that the only way they can be safe is to submit code that counts as “hardcore,” every single week.
What is satisfactory code in Musk’s opinion? No one can tell.
In what is hard to comprehend, Twitter is actively trying to recruit back experienced engineers who resigned last week. I talked with current software engineers at the company whose managers asked them for recommendations on who to “bring back” from those who resigned last week. Managers are hoping to get former, experienced engineers back because many teams are deprived of institutional knowledge and manpower.
I have a hard time working out who would want to return, given the cruelty and senselessness of how Twitter fires people for opaque reasons based on a code review, without warning. I also don’t know who will opt to join Twitter, knowing this is how the company operates and that they will have less job security than in any other job.
This was one out of the five topics covered in this week’s The Scoop. A lot of what I share in The Scoop is exclusive to this publication, meaning it’s not been covered in any other media outlet before and you’re the first to read about it.
The full The Scoop edition additionally covers:
- Amazon’s rolling layoffs and Google doing performance check-ins. Both Amazon and Google have avoided layoffs, but for how much longer? Analysis.
- Will Google start to pay less, over time? An investor owing $6B of Google stocks thinks the tech giant’s pay is overly generous, and that it should reduce packages. Could Google do this? Analysis.
- The Ukraine tech job market in wartime. Demand for senior software engineers is increasing, but less experienced professionals are struggling. Could this be indicative of global trends? Analysis.
- Monta: an EV charging software management startup. The Danish, electric vehicle charging management software startup put open salaries in place and has shared details on how this experiment went, as well as some details about its tech stack and the company. Exclusive.
Featured Pragmatic Engineer Jobs
- Engineering Leader - Card Platform at X1 Card. $250K+. Remote (US).
- Engineering Leader - Card Product at X1 Card. $250K+. Remote (US).
- Senior Android Engineer at Polarsteps. Amsterdam.
- Frontend Software Engineer at Enveritas. $130-150K. Remote (Global).
- Senior Software Engineer, Distributed Systems at Mixpanel. $200-270K + equity. New York, San Franciso, Seattle or Remote (US).
- Senior Software Engineer, Fullstack at Mixpanel. $200-270K + equity. New York, San Franciso, Seattle or Remote (US).
- Software Development Manager - eCommerce at Card Kingdom. $175-195K. Seattle, WA or Remote (US).
- Senior Frontend Engineer at Pento. £80-92K. Remote (Global).
- Senior Fullstack Engineer at Synthesia. £70-110K . Remote (Europe or US Eastern time) or onsite (London, Amsterdam, New York).
- Senior Backend Engineer at Synthesia. £70-110K . Remote (Europe or US Eastern time) or onsite (London, Amsterdam, New York).
- Senior Frontend Engineer at (catch) Health. $90-120K + equity. Remote (North America).
- Staff Backend Engineer at Pento. £95-115K. Remote (Global).
- Senior Full Stack Engineer (Laravel / Vue) at RXMG. Remote (Global).
- Sr. Cloud Infrastructure Support Engineer at RXMG. Remote (Global).
- Founding Engineer, Front End and API at Causal. $175-225K - equity. Boston.
- Senior Full Stack/Frontend Engineer at Vitally.io. $180-270K. New York or Remote (US).
- Senior Software Engineer - Core Platform at CAST.AI. €72-€96K. Remote (EU).
- Senior Software Engineer - Cost Optimization at CAST.AI. €72-€96K. Remote (EU).
- Solution Architect at CAST.AI. Remote (EU).
- Senior Software Engineer - Security at CAST.AI. Remote (EU).
- Solutions Engineer at Pigment. $70-120K. New York or Toronto.
The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.
Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.
Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.