I'm trying to understand how modern software is built, and I'm surprised by how large many projects are. Even an application that seems fairly focused can contain tens of thousands of files once dependencies, transitive dependencies, generated code, frameworks, package-manager files, and build tooling are included.
It feels like a small amount of code maintained by the developers can ultimately depend on millions of lines written by other teams. Is this simply the normal tradeoff in modern software development, or are many projects unnecessarily bloated? More importantly, how do teams assess and manage the security and reliability risks of depending on so much third-party code?
4 Answers
There’s also a cultural tendency to pull in an entire library for one convenient feature, and long-lived business software can accumulate layers for years. So yes, many modern projects are large and dependency-heavy, but that doesn’t mean every file is equally important or that the design is ideal. Smaller, carefully chosen dependencies and clear boundaries can reduce the problem.
Deep dependency trees do create real risks. Libraries can introduce vulnerabilities, breaking updates, licensing issues, or subtle behavior changes. Teams usually manage this with lockfiles, dependency inventories, automated vulnerability scanning, pinned and reviewed updates, reproducible builds, testing, and someone taking ownership of keeping dependencies current. None of that makes the system automatically trustworthy, but it makes the risk visible and manageable.
The file count can be misleading. A large portion may be generated output, build artifacts, tests, documentation, or complete libraries that the application barely uses. The more useful questions are which dependencies are actually shipped, which parts are maintained directly, and how difficult it is to update or replace them.
This has been normal for decades, although the details have changed. On many systems you only notice the complexity when looking at source code; packaged applications hide much of it inside executables, shared libraries, and installers. A focused application can still rely on a large platform and many libraries underneath.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically