A cast of 1000s

Mike's Notes

Pipi development is speeding up. The research group meeting last night was productive, with a good discussion and some interesting ideas. Thanks, Alex, for your great idea of the same character crossing over from workspace to workspace. It would demonstrate that the native back-end integration is working.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

03/10/2025

A cast of 1000s

By: Mike Peters
On a Sandy Beach: 01/10/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

The workspace mockups have come together very fast. Most problems are being solved through trial and error as we test the 5,500 web pages.

Coming up soon is the need to create working demos for people to try and provide feedback.

Demo workspaces

I thought creating workspaces for imaginary organisations from fiction would be fun, provide an instant cast of thousands, and no one's nose would be put out of joint. Who else but Mr Bean would pilot a Jumbo Jet?

Contact me if you would like a workspace set up as a working demo, and tell me your favourite fantasy fiction book or film. And who is your favourite character?

Auditions for leading roles

If anyone complains about copyright, I will hold auditions for everyone who missed out. ie King Arthur, Dr Doolittle, Sleeping Beauty, The Three Bears, Pinocchio, Miss Piggy, Roadrunner, Hansel and Gretel, Wiley E. Coyote, etc.

Here is a list to start with.

Account Type Workspace Inspiration
DevOps Cair Parvel Software IO Narnia
Enterprise Ankh-Mopork Film Studios Disc World
Enterprise Galifrey Research Institute of Time Dr Who
Enterprise Gotham Water PLC Batman
Enterprise Minus Tirith Power Co. LOTR
Enterprise Red Baron Air Snoopy
Enterprise Vahalla-Loki Rail Corp Vikings
Enterprise West Klingon Charity Hospital Star Trek
Individual Dr Who Dr Who
Individual Sir Felix the Cat Felix the Cat
Individual Galadrial LOTR
Individual Jabba the Hutt Star Wars
Individual Kermit Sesame Street
Individual Lord Downey Disc World
Individual Mr Magoo Mr Magoo
Individual Paddington Bear Jr. Paddington Bear
SME Latinum App Star Trek

Inside Google’s Engineering Culture: the Tech Stack (Part 2)

Mike's Notes

Part 2. The original article has many links.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscription > Pragamatic Engineer
  • Home > Handbook > 

Last Updated

02/11/2025

Inside Google’s Engineering Culture: the Tech Stack (Part 2)

By: Gergely Orosz and Elin Nilsson
Pragmatic Engineer: 01/10/2025

Deep dive into how Google works from SWEs’ perspectives at the Tech Giant: planet-scale infra, tech stack, internal tools, and more.

“What’s it really like, working at Google?” is the question this mini series looks into. To get the details, we’ve talked with 25 current and former software engineers and engineering leaders between levels 4 and 8. We also spent the past year researching: crawling through papers and books discussing these systems. The process amassed a wealth of information and anecdotes that are combined in this article (and mini-series). We hope it adds up to an unmatched trove of detail compared to what’s currently available online.

In Part 1, we already covered:

An overview of Google

What makes Google special?

  • Levels and roles
  • Compensation
  • Hiring
  • Read Part 1 here.

Today, we dig into the tech stack because one element that undoubtedly makes the company stand out in the industry is that Google is a tech island with its own custom engineering stack.

We cover:

  • Planet-scale infra. Google’s internal infrastructure was built for ‘planet-scale’ by default, but Google Cloud does not support this out of the box; hence, most engineering teams build on Google’s PROD stack, not GCP.
  • Monorepo. Also known as “Google3,” 95% of all Google’s code is stored in one giant repository that has billions of lines. Trunk-based development is the norm. Also, the monorepo doesn’t mean Google has a monolithic codebase.
  • Tech stack. C++, Kotlin, Java, Python, Go, and TypeScript are officially supported, with heavy use of Protobuf and Stubby. Google has language style guides for most languages that are almost always enforced.
  • Dev tooling. A different dev tool stack from any other workplace. Goodbye GitHub, Jenkins, VS Code, and other well-known tools: hello Piper, Fig, Critique, Blaze, Cider, Tricorder, Rosie, and more.
  • Compute and storage. Borg, Omega, Kubernetes, BNS, Borgmon, Monarch, Viceroy, Analog, Sigma, BigQuery, Bigtable, Spanner, Vitess, Dremel, F1, Mesa, GTape, and many other custom systems Google runs on. This infra stack is unlike anywhere else’s.
  • AI. Gemini is integrated inside developer tools and most internal tools – and Google is heavily incentivizing teams to build AI whenever possible. Teams can request GPU resources for fine tuning models, and there’s a pile of internal GenAI projects.

1. Planet-scale infra

Google’s infrastructure is distinct from every other tech company because it’s all completely custom: not just the infra, but also the dev tools. Google is a tech island, and engineers joining the tech giant can forget about tools they’re used to – GitHub, VS Code, Kubernetes, etc. Instead, it’s necessary to use Google’s own version of the tool when there’s an equivalent one.

Planet-scale vs GCP

Internally, Google engineers say “planet scale” as the company’s capacity to serve every human on Earth. All its tooling operates at global scale. That’s in stark contrast to Google Cloud Platform (GCP), with no such “planet-scale” deployment options built in – it’s possible to build applications that can scale that big, but it would be a lot of extra work. Large GCP customers which managed to scale GCP infrastructure to planetary proportions include Snap, which uses GCP and AWS as their cloud backend, and Uber that uses GCP and Oracle, as detailed in Inside Uber’s move to the cloud.

Google doesn’t only run the “big stuff” like Search and YouTube on planet-scale infrastructure; lots of greenfield projects are built and deployed on this stack, called PROD.

As an aside, the roots of database Planetscale (the database Cursor currently runs on) run to Google, and its “planet-scale” systems. Before co-founding Planetscale, Sugu Sougoumarane worked at Google on YouTube, where he created Vitess, an open source database to scale MySQL. Sugu now works on Multigres, an adaptation of Vitess for Postgres. I asked where the name Planetscale comes from. He said:

“The first time I heard the term ‘planet-scale’ was at Google. I chuckled a bit when I heard it because it’s not possible to build a globally-distributed ACID database without trade-offs. But then, Vitess was already running at “planet-scale” at YouTube, with data centers in every part of the world.

So, when we decided to name PlanetScale; it was a bold claim, but we knew Vitess could uphold it.”

Planetscale originally launched with a cloud-hosted instance of Vitess and gained popularity thanks to its ability to support large-scale databases. It’s interesting to see Google’s ‘planet-scale’ ambition injected into a database startup, co-founded by a Google alumnus!

PROD stack

“PROD” is the name for Google’s internal tech stack, and by default, everything is built on PROD: both greenfield and existing projects. There are a few exceptions for things built on GCP; but being on PROD is the norm.

Some Googlers say PROD should not be the default, according to a current Staff software engineer. They told us:

“A common rant that I hear from many Googlers – and a belief I also share – is that very few services need to actually be ‘planet-scale’ on day 1! But the complexity of building a planet-scale service even on top of PROD, actually hurts productivity and go-to-market time for new projects.

Launching a new service takes days, if not weeks. If we used a simpler stack, the setup would take seconds, and that’s how long it ought to take for new projects that might not ever need to scale! Once a project gets traction, there should be enough time to add planet-scale support or move over to infra that supports this.”

Building on GCP can be painful for internal-facing products. A software engineer gave us an example:

“There are a few examples of internal versions of products built on GCP that did have very different features or experiences.

For example, the internal version of GCP’s Pub/Sub is called GOOPS (Google Pub/Sub). To configure GOOPS, you could not use the nice GCP UI: you needed to use a config file. Basically, external customers of GCP Pub/Sub have a much better developer experience than internal users.”

It makes no sense to use a public GCP service when there’s one already on PROD. Another Google engineer told us the internal version of Spanner (a distributed database) is much easier to set up and monitor. The internal tool to manage Spanner is called Spanbob, and there’s also an internal, enhanced version of SpanQSL.

Google released Spanner on GCP as a public-facing service. But if any internal Google team used the GCP Spanner, they could not use Spanbob – and have to do a lot more work just to set up the service! – and could not use the internal, enhanced SpannerSQL. So, it’s understandable that virtually all Google teams choose tools from the PROD stack, not the GCP one.

The only Big Tech not using its own cloud for new products

Google is in a position where none of its “core” products run GCP infrastructure: not Search, not YouTube, not Gmail, not Google Docs, nor Google Calendar. New projects are built on PROD by default, not GCP.

Contrast this with Amazon and Microsoft, which do the opposite:

  • Amazon: almost fully on AWS, and everything new is built on it. Almost all services have moved over to AWS. The “modern stack” is NAWS (Native AWS) and all new projects use it. The rest of the stack is MAWS (Move to AWS); legacy systems yet to move to AWS.
  • Microsoft: heavy use of Azure, with everything new built on it. Microsoft 365, Microsoft Teams, Xbox Live, and GitHub Actions and Copilot operate on top of Azure. Acquisitions like LinkedIn and GitHub are gradually moving to Azure, on which every new project is built by default.

Why do Google’s engineering teams resist GCP?

  • No “planet-scale” support out of the box. A common reason to start with PROD is that it means if the product or service surges in popularity, it can grow infinitely without an infrastructure migration.
  • Superior developer experience with PROD. Spanner is an obvious case; in general, tools built on PROD are much better and easier to work for Google devs.
  • Historic aversion to GCP. 5-10 years ago it was hard to make a case to build anything on GCP. Back then, it was missing several internal systems that were must-haves for internal projects, such as auditing and access controls iterating with internal systems. These days, this has changed but the aversion to GCP hasn’t.

A current Google software engineer summed it up:

“The internal infra is world class and probably the best in the industry. I do think more Google engineers would love to use GCP but the internal infra is purpose-built whereas GCP is more generic to target a wider audience”.

Another software engineer at the company said:

“In the end, PROD is just so good that GCP is a step down in comparison. This is the case for:

    • Security – comes out of the box. GCP needs additional considerations and work
    • Performance – it’s easy to get good performance out of the internal stack
    • Simplicity – trivial to integrate internally, whereas GCP is much more work

A big reason to use GCP is for dogfooding, but doing so comes with a lot of downsides, so teams looking for the best tool just use PROD”.

The absence of a top-down mandate is likely another reason. Moving over from your own infra to use the company’s cloud is hard! When I worked at Skype as part of Microsoft in 2012, we were given a top-down directive to move Skype fully over to Azure. The Skype Data team did that work, who were next to me, and it was a grueling, difficult process because Azure just didn’t have good-enough support or reliability at the time. But as it was a top-down order, it eventually happened anyway! The Azure team prioritized the needs of Skype and made necessary improvements, and the Skype team made compromises. Without pressure from above, the move would have never happened, since Skype had a laundry list of reasons why Azure was suboptimal as infrastructure, compared to the status quo.

Google truly is a unique company with internal infrastructure that engineers consider much better than its public cloud, GCP. Perhaps this approach also explains why GCP is the #3 cloud provider, and doesn’t show many signs of catching AWS and Azure. After all, Google is not giving its own cloud the vote of confidence – never mind a top-down adoption mandate! – as Amazon and Microsoft did with theirs.

2. Monorepo

Google stores all code in one repository called the monorepo – also referred to as “Google3”. The size of the repo is staggering – here are stats from 2016:

  • 2+ billion lines of code
    • 1 million files
    • 9 million source files
  • 45,000 commits per day
    • 15,000 by software engineers
    • 30,000 by automated systems
  • 95% of engineers at Google use the monorepo
  • 800,000 QPS: read requests to the repository at peak, with 500,000 reads/second on average each workday. Most traffic comes not from engineers, but from Google’s automated build-and-test systems.

Today, the scale of Google’s monorepo has surely increased several times over.

The monorepo stores most source code. Notable exceptions are open-sourced projects:

  • Android: Google’s smartphone operating system
  • Chromium: Google’s open source web browser. Google Chrome, Microsoft’s Edge, Opera, Brave, DuckDuckGo Browser and many others are built on top of Chromium.
  • Go: the backend programming language created by Google

As a fun fact, these open source projects were hosted for a long time on an internal Git host called “git-on-borg“ for easy internal access (we’ll cover more on Borg in the Compute and Storage section.) This internal repo was then mirrored externally.

Trunk-based development is the norm. All engineers work in the same main branch, and this branch is the source of truth (the “trunk”). Devs create short-lived branches to make a change, then merge back to trunk. Google’s engineering team has found that the practice of having long-lived development branches harms engineering productivity. The book Software Engineering at Google explains:

