10M is a pretty massive codebase like the entire linux kernel with all drivers is somewhere in that size. Most corporate systems aren’t that big and even for Linux you wouldn’t need to understand all drivers to understand the core kernel, I suspect the core kernel is maybe max 1M.
https://engineering.fb.com/2022/10/24/android/android-java-k...
Regardless it’s a bit concerning that it takes 10M loc for a messaging app.
"One former Tesla engineer, who spoke on the condition of anonymity to candidly describe the matter but was not involved, said Tesla engineers would have trouble capably assessing Twitter’s code. Distributed systems, the large-scale and spread-out network that Twitter is composed of, are not the automaker’s specialty, the person said."
:P
It’s certainly true that it helped I was
familiar with the domain
The big tangled enterprise codebases I've dealt with had absolute metric tons of undocumented domain and company-specific "tribal" knowledge baked into them.Technical prowess helps, obviously. But is not enough on its own.
Domain knowledge helps too, obviously. But even combined with technical prowess it is still typically not enough because of all the embedded tribal knowledge.
It's hard for me to imagine someone grokking a 10M+ line codebase without external help, but I've never tried it. I do agree with the assertion that most codebases are not as _special_ as they like to think.