Analysis of Why Top Engineers in Big Tech Write Poor-Quality Code

# How Good Engineers Write Bad Code at Big Tech Companies

Every couple of years, [someone](https://ziglang.org/news/migrating-from-github-to-codeberg/) or [another observer](https://github.com/microsoft/terminal/issues/10362) points out that **large tech companies sometimes produce surprisingly sloppy code**.

If you haven’t worked at a big company, this might seem puzzling.  
Big Tech firms pay well enough to attract competent engineers and move slowly enough to *seem* capable of high-quality output.

So **how does bad code happen**?

---

## 1. Most Code Changes Are Made by Relative Beginners

The main reason: **Big companies are full of engineers working outside their area of expertise.**

### Why This Happens

- **Short tenure:** The average big tech employee stays only [a year or two](https://stackoverflow.blog/2022/04/19/whats-the-average-tenure-of-an-engineer-at-a-big-tech-company-ep-434/)[¹](#fn-1).  
- **Compensation dynamics:** Stock grants vest over 4 years — after that, pay can drop by up to 50%, encouraging moves to new roles.
- **Frequent re-orgs:** Engineers are moved between teams often — sometimes once a year or more.

### Impact
Engineers rarely build deep domain expertise in a single system. This leads to code written by people:

- New to the company
- New to the codebase
- Sometimes even new to the programming language itself

Many services in Big Tech run for **a decade or more**, passing through multiple owners, meaning **most changes are made by “beginners”** in that specific code.

---

## 2. The Role of “Old Hands”

“Old hands” are experienced engineers who know a system deeply. They can spot issues in reviews. However:

**Two key problems:**

1. **Informal process**  
   - Companies rarely make formal efforts to develop or retain deep expertise.
   - “Old hands” often get moved to new services, leaving their former systems without expert oversight.

2. **Overload**  
   - Experts are too busy to personally review every change.  
   - They must balance mentoring/review with their own deliverables.

---

## 3. Median Productive Engineer Profile

The median productive engineer at Big Tech is:

- Competent enough to pass hiring
- Working in a new codebase/language **OR** overloaded with a flood of changes and deadlines
- Operating under multiple overlapping pressures

**Result:** They’re doing their best in an environment **not designed** to produce high-quality code.

---

## 4. How Bad Code Ship Happens — Example

Imagine:

1. A junior engineer gets a ticket for a bug in an unfamiliar system.
2. They produce a hacky fix after days of figuring it out.
3. An “old hand” reviews briefly, suggests a *slightly better* workaround.
4. Junior engineer implements, tests, ships.
5. Everyone moves on.  
6. Five years later, someone sees it and asks: *“Wow, how did this pass at a big company?”*

---

## 5. Why Big Tech Is Fine With This

As argued in [*Seeing Like a Software Company*](https://www.seangoedecke.com/seeing-like-a-software-company):

- Big Tech values **internal legibility** — being able to reassign engineers instantly — over specialist productivity.
- They *deliberately* trade expertise and code quality for agility.

**Outcome:** Even highly skilled engineers will produce subpar code in unfamiliar systems.  
Individual engineers have little power to change this dynamic.

---

## 6. Pure vs. Impure Engineering

- **Pure engineers:** self-contained projects (e.g., building a programming language). Bad code usually means incompetence.
- **Impure engineers:** work under deadlines on unfamiliar projects. Bad code is inevitable as long as the system functions adequately.

At Big Tech, **the company decides** whether your work is pure or impure — not you.

---

## 7. Responsibility

It’s fair to call out bad code publicly — it can prompt fixes.  
But blaming engineers often misdiagnoses the root cause:  
**most engineers are required to work in unfamiliar codebases**.

Even if you doubled every engineer’s skill immediately, **bad code would still happen**.

---

### Footnotes

1. A 2013 PayScale [report](https://www.payscale.com/data-packages/employee-loyalty/least-loyal-employees) cites median turnover at Google as only 1.1 years.  
   [↩](#fnref-1)

---

## 8. Related Concepts

For more on navigating organizational reality as an engineer:

- **[Not Your Codebase](https://www.seangoedecke.com/not-your-codebase)**
- **[Pure and Impure Engineering](https://www.seangoedecke.com/pure-and-impure-engineering)**
- **[Balance of Power Shift](https://www.seangoedecke.com/good-times-are-over)**

---

## 9. Practical Adaptation

For individual engineers:
- Aim to become the “old hand” in at least one domain.
- Develop deep knowledge to block bad proposals and influence decisions.

**Caution:** This often means swimming against the organizational current.

---

## 10. Tools for Cross-Platform Efficiency

With distributed teams and frequent project switches, tools that unify generation, publishing, and analytics can mitigate quality erosion.  
One example: **[AiToEarn官网](https://aitoearn.ai/)**

**Features:**
- Open-source AI content monetization platform
- AI generation
- Automated cross-platform publishing
- Analytics & model ranking
- Supports platforms like Douyin, Kwai, WeChat, Bilibili, Facebook, Instagram, LinkedIn, Threads, YouTube, Pinterest, and X (Twitter)

---

## 11. How I Influence Tech Company Politics as a Staff Software Engineer

Many engineers believe engaging in politics is pointless because they can’t maneuver like corporate operators.  
This is true — complex scheming is risky without organizational power or experience.

[Continue reading...](https://www.seangoedecke.com/how-to-influence-politics/)

---

## 12. Extending Influence Beyond Politics

In modern professional life, influence isn’t just internal — it’s also public.  
Platforms like [AiToEarn官网](https://aitoearn.ai/) let you:

- Use AI to create and publish across LinkedIn, Twitter, Bilibili, Douyin, and more
- Monetize creativity via open-source ecosystems

This can help engineers amplify impact, share insights, and connect beyond company boundaries.

---

Read more

Translate the following blog post title into English, concise and natural. Return plain text only without quotes. 哈佛大学 R 编程课程介绍

Harvard CS50: Introduction to Programming with R Harvard University offers exceptional beginner-friendly computer science courses. We’re excited to announce the release of Harvard CS50’s Introduction to Programming in R, a powerful language widely used for statistical computing, data science, and graphics. This course was developed by Carter Zenke.