Originally published 6 July 2023
👋 Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. We cover one out of six topics in today’s subscriber-only The Scoop issue. If you’re not yet a full subscriber, you missed this week’s deep-dive on What a senior engineer is at Big Tech. To get the full issues twice a week, subscribe here.
The past week has been interesting for social media giants. Last weekend, Twitter – the text-based social network with around 250M daily active users – started to throttle usage, limiting users to a few hundred tweet impressions and then cutting them off for the day. Here’s Twitter’s owner, Elon Musk, sharing details on Twitter:
Over the next two or three days, the limiting stayed in place. I experienced tweets not loading when using one of my non-paid Twitter accounts. Even when limiting was quietly removed, other restrictions were put in place: such as logged out users no longer seeing tweets. This means Twitter cannot be used – at least for now – for public announcements that anybody can read.
It’s still unclear what exactly caused this move, but it surely had to do with infrastructure issues. Twitter runs its infrastructure on three of its own data centers. The company utilizes Google Cloud to some extent, and my understanding from talking with Twitter engineers is that this was for machine learning (ML) use cases.
What caused the need to throttle the network? Twitter’s official explanation days later was extremely vague. “We temporarily limited usage so we could detect and eliminate bots and other bad actors that are harming the platform,” a statement said.
Bots and bad actors are present on all social media platforms, and detecting, limiting or banning these accounts is typically done by ML systems which detect suspicious patterns. How does Twitter do this detection? Well, it relies on Google Cloud’s ML and AI services, as per engineers whom I talked with at Twitter. And the limiting occurred the day after a contract with Google Cloud expired.
In terms of infrastructure, Twitter runs its own data centers – currently three, with plans to reduce this to two. But Twitter engineers I previously talked with shared that they use Google Cloud for ML workloads because it’s more efficient than doing it within their own data centers.
“Prior to Musk buying Twitter last year, the company signed a multi-year contract with Google to host services related to fighting spam, removing child sexual abuse material, and protecting accounts, among other things. (...)
Twitter continued to push Google to lower its cloud costs, at some point it stopped paying its cloud invoices — and is now planning to move off the platform altogether.
The move has triggered a mad dash within Twitter to move as many services as it can off of Google Cloud before its contract ends on June 30. But the project is running behind schedule, sources said, leaving the fate of several key platform defenses in question.”
A few weeks later, on 21 June, Bloomberg reported Twitter had resumed paying Google Cloud and patched up the relationship. Still, I wonder if Twitter simply negotiated a much lower Google Cloud quota starting 1 July. Could this mean it had to limit the platform because it lost tools for reliably detecting spam accounts and bots, and needed time to build its own approach?
Either way, Twitter decided to mitigate the issue by reducing engagement on the platform, and limiting users. This move likely cost the company some advertising revenue, as fewer impressions overall also means fewer ad impressions. It also highlights that operating a large social media network reliably is challenging when cutting costs is the primary focus, as it has been at Twitter for several months.
In contrast, Instagram Threads enjoyed a major launch with no throttling in place. Threads is clearly built to be a Twitter challenger, by offering the same, text-based social network features. The app launched in the early hours of today (Thursday, 6 July,) and is off to a flying start reaching 10 million sign ups in the first 7 hours:
The pace has not slown much since, and within the first 24 hours, Threads passed 30 million sign ups. Onboarding 30 million new users in less than a day – and applying no rate limiting – is a massive feat for any social network.
For example, another Twitter challenger, Bluesky, launched its app in February 2023. In the 4 months since, the app has grown to 180,000 users, but with another 1.9M people on a waitlist. Bluesky is throttling user onboarding because it needs to scale infrastructure as the app grows, and build moderation tools like blocking or muting, which are increasingly important as a social network grows.
That Meta could pull off a non-throttled launch is very impressive at the scale of tens of millions of users, for two reasons:
- Infrastructure readiness from day one. Threads clearly had the infrastructure – compute, storage and networking – ready to rapidly scale up to millions of active users. It surely helped the Threads team that they could utilize the infrastructure of Instagram. Instagram serves more than 1 billion monthly active users, after all.
- Moderation tools and network dynamics. Moderation is very important for growing social networks. This includes both self-moderation – where users have tools to block or mute others – as well as platform-level moderation like removing hate speech or dealing with harassment. Again, this is an area in which Meta has plenty of in-house expertise from Facebook and Instagram. Surely the Threads team relies on this.
I’d call the Threads launch perfect, based on what I’ve observed so far, except for one detail that makes it less than flawless. The app is available globally, but not in the EU. This limitation likely has to do with the app not yet being GDPR compliant. For example, to delete a Threads profile users also need to delete their Instagram account.
If there was any question over whether Threads is gunning to take Twitter’s spot, Meta CEO Mark Zuckerberg makes this aspiration very clear:
The coming months should be interesting, given Threads will clearly pursue a growth strategy and isn’t worried about infrastructure costs. Meanwhile, Twitter is clearly optimizing infrastructure costs, even at the expense of reduced engagement – and therefore lower growth.
This was one out of the six 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:
- Things picking up at Meta. I spoke with engineers inside the company and learned that several things are suddenly improving, policy-wise. What are these changes? Exclusive.
- Meta’s rapid bounce back. In just 6 months, Meta’s valuation went from its lowest in 7 years, to trending up to an all-time-high valuation. What can we take from this dramatic turnaround? Analysis
- The old concept of ‘slotting’ at Google. Exclusive. Until 2010, Google used a concept called slotting when hiring senior engineers. I talked with an engineer who was in the last batch of this process on what it meant, and why it was discontinued. Exclusive.
- OpsGenie is down – again. A year ago, real-time paging service OpsGenie was down for two weeks for hundreds of companies. Could the reason for the latest outage be a very similar reason to that of last year? If so, why would Atlassian not invest in making its “mission critical” services like OpsGenie more robust? Analysis.
- How does bad weather damage fiber cables? Azure had a regional outage thanks to an intense storm in the Netherlands. But how can strong winds cut through fiber cables? I found first-hand evidence. Beware falling trees.
Featured Pragmatic Engineer Jobs
- Senior DevOps Engineer at Polarsteps. Amsterdam.
- Senior Software Engineer at Ladder. $150-175K + equity. Palo Alto (CA) or Remote (US).
- Senior Software Engineer at GetYourGuide. Berlin, Germany.
- Senior MLOps Engineer at GetYourGuide. Berlin, Germany.
- Senior Software Engineer (Reporting) at CAST.AI. €72-96K + equity. Remote (Europe).
- Senior Software Engineer (Security) at CAST.AI. €60-90K + equity. Remote (Europe).
- Senior Sales Engineer at CAST.AI. Remote (Europe, US).
- Senior Frontend Developer at TalentBait. €60-80K + equity. Barcelona, Spain.
- Technical Lead at Ably. £95-120K + equity. London or Remote (UK).
- Senior Software Engineer, Missions at Ably. £80-100K + equity. Remote (UK).
- Software Engineer at Freshpaint. $130-210K + equity. Remote (US).
- Senior Software Engineer, Developer Ecosystems at Ably. £80-100K. Remote (UK).
- Senior Web Engineer, Activation at Ably. £75-85K. Remote (UK).
- Web Engineer at Ably. £70-75K. Remote (UK).
- Staff Software Engineer at Onaroll. $170-190K + equity. Remote (US).
- Staff Software Engineer at Deepset. Remote (US, Europe).
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.