A Power-Technology Theory of Big Tech's Stack Choices
This post argues that a company's technology stack is a "hash value" of its organizational power structure. Technical decisions reflect the capability relationship between managers and frontline engineers, not pure engineering merit.
Key points
Three power-capability structures and their stack choices
| Structure | Stack tendency | Organizational logic | Case | |---|---|---|---| | Outsider manages experts | Industrialized Java | Strong standards reduce management complexity; toolchains compensate for power insecurity | Alibaba e-commerce | | Expert manages non-experts | Uniform Go | Simplified stack enables scalable, replicable labor | ByteDance's expansion era | | Experts manage experts | Flexible C/C++ → Go | Elite teams pursue max efficiency; scaling forces standardization | Tencent games / early WeChat |
- Alibaba (Java as discipline): Under its "big middle platform, small front-end" strategy, business-background managers (M-track) lead execution-level developers (P5–P6) below a P7–P9 architect middle platform. Spring, Dubbo, and the *Alibaba Java Development Manual* centralize technical decision-making upward; developers become executors of standards. The cost is stack uniformity and innovation constrained to the JVM ecosystem—but management deems this "control cost" worth paying.
- ByteDance (Go's "dimension-reduction strike"): With founder-level technical elites setting standards and a wave of junior hires executing, Go's simple syntax, forced
gofmtuniformity, and built-in concurrency (goroutines/channels) guarantee a quality floor without deep code review. When Go's performance falls short, ByteDance customizes compilers and runtimes ("Beast mode", GAB, CopyGC) rather than delegating language choice—technical centralization outweighs local optimization. - Tencent (from elder rule to bureaucracy): Founder-engineers like Zhang Zhidong fostered "expert-manages-expert" autonomy; C/C++ complexity acted as a guild privilege and moat, with apprenticeship-style growth in game studios. As cloud and fintech BGs scaled, managers could no longer review every line, and Go was pushed as a standardization tool—technical authority yielding to organizational efficiency.
- Meituan runs Java and Go in parallel (store business on Java, delivery on Go)—better explained by old/new organizational fragmentation than capability gaps.
- Path dependency: Alibaba's ~2004 Java choice was rational at the time; accumulated technical debt makes migration infeasible regardless of power structures.
- Corporate politics: The DingTalk vs. WeCom rivalry reflects Alibaba's strong-middleware vs. Tencent's weak-connection cultures; stacks are projections of internal power.
- Java = management-control organizations (bureaucracy via technical standards)
- Go = scale-replication organizations (industrialization of labor via simplification)
- C/C++ = elite-autonomy organizations (member selection via complexity)
Three mechanisms by which power "compiles" into stacks
1. Agency-cost solution: When managers are weaker technically, they pick mature, replaceable, well-monitored technologies (Java) as a "manager's technical proxy." 2. Human-capital standardization: When managers are far stronger, they pick easy-to-learn, style-enforced technologies (Go), "de-skilling" developers into pluggable components. 3. Elite-meritocracy entropy control: Expert-driven C/C++ organizations face rising code entropy and key-person risk as they scale; moving to Go is a "technical democratization" that flattens capability variance.