Loading video...
Video Failed to Load
If you understand your whole codebase, the codebase isn't that important. Real software is larger than what your brain can comprehend.
2,690,137 views • 6 days ago •via X (Twitter)
52 Comments

weird take, codebase size does not equal codebase importance

More code does not mean more important. There’s a bar where “less than this is unimportant”.

too simplistic, there are small parts of codebases that have much higher importance (payments, identity/auth, permissions, data integrity/retention/PII). In larger companies these things have dedicated teams because it's about complexity and blast radius vs codebase size

less provocative but I think what you're really saying is: "Good engineers don’t need to understand their entire codebase. They understand where to look, what matters, how the pieces fit together, and how to safely make changes"

Totally disagree. Understanding it means you have a clear overall picture of what’s going on, and where, and are able to investigate if anything breaks

You should form a clear overall picture of what I said in the video first :)

I see. Though, acknowledge the video title is misleading at first read.

@theo Exactly

The size of a codebases says nothing about it's importance. Software engineering is a bigger field than you seem to be aware of.

What if I don't understand any of my codebase?

Weird how a lot of people are repeating what you are saying but prefixed with the word - "disagree"

Being angry on the internet is easy, listening and using your brain is slightly harder 🙃🙃

This feels more true with frontend than backend.

I learned this reality in backend video infra dev

I watched this again and agree with you. I wrote too quick.

Yup. Brains don’t scale to codebases. You cannot expect to keep all code in your head. Especially in a team environment. Navigating the labyrinth of code others have built, (including past you) is a core part of the skill of software engineering

are there people that actually argue against this? lol when will devs stop fighting abstractions because they like their level of abstraction more

There’s a bunch of them here right now, all calling me a noob for having a real job 🙃

I’ve never seen a reply that made it so clear that someone has zero real world engineering experience

@theo Based purely on the claim that real software exceeds any single brain's comprehension.

@theo That's not ranking ignorance highly. The chart maps the claim to production-scale realities: large systems exceed any one mind by design through modularity, abstraction and teams. Full solo comprehension fits smaller scopes. Either way, happy to help with actual code.

@meaningoflights Geok absolutely cooked** you here man

@meaningoflights Appreciate it. Just mapping how production systems actually scale: modularity and teams beat solo omniscience every time. Code help stays open.

this is not even a hot take if we’re being honest

eh, 1) 1k lines of code can be VERY complex & ungrokable 2) 1M+ lines can be EASILY grokable if you pay attention to the architecture at all. e.g: i built AGNT from the ground up myself, before AI was any good at code, and i know this system like the back of my hand

what product did you build ?

- twitch internal safety platform - twitch creator dashboard - twitch internal syndicated content streaming platform - twitch mod view (most complex of the bunch tbh) - ttfm web - ttfm mobile - ping(.)gg - t3 stack - uploadthing - picthing - t3 chat - t3 code - lawn(.)video - lakebed(.)dev Probably forgetting a few

And for the most successful of them would you say knowing the code didn't help at all ? This is where I have my doubts. It's more "what products did you build using the technique of not knowing how it works"

This was a good one (as usual)

So, because giant software built over many years by huge corporations is a reason why I shouldn't understand my own codebase.

Let me guess, the content of the video clarifies the tweet which you made deliberately antagonistic as engagement bait.

You can understand your entire codebase without understanding all your code. The importance of owning the architecture has only increased (from essential) in the AI era.

My codebase helps people who are completely paralysed except for their eyes to talk to people. I understand the whole codebase. It is very important.

I promise you my CPAP machine doesn’t have a lot of code in production, but is very important. When I was in the hospital, those devices didn’t have much code, also very important. Because you use a bloated language like typescript doesn’t devalue code bases that can be understood. I can live without your software, how real does that make it?

I have been working 12 yeara on the same company, I built the software with my coworkers, I built the architecture, the whole infra etc. Knowing your codebase is a must for a real engineer. It is not neccesaary for vibe coders like you and that is okay, but try to not gatekeep engineering okay? Thx Theo.

I don't see why anybody who has a large codebase (regardless of how important your work is) should not understand some basics. That is: - points where there is untrusted input going into the system - critical points of potential failure - classes/libs that have been inherited by many systems across the codebase - an overall architectural design understanding That, I consider a deep understanding of a codebase, not knowing what each file itself does (That has clearly become redundant).

Yes. This is why Matt Pocock’s approach is awesome but antiquated. To work on problems and solutions at the scale that we need to, we need to be operating at an orchestration layer…not micromanaging code bases that we think we understand. The truth is that even id you were one of the few developers in the wild who COULD hold a whole codebase in their mind, that would actually be a bad thing. It would mean you’re operating at the tiny scale of one project while your peers and competitors are getting 1,000 or 10,000x the amount of work done.

I think we are in the uncanny valley where people pretend to read the code because they think it will make a difference. For where we are going we won’t need that anymore.

100%. Anyone who has worked on any software at scale has experienced this. AI just gives everyone the same experience.

If you can keep the entire codebase in your head, either you're a genius or the codebase isn't very big yet. 😂 That said, every developer should have a theory of their codebase in their head. Not every line, but an understanding of how the pieces fit together and why they exist. Peter Naur called this “Programming as Theory Building” back in 1985.

hmmmm gotta watch the video first, but just by the title: disagree but have a feeling that the title is a bit bait lol

This is just a matter of intelligence. If you can’t comprehend an entire codebase because it’s “larger than one person,” that’s not why. You’re just not smart enough. One genius SWE can understand a codebase better than 10 mediocre ones.

If this makes sense at all, it's poorly expressed. As written, it's too obviously wrong to be taken seriously.

People cry in comments, but fail to realize this applies only to software like Google Chrome, Unreal Engine 5, LLVM, GCC etc... There is no single person who understands whole codebase of such projects

Bloated slop is not important software; important software becomes bloated slop because companies care more about pushing features than making them high quality.

Cuz people love to split code into 1000s of files. QuickJS is mostly a single 50k line file and it's very easy to understand compared to other projects I've seen

This is actually the stupidest take I think I’ve ever seen in my life. Congrats. Incredible work.

That's a compliment if you say it. It means I'm doing something right. Btw what kind of codebases are you having trouble with understanding? Next js apps? Did you ever work in a codebase that's not react?

I’d separate knowing every line from knowing how the pieces fit together.

Interesting take. You have clean drinking water, ample food, and safe transportation because of this so-called "unimportant code".

Webdevs are a blight on software engineering.

?? It doesn't come from a "higher level of understanding of how code should be architected" It comes exactly from a high degree of understanding that specific codebase/architecture the gaps are filled by teammates (or reading the code) you're speaking as if all software is laravel ecomms LLMs have made everything easier and faster, but pretending they've removed anything is just larpism