“When we include the idea of pending work as akin to a dev branch, this further reinforces that work should be done in small increments against trunk, committed regularly.”

In 2016, Google already had more than 1,000 engineering teams working in the monorepo, and only a handful used long-lived development branches. In all cases, using a long-lived branch boiled down to having unusual requirements, with supporting multiple API versions a common reason.

Google’s trunk-based development approach is interesting because it is probably the single largest engineering organization in the world, and it’s important that it has large platform teams to support monorepo tooling and build systems to allow trunk-based development. In the outside world, trunk-based development has become the norm across most startups and scaleups: tools that support stacked diffs are a big help.

Documentation often lives in the monorepo and this can create problems. All public documentation for APIs on Android and Google Cloud are checked into the monorepo, which means documentation files are subject to the same readability rules as Google code. Google has strict readability constraints on all source code files (covered below). However, with external code, the samples don’t usually follow the internal readability guidelines by design!

For this reason, it has become best practice to have code samples outside of the monorepo, in a separate GitHub repository, in order to avoid the readability review (like naming an example file quickstart.java.txt).

For example, here’s an older documentation example where the source code is in a separate GitHub repository file to avoid Google’s readability review. For newer examples like this one, code is written directly into the documentation file which is set up to not trigger a readability review.

Not all of the monorepo is accessible to every engineer. The majority of the codebase is, but some parts are restricted:

  • The OWNERS file: this file controls the list of the owners of the code. In order to merge anything, you need reviews from at least one engineer in this list. The “OWNERS” model applies to open source projects like Android or Chromium.
  • Silos for sensitive parts: READ permissions are restricted on sensitive projects, or sensitive parts of them. For example, certain prompts in the Gemini project are only readable to engineers working on it.
  • Infra considerations for sensitive projects: infrastructure teams need to access even sensitive projects, so they can set up tooling like codemod (for automated tool transformations). Infra teams usually nominate one or two infra maintainers who are added to the global allowlist to see these sensitive projects, and to help with developer tooling setup and issues.

Architecture and systems design

In 2016, Google engineering manager Rachel Potvin explained that despite the monorepo, Google’s codebase was not monolithic. We asked current engineers there if this is still true, and were told there’s been no change:

“I honestly notice very little difference from orgs that use separate repos, like at AWS. In either case, we had tools to search across all code you have permissions for.” – L6 Engineering Manager at Google.

“The software engineering process is distributed, not centralized. The build system is like Bazel (internally, it’s called Blaze). Individual teams can have their own build target(s) that goes through a separate CI/CD.” – L6 Staff SWE at Google.

Another Big Tech that has been using a monorepo since day one is Meta. We covered more on its monorepo in Inside Meta’s engineering culture.

Each team at Google chooses its own approach to system design, which means products are often differently designed! Similarities lie in the infra and dev tooling all systems use, and low-level components like using Protobuf and Stubby, the internal gRPC. Below are a few common themes from talking with 20+ Googlers:

  • Services are common, everywhere. Google doesn’t really think of them as “microservices” since many are large and complicated. But teams rarely ever target monolithic architectures. When a service gets too big, it’s usually broken into smaller services, mostly for scaling reasons rather than for modularity.
  • Stubby used for service-to-service comms. It’s the default way services talk to one another; gRPC is rare, and usually only for external services.

A current Google engineer summarized the place from an architectural perspective:

“Google feels like many small cathedrals contained in one large bazaar.”

This metaphor derives from the book The Cathedral and the Bazaar, where the cathedral refers to closed-source development (organized, top-down), and the Bazaar is open-source development (less organized, bottom-up.)

A few interesting details about large Google services:

  • YouTube used to be a Python monolith, but later was rewritten in C++ and Java. Years ago, every release had a 50-hour manual release testing cycle run by a remote QA team.
  • Google Search is the largest and most monolithic codebase. It’s the exception not the rule to have monolithic codebases.
  • Ads and Cloud are increasingly using (micro)services.
  • Rewriting services for microservices is an approach Google uses in some cases. Rewriting an app from scratch as microservices (to establish the right level of modularity) is less effort than breaking up the monolith.

3. Tech stack

Officially-supported programming languages

Internally, Google officially supports the programming languages below – meaning there are dedicated tooling and platform teams for them:

  • C++
  • Kotlin and Java
  • Python
  • Go
  • TypeScript and JavaScript

Engineers can use other languages, but they just won’t have dedicated support from developer platform teams.

TypeScript is replacing JavaScript in Google, several engineers told us. The company no longer allows new JavaScript files to be added, but existing ones can be modified.

Kotlin is becoming very popular, not just on mobile, but on the backend. New services are written almost exclusively using Kotlin or Go, and Java feels “deprecated”. The push towards Kotlin from Java is driven by software engineers, most of whom find Kotlin more pleasant to work with.

For mobile, these languages are used:

  • Objective C and Swift for iOS
  • Kotlin for Android (and Java for legacy apps). Also, Rust is regularly used for Android.
  • Dart for Flutter (for cross-platform applications)

Language style guides are a thing at Google and each language has its own style guides. Some examples:

  • Google Java style – the Google Java format tool formats code to be compatible with this style
  • Google TypeScript style
  • Google Python style
  • Google Go style

See all Google language style guides

Interoperability and remote procedure calls

Protobuf is Google’s approach to interoperability, which is about working across programming languages. Protobuf is short for “Protocol buffers”: a language-neutral way to serialize structured data. Here’s an example protobuf definition:

edition = “2024”;
message Person {
string name = 1;
int32 id = 2;
string email = 3;
}

This can be used to pass the Person object across different programming languages; for example, between a Kotlin app and a C++ one.

An interesting detail about Google’s own APIs, whether it’s GRPC, Stubby, REST, etc, is that they are all defined using protobuf. This definition then generates API clients for all languages. And so internally, it’s easy to use these clients and call the API without worrying about underlying protocol.

gRPC is a modern, open source, high-performance remote procedural call (RPC) framework to communicate between services. Google open sourced and popularized this communication protocol, which is now a popular alternative to REST. The biggest difference between REST and gRPC is that REST uses HTTP for human-readable formatting, while gRPC is a binary format and outperforms REST with smaller payloads and less serialization and deserialization overhead. Internally, Google services tend to communicate using the “Google internal gRPC implementation” called Stubby, and to not use REST.

Stubby is the internal version of gRPC and the precursor to it. Almost all service-to-service communication is via Stubby. In fact, each Google service has a Stubby API to access it. gRPC is only used for external-facing comms, such as making external gRPC calls.

The name “stubby” comes from how protobuffers can have service definition, and that stubs can be generated from those functions from each language. And from “stub” comes “stubby.”

4. Dev tooling

In some ways, Google’s day-to-day tooling for developers most clearly illustrates how different the place is from other businesses:

Dev tools at most companies, vs at Google

Let’s go through these tools and how they work at the tech giant:

> The rest of the article is for Pragmatic Engineer Paying subscribers. <

Inside Google’s Engineering Culture: the Tech Stack (Part 1)

Mike's Notes

Fascinating article. It explains a lot about Google. Most of the article is for Pragmatic Engineer paying subscribers.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Pragmatic Engineer
  • Home > Handbook > 

Last Updated

01/11/2025

Article

By: Gergely Orosz and Elin Nilsson
Pragmatic Engineer: 10/09/2025

A broad and deep dive in how Google works, from the perspective of SWEs and eng managers. What makes Google special from an engineering point of view, engineering roles, compensation, and more.

Today, the tech giant Google reaches more people with its products than any other business in the world across all industries, via the likes of Google Search, Android, Chrome, Gmail, and more. It also operates the world’s most-visited website, and the second most-visited one, too: YouTube. Founded in 1998, Google generated the single largest profit ($115B after all costs and taxes) of all companies globally, last year.

Aside from its size, Google is known for its engineering-first culture, and for having a high recruitment bar for software engineers who, in return, get a lot of autonomy and enjoy good terms and conditions. Employees are known as “Googlers,” and new joiners – “Nooglers” – get fun swag when they start. An atmosphere of playful intellectual curiosity is encouraged in the workplace, referred to internally as “Googleyness” – more on which, later. This culture is a major differentiator from other Big Tech workplaces.

But what is it really like to work at Google? What’s the culture like, how are things organized, how do teams get things done – and how different is Google from any other massive tech business, truly?

This article is a “things I wish I’d known about Google before joining as an SWE / engineering manager”. It’s for anyone who wants to work at Google, and is also a way to learn, understand, and perhaps get inspired by approaches that work for one of the world’s leading companies.

This mini-series of articles focusing on Google contains more information about more aspects of its engineering culture than has been published in one place before, I believe. We’ve spent close to 12 months researching it, including having conversations with 25 current and former engineering leaders and software engineers at Google; the majority of whom are at Staff (L6) level or above.

Of course, it’s impossible to capture every detail of a place with more than 60,000 software engineers, and whose product areas (Google’s version of orgs) and teams work in different ways. Google gives a lot of freedom to engineers and teams to decide how they operate, and while we cannot cover all that variety, we aim to provide a practical, helpful overview.

In part 1 of this mini-series, we cover:

  1. Overview. Google generates more revenue than Microsoft and Meta, and is the Big Tech giant that likely employs the most software engineers across 25+ engineering offices. The mission statement is to “organize the world's information and make it universally accessible and useful.”
  2. What makes Google special? Behind the variety of approaches to work is a universal engineering culture for tools and practices. Google has a unique, custom engineering stack, and has built systems differently from competitors since day one, making it a “tech island”. Google has historically been more open than other Big Tech companies about its inner workings. With 120+ active products, it is most similar to Microsoft in the breadth of work it does, and in the opportunities there are for software engineers to work on different things.
  3. Levels and roles. There’s a dual-track career ladder between levels L2 and L11, and a Tech Lead Manager (TLM) role as a “third career path”. Google’s leveling process during interviews is the strictest in the industry, and “tech lead” is a role, not a level. Other engineering roles include SRE, EngProd, Research Scientist, DevRel, and UXE. Other roles that interact with engineering include Product Managers, Program Managers, TPMs, designers, and tech writers.
  4. Compensation. Google pays at the top of regional markets, and is known for its standout compensation which includes base pay, equity, cash bonus, and sometimes a signing-on bonus. Examples of this top-of-market pay:
    • Mid-level engineer (L4) usually pays in the range of:
      • $250-350K in total compensation in the US
      • Other regions: £125-185K in the UK, €140-180K in Germany, CHF 210-260K in Switzerland, CA$210-280K in Canada, A$200-280K in Australia, zł380-450K in Poland, and ₹65-88 lakh in India
    • Staff software engineer (L6) usually pays in the range of:
      • $550-700K in total compensation in the US
      • Other regions: £270-380K in the UK, €250-330K in Germany, CHF 370-500K in Switzerland, CA$420-650K in Canada, A$350-550K in Australia, zł750-850K in Poland, and ₹1.5-2.2 crore in India
    • We cover entry-level (L3), senior (L5), senior staff (L7) packages, and also Google-specific bonuses like peer bonuses, spot bonuses, and award programmes.
    • Google is one of few companies to offer a financially rewarding career path for engineers which doesn’t push them into management
  5. Hiring. Google has a notoriously difficult interview process which is copied by many other tech companies. Data structures and algorithms interviews, system design, “Googleyness”, and leadership interviews are also features of recruitment, and some teams use domain deepdives and takehomes. Final recruitment decisions are made by a Hiring Committee, but that’s still not the end of the process – successful candidates then go through “team matching”.

In Part 2, we additionally cover:

  • Planet-scale infra. Google’s internal infrastructure was built for ‘planet-scale’ by default, but Google Cloud does not support this out of the box; hence, most engineering teams build on Google’s PROD stack, not GCP.
  • Monorepo. Also known as “Google3,” 95% of all Google’s code is stored in one giant repository that has billions of lines. Trunk-based development is the norm. Also, the monorepo doesn’t mean Google has a monolithic codebase.
  • Tech stack. C++, Kotlin, Java, Python, Go, and TypeScript are officially supported, with heavy use of Protobuf and Stubby. Google has language style guides for most languages that are almost always enforced.
  • Dev tooling. A different dev tool stack from any other workplace. Goodbye GitHub, Jenkins, VS Code, and other well-known tools: hello Piper, Fig, Critique, Blaze, Cider, Tricorder, Rosie, and more.
  • Compute and storage. Borg, Omega, Kubernetes, BNS, Borgmon, Monarch, Viceroy, Analog, Sigma, BigQuery, Bigtable, Spanner, Vitess, Dremel, F1, Mesa, GTape, and many other custom systems Google runs on. This infra stack is unlike anywhere else’s.
  • AI. Gemini is integrated inside developer tools and most internal tools – and Google is heavily incentivizing teams to build AI whenever possible. Teams can request GPU resources for fine tuning models, and there’s a pile of internal GenAI projects.

