There was an article on HN in the last year that addressed this, i.e the amount of knowledge required to understand a complex application from distributed software to assembly language, to hardware. I think the title was something about unknowable depths of complexity, does anyone remember the link?