There are a lot of interconnected components. Too many it can be argued. This article is an argument for this.
It is very convenient to leverage others code. Additionally, it is convenient to let others host the code that our applications rely upon. This is fine, even great, in school. But in the real world™ there are consequences.