Read Part 2 here.

This article is around twice as long as most deepdives; there are just so many details worth sharing about Google!

For similar deepdives, see 

  • Inside Meta’s engineering culture
  • Inside Amazon’s engineering culture
  • and other engineering culture deepdives — including that of OpenAI, Stripe and Figma.

Programming note: this week, an episode of The Pragmatic Engineer Podcast will be released tomorrow (Wednesday), and there will be no edition of The Pulse.

> The rest of the article is for Pragmatic Engineer Paying subscribers. <

This Is How the AI Bubble Will Pop

Mike's Notes

This greed-driven frenzy over AI has built a massive speculative bubble. It confirms what I have read from Ray Dalio, Jim Miller, John Maudlin, Jack Barnes, Dr Doom, et al.

 I discovered this article via Amazing CTO.

When Ajabbi get financial, it will hold gold.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Amazing CTO
  • Home > Handbook > 

Last Updated

31/10/2025

This Is How the AI Bubble Will Pop

By: Derek Thompson
Derek Thompson: 02/10/2025

The AI infrastructure boom is the most important economic story in the world. But the numbers just don't add up.

Some people think artificial intelligence will be the most important technology of the 21st century. Others insist that it is an obvious economic bubble. I believe both sides are right. Like the 19th century railroads and the 20th century broadband Internet build-out, AI will rise first, crash second, and eventually change the world.

The numbers just don’t make sense. Tech companies are projected to spend about $400 billion this year on infrastructure to train and operate AI models. By nominal dollar sums, that is more than any group of firms has ever spent to do just about anything. The Apollo program allocated about $300 billion in inflation-adjusted dollars to get America to the moon between the early 1960s and the early 1970s. The AI buildout requires companies to collectively fund a new Apollo program, not every 10 years, but every 10 months.

Exponential View

It’s not clear that firms are prepared to earn back the investment, and yet by their own testimony, they’re just going to keep spending, anyway. Total AI capital expenditures in the U.S. are projected to exceed $500 billion in 2026 and 2027—roughly the annual GDP of Singapore. But the Wall Street Journal has reported that American consumers spend only $12 billion a year on AI services. That’s roughly the GDP of Somalia. If you can grok the economic difference between Singapore and Somalia, you get a sense of the economic chasm between vision and reality in AI-Land. Some reports indicate that AI usage is actually declining at large companies that are still trying to figure out how large language models can save them money.

Every financial bubble has moments where, looking back, one thinks: How did any sentient person miss the signs? Today’s omens abound. Thinking Machines, an AI startup helmed by former Open AI executive Mira Murati, just raised the largest seed round in history: $2 billion in funding at a $10 billion valuation. The company has not released a product and has refused to tell investors what they’re even trying to build. “It was the most absurd pitch meeting,” one investor who met with Murati said. “She was like, ‘So we’re doing an AI company with the best AI people, but we can’t answer any questions.” Meanwhile, a recent analysis of stock market trends found that none of the typical rules for sensible investing can explain what’s going on with stock prices right now. Whereas equity prices have historically followed earnings fundamentals, today’s market is driven overwhelmingly by momentum, as retail investors pile into meme stocks and AI companies because they think everybody else is piling into meme stocks and AI companies.

Every economic bubble also has tell-tale signs of financial over-engineering, like the collateralized debt obligations and subprime mortgage-backed securities that blew up during the mid-2000s housing bubble. Ominously, AI appears to be entering its own phase of financial wizardry. As the Economist has pointed out, the AI hyperscalers—that is, the largest spenders on AI—are using accounting tricks to depress their reported infrastructure spending, which has the effect of inflating their profits1. As the investor and author Paul Kedrosky told me on my podcast Plain English, the big AI firms are also shifting huge amounts of AI spending off their books into SPVs, or special purpose vehicles, that disguise the cost of the AI build-out.

My interview with Kedrosky received the most enthusiastic and complimentary feedback of any show I’ve done in a while. His level of insight-per-minute was off the charts, touching on:

  • How AI capital expenditures break down
  • Why the AI build-out is different from past infrastructure projects, like the railroad and dot-com build-outs
  • How AI spending is creating a black hole of capital that’s sucking resources away from other parts of the economy
  • How ordinary investors might be able to sense the popping of the bubble just before it happens
  • Why the entire financial system is balancing on big chip-makers like Nvidia
  • If the bubble pops, what surprising industries will face a reckoning

Below is a polished transcript of our conversation, organized by topic area and adorned with charts and graphs to visualize his points. I hope you learn as much from his commentary as much as I did. From a sheer economic perspective, I don’t think there’s a more important story in the world.

AI SPENDING: 101

Derek Thompson: How big is the AI infrastructure build-out?

Paul Kedrosky: There’s a huge amount of money being deployed and it’s going to a very narrow set of recipients and some really small geographies, like Northern Virginia. So it’s an incredibly concentrated pool of capital that’s also large enough to affect GDP. I did the math and found out that in the first half of this year, the data-center related spending—these giant buildings full of GPUs [graphical processing units] and racks and servers that are used by the large AI firms to generate responses and train models—probably accounted for half of GDP growth in the first half of the year. Which is absolutely bananas. This spending is huge.


JP Morgan chart showing the rising contribution to GDP growth from tech capex

Thompson: Where is all this money going?

Kedrosky: For the biggest companies—Meta and Google and Amazon—a little more than half the cost of a data center is the GPU chips that are going in. About 60 percent. The rest is a combination of cooling and energy. And then a relatively small component is the actual construction of the data center: the frame of the building, the concrete pad, the real estate.

HOW AI IS ALREADY WARPING THE 2025 ECONOMY

Thompson: How do you see AI spending already warping the 2025 economy?

