It's a good point about confirmation and survivorship biases. However, the Skype example is really an example of what happens when your codebase has coupling where there shouldn't be. Encapsulation is a foundational concept in software engineering for a reason. That doesn't mean that it's not useful to know, e.g. the inner workings of your database. But it's unreasonable to expect that anyone at your software company can know more than a surface amount about what other teams do.
> However, the Skype example is really an example of what happens when your codebase has coupling where there shouldn't be.
I dont think so. Having built some desktop applications and then brought them to mobile myself, it's not intuitive to know where the couplings are. For example, when bringing the app to mobile, someone may ask "Why didn't you encapsulate the microphone permission across all platforms up front?" Or "Why didn't you ensure this C library we use can compile on ARM?" These would be unreasonable abstractions to make for a desktop only application.
We know some of these things because mobile exists for a while now, but Moxie was talking about when smartphones just came out.