Kedrosky: Looking back, the analogy I draw is this: massive capital spending in one narrow slice of the economy during the 1990s caused a diversion of capital away from manufacturing in the United States. This starved small manufacturers of capital and made it difficult for them to raise money cheaply. Their cost of capital increased, meaning their margins had to be higher. During that time, China had entered the World Trade Organization and tariffs were dropping. We’ve made it very difficult for domestic manufacturers to compete against China, in large part because of the rising cost of capital. It all got sucked into this “death star” of telecom.

So in a weird way, we can trace some of the loss of manufacturing jobs in the 1990s to what happened in telecom because it was the great sucking sound that sucked all the capital out of everywhere else in the economy.

The exact same thing is happening now. If I’m a large private equity firm, there is no reward for spending money anywhere else but in data centers. So it’s the same phenomenon. If I’m a small manufacturer and I’m hoping to benefit from the on-shoring of manufacturing as a result of tariffs, I go out trying to raise money with that as my thesis. The hurdle rate just got a lot higher, meaning that I have to generate much higher returns because they’re comparing me to this other part of the economy that will accept giant amounts of money. And it looks like the returns are going to be tremendous because look at what’s happening in AI and the massive uptake of OpenAI. So I end up inadvertently starving a huge slice of the economy yet again, much like what we did in the 1990s.

Thompson: That’s so interesting. The story I’m used to telling about manufacturing is that China took our jobs. “The China shock,” as economists like David Autor call it, essentially took manufacturing to China and production in Shenzhen replaced production in Ohio, and that’s what hollowed out the Rust Belt. You’re adding that telecom absorbed the capital.

And now you fast-forward to the 2020s. Trump is trying to reverse the China shock with the tariffs. But we’re recreating the capital shock with AI as the new telecom, the new death star that’s taking capital that might at the margin go to manufacturing.

Kedrosky: It’s even more insidious than that. Let’s say you’re Derek’s Giant Private Equity Firm and you control $500 billion. You do not want to allocate that money one $5 million check at a time to a bunch of manufacturers. All I see is a nightmare of having to keep track of all of these little companies doing who knows what.

What I’d like to do is to write 30 separate $50 billion checks. I’d like to write a small number of huge checks. And this is a dynamic in private equity that people don’t understand. Capital can be allocated in lots of different ways, but the partners at these firms do not want to write a bunch of small checks to a bunch of small manufacturers, even if the hurdle rate is competitive. I’m a human, I don’t want to sit on 40 boards. And so you have this other perverse dynamic that even if everything else is equal, it’s not equal. So we’ve put manufacturers who might otherwise benefit from the onshoring phenomenon at an even worse position in part because of the internal dynamics of capital.

Thompson: What about the energy piece of this? Electricity prices rising. Data centers are incredibly energy thirsty. I think consumers will revolt against the construction of local data centers, but the data centers have enormous political power of their own. How is this going to play out?

Kedrosky: So I think you’re going to rapidly see an offshoring of data centers. That will be the response. It’ll increasingly be that it’s happening in India, it’s happening in the Middle East, where massive allocations are being made to new data centers. It’s happening all over the world. The focus will be to move offshore for exactly this reason. Bloomberg had a great story the other day about an exurb in Northern Virginia that’s essentially surrounded now by data centers. This was previously a rural area and everything around them, all the farms sold out, and people in this area were like, wait a minute, who do I sue? I never signed up for this. This is the beginnings of the NIMBY phenomenon because it’s become visceral and emotional for people. It’s not just about prices. It’s also about: If you’ve got a six acre building beside you that’s making noise all the time, that is not what you signed up for.

A very specific prediction for how and why AI bubble will pop

> The rest of the article is for Derek Thompson paying subscribers. <

Workspace Menu

Mike's Notes

Working draft for the outline of the workspace menu. Testing now, all subject to change.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

2/11/2025

Workspace Menu

By: Mike Peters
On a Sandy Beach: 30/10/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Every Workspace comes with several types of menus (explained here for left-to-right writing systems)

  • Every workspace has 3 Standard 1 menus to the left.
  • Each workspace has some unique Workspace-specific menus.
  • Some workspaces have one or more Context menus.
  • Every workspace has 3 Standard 2 menus to the right.

Menu types

  • Standard 1
    • Home
    • File
    • Edit
  • Workspace-specific
    • Arrange
    • Bookmarks
    • Design
    • Layout
    • Presentation
    • Network
    • Translate
    • etc
  • Context
    • Data Model 
    • Import Data
    • Schema
    • Freight Consignment
    • etc
  • Standard 2
    • View
    • Window
    • Help

Menu hierarchy example

  • Home (Standard 1)
    • Dashboard
    • Preferences
    • Workspaces

  • File (Standard 1)
    • New
    • Open
    • ---------------
    • Close
    • Save
    • Save As
    • Revert
    • Delete
    • ---------------
    • Page setup
    • Print
    • ---------------
    • Info
      • Versions
    • Import
    • Export
    • ---------------
    • Exit
  • Edit (Standard 1)
    • Cut
    • Copy
    • Paste
    • Clear
    • Select All
    • ---------------
    • Show Clipboard
  • --------------------------------------------------------
  • Design (Workspace-specific)
    • Font
      • Font Type
      • Font Size
    • Paragraph
    • Style
    • Editing
  • Bookmarks (Workspace-specific)

  • Arrange (Workspace-specific)
    •  
  • --------------------------------------------------------
  • Context 1 (Context)

  • Context 2 (Context)

  • Context 3 (Context)

  • --------------------------------------------------------
  • View (Standard 2)
    • Show
    • Zoom
  • Window (Standard 2)
    • Dashboard
      • Arrange
    • Workspace
    • Settings
      • Language
      • Acessibility
      • Time Zone
    • Updates
  • Help (Standard 2)
    • Help
    • Feedback
      • Roadmap
      • Vote
      • Feature Request
    • Support
      • Forum
      • Chat
      • Office Hours
      • Contact
    • Training
      • Docs
      • How-to-guide
      • Tutorials
      • Reference
    • About Pipi

Menu Config Database

Already built and tested. Stores all tab and tool definitions.

Layout options

The workspace menu UI will come in several layout options, mirroring popular platforms. People will be able to choose whatever they prefer in settings. DevOps account developers will be able to create more options for users to choose from. A quick survey of layout looks includes;

  • "Ribbon"
  • "Like Google Workspace"
  • Pipi 4
  • "Like Adobe"
  • "Like Service Now"
  • "Like Zoho"
  • "Like Odoo"
  • "Like Netsuite"
  • etc
I personally prefer minimalist.

Acessibility

There will be menu UI options for screen readers, braille, and other accessibility features.

Ribbon layout

I'm working on the static ribbon version of the workspace menu. The CSS and working versions will use MetroUI CSS and HTMX.

The workspace "ribbon-like" menu and tabs roughly follow common conventions used by other software, so people don't get lost. With 3 context tabs reserved for any situation. The first draft will be used for running experiments.

What's next

Replace all 3,800 HTML Workspace files with the changes.

Lots of trial-and-error experimenting is next. You can watch by visiting the workspace mockup.

The design system docs will need to be updated.

Asked to do something illegal at work? Here’s what these software engineers did

Mike's Notes

No excuse ever for being a crook. Amazing CTO had a link to this article on Pragmatic Engineer.

Resources

References

  • The Software Engineer's Guidebook, by Gergely Orosz.

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Amazing CTO
  • Home > Ajabbi Research > Library > Subscriptions > Pragmatic Engineer
  • Home > Handbook > 

Last Updated

29/10/2025

Asked to do something illegal at work? Here’s what these software engineers did

By: Gergely Orosz
Pragmatic Engineer: 02/10/2025

Writing The Pragmatic Engineer. Previously at Uber, Skype, Microsoft. Author of The Software Engineer's Guidebook..

Update on 2 Oct 2025: back in 2021, Charlie Javice, CEO of student loan startup Frank pressured a software engineer to inflate customer numbers. She told the engineer that she did not believe that anyone would end up in an ‘orange jumpsuit’ just for this. Still, the engineer refused – and was proven right. Javice, in fact, did end up in an orange jumpsuit, sentenced to 7 years of prison in 2025 for fraud.

The below topic was sent out to full subscribers of The Pragmatic Engineer, three weeks ago, in The Pulse #66. I have received several messages from people asking if they can pay to “unlock” this information for others, given how vital it is for software engineers. It is vital, and so I’m sharing this with all readers, without a paywall. In the unlikely case that you are asked to do something fishy or illegal: I hope the below will help decide how to do the right thing.

What would you do if you learned your company is up to something illegal like stealing customer funds, or you’re asked to make code changes that will enable something illegal to happen, like misleading investors, or defrauding customers? Here are three real-life cases, where what engineers and engineering managers did had serious consequences.

FTX: an engineering director went along with the fraud

A trial related to FTX, the cryptocurrency exchange which allegedly defrauded investors of $9B, is ongoing. Day 9 of the trial of former FTX CEO Sam Bankman-Fried trial, heard testimony from Nishad Singh, who joined the business as a software engineer, and later became an engineering director. Here is software engineer and writer Molly White summarizes of his evidence:

“To hear Singh tell it, he didn’t even really realize what was going on at FTX and Alameda Research until September 2022 — only a month or two before everything came crashing down. (...) Several times throughout various testimonies, we’ve seen a document written by Sam Bankman-Fried, in which he describes his thinking that Alameda Research should be shut down. That document was, ultimately, how Singh learned in September 2022 that Alameda Research had taken billions of dollars of customer funds from FTX. 

This was when Gary Wang told Singh that Alameda was borrowing massive amounts of customer money from FTX — at the time, around $13 billion of it. Singh testified that he felt ‘really afraid’, and called an in-person meeting immediately. Bankman-Fried, who was sitting next to Singh at the time, ‘seemed unsurprised and made up what I understood to be a false excuse for dodging the meeting.’ Singh, Ellison, and Wang met without him, and Singh confirmed his fears: that he had not misunderstood Wang, and that Alameda had actually taken customer funds to that extent.”

Okay, so in September 2022, Singh had confirmation that something illegal was happening at the company, which he had no direct knowledge of, until then. At that point, if he wanted to avoid being an accomplice to potentially illegal activity, his options were:

  • Talk to a lawyer on how to avoid assisting a crime
  • Turn whistleblower. See the tech whistleblower guide
  • Quit the company, ensuring he did not further aid this activity 

The smart thing would have been to do #1. The profitable thing could have been to do #2 because in the US, a whistleblower may receive a whistleblower reward of between 10-30% of what the government recovers from fraudulent activities. The final choice #3 is hard, but could have meant Singh would not have had to plead guilty as he did. 

Here’s what Singh did instead: he asked for a personal meeting with Bankman-Fried and confronted him about the missing funds. However, Bankman-Fried replied there not much to worry about, and that they’d repay the funds by raising more money from investors (!!) This should have been the point at which Singh quit. Instead:

“He thought about leaving the company then, he testified, but worried that his departure could cause everything to fall apart. He felt that if he stayed, maybe he could help the companies make back what they owed.”

For the next two months, Singh tried to make things better, but it was fruitless. FTX collapsed in November 2022.

Lesson #1: when you discover fraud may be happening, do not “stay around to fix it.” Any other approach would have been better for Singh; seeking legal advice, turning whistleblower, or quitting on the spot.

To be fair, Singh didn’t seen totally clueless, and it seems he decided to profit on the developments. Days after he found about this fraud, he took a $3.7M loan from FTX (!!) to buy a house, The Verge pointed out. It’s exactly the type of thing you don’t want to do after you discover fraud.

Now, Singh is facing up to 75 years in jail thanks to his decision to aid the company after discovering the fraud. His sentence will most likely be reduced due to his plea deal, but any course of action which leads to a criminal conviction is surely a grave error of judgment.

Update in Oct 2025: in the end, Nishad Singh was spared from prison, and received 3 years of supervised release. The judge was persuaded that Singh’s involvement with the fraud was far more limited than that of FTX founder Sam Bankman-Fried or Caroline Ellison, the former CEO of sister hedge fund Alameda Research.

Frank: a software engineer refuses to fake customer data

Frank was a student loan startup founded by Charlie Javice in 2016. In 2019, Javice was featured on the Forbes “30 under 30” finance list, suggesting she was a high-flying founder:


How Charlie Javice appeared on the Forbes 30 under 30 list in 2019. We now know the 300,000 user number was fake. Source: Forbes

It certainly seemed like Charlie Javice was a standout founder; in 2021, JP Morgan purchased Frank for $175M. However, things turned sour quickly. JP Morgan thought it bought a startup with 5 million customers, which worked with 6,000 schools. But after the purchase, this data was found to be mostly fake.

Let’s get to a software engineer’s involvement. This April, founder Charlie Javice was arrested, and a lawsuit is ongoing between her, former Chief Growth Officer Olivier Amar, and JP Morgan. From to this lawsuit, we get an inside look at how events unfolded inside Frank.

In 2021, an engineer was asked to produce fake data for 4.2M non-existent customers. As acquisition talks were ongoing, JP Morgan wanted to validate that Frank had the nearly 5M customers it claimed. In reality, Frank had 293,000 customers, so the CEO asked an engineer to fake the data and turn this list into 4.2M members. Here’s what happened next – from the lawsuit:

“[In 2021] Javice [CEO], Amar [Chief Growth Officer] and the Director of Engineering then had a Zoom meeting during which Javice and Amar asked the Director of Engineering to help them create a synthetic list of customer data. She asked the Director of Engineering if he could help take a known set of FAFSA application data and use it to artificially augment a much larger set of anonymous data tht her systems had collected over time.

The Director of Engineering questioned whether creating and using such a data set was legal, but Javice tried to assure the engineer by claiming that this was perfectly acceptable in an investment situation and she did not believe that anyone would end up in an ‘orange jumpsuit’ over this project.”

Lesson #2: when your manager claims they don’t believe anyone would end up in an “orange jumpsuit,” assume that someone definitely could. The engineering director’s next step? They refused:

“The Director of Engineering was not persuaded and told Javice and Amar that he would not perform the task, and only would send them the file containing Frank’s actual users, which amounted to approximately 293,000 individuals at the time.”

And this engineering director played it right, as the people who are likely to go to jail and end up in orange jumpsuits are the other two people on the call, who knowingly went along with the illegal.

Pollen: an engineer told to double charge customers by the CEO

Last year, I published my first – and to date only– investigative article on how events tech startup Pollen raised $200M and then collapsed, owing months of wages to staff. In the investigation, I focused on an unusual detail: $3.2M worth of funds taken months early from customers. The incident was described internally by Pollen as a mistake, and an incident review should have followed. Even more confusing, the company blamed the payments processor Stripe for the incident.

The reality was that this was a very deliberate double charge. I could not share this fact at the time – as the company threatened me with libel after I informed them of this detail – but the BBC has now produced a documentary revealing details about this deliberate double charge that was covered up as an outage. From the documentary:

[Narrator] “Pollen initially told some customers that the problem was with their payments provider. Later, Callum [the CEO] addressed his staff who were demanding to know what happened.”

[CEO of Pollen talking] “All that happened was that a couple millions of dollars of payment plans that were due to be paid at a later month were then paid earlier. It’s being investigated. We’ve committed already that once that investigation is done, it will be shared with the company so that people understand what happened.”

[Narrator] “With over 1,500 customers impacted, rumors began to circulate about the causes of the incident.”

[Dan Taylor, managing editor at Tech.eu] “From my understanding, there was a creative code ‘malfunction’ that all of the sudden, double charged customers. But that double charge magically happened to meet Pollen’s payroll, that month. Hmm! Odd, don’t you think?”

[Narrator] “The internal investigation due to be shared with the company was never completed, but a group of Pollen staff did their own, unofficial digging. (...) The code contained in the report confirms that the customer's monthly payment plans had been manually altered, which meant that double or triple charges will take place on a single day, without the customer’s authorization.”

The engineer making this change even did a test run the day before, to ensure that this code change “correctly” double charges customers! A former Pollen software engineer appearing in the documentary also makes the point that any code changing production code in payments needs to go through code review, so whoever made this change could have not been acting alone.

Two days after the incident, a senior engineering team member sent an internal chat message to 3 colleagues, where they admit that they had run the script at the request of the CEO. Here is what this message said:

“Also want to come clean that it was me who ran a bad script - in hindsight I wasn’t knowledgeable enough to alter a subset of payment plans for Balvin [one of the events organized by Pollen]. I did this as a special request from Callum and didn’t want to raise on call to handle. It’s been a long week and I displayed a very poor form of judgement.”

In the video, a Pollen software engineer is shown the message, and he says: “I’m not sure I buy this. It seems a bit fishy.”

Lesson #3: if the CEO asks you to do something potentially illegal – document it, and consider not doing it. We don’t know what happened with the senior engineering member who carried out the code changes, following a request from the CEO. This person could have said no, like the engineering director at Frank did. The message sent a few days ago already said that this person regretted doing so, and it’s unlikely that this action was worth the risk it carried.

Update in Oct 2025: no criminal charges that I am aware of have been made related to this double charging at Pollen.

If you take one lesson from this, it’s that you can always say no. In these three stories, the only engineer who’s legally safe is the former engineering director at Frank who point blank refused to assist what could be an illegal request. The engineering director at FTX who stayed after he confirmed fraud was occurring is now facing jail time, while the senior engineering member at Pollen is at the mercy of the UK police, and how they deal with what could be a potential wire fraud case. 

Subscribe to my weekly newsletter to get articles like this in your inbox. It's a pretty good read - and the #1 tech newsletter on Substack.

The Pragmatic Engineer Podcast

Deepdives with experienced engineers and tech professionals who share their hard-earned lessons, interesting stories and advice they have on building software.

Listen to it on Spotify, on Apple, on YouTube, or on the web.

The Software Engineer's Guidebook

I wrote The Software Engineer's Guidebook. Here is what Tanya Reilly, senior principal engineer and author of The Staff Engineer's Path says about it:

"From performance reviews to P95 latency, from team dynamics to testing, Gergely demystifies all aspects of a software career. This book is well named: it really does feel like the missing guidebook for the whole industry."

The Software Engineer's Guidebook

Get the book here.

Annual conference talk

I do one conference talk every year. My last one was at LDX3 (formerly: LeadDev) in London, on 16 June 2025. You can now watch the full talk, online:

Software engineering with LLMs in 2025: reality check

LDX3 is running conferences in New York and in Berlin in the fall of 2025. If you're an engineering leader, check them out.