Things They Don't Teach You In Computer Science 
jimfl: The more people in middle management (i.e. people who are not officers and people who are not leaf nodes) the more difficult it will be for the organization to make rational decisions, and the more compromises will be made to the quality of the product in lieu of other considerations (schedule, metrics based on invalid assumptions, etc.) In general, these people will find that they have no actual way to contribute to the product, so they will attempt to contribute to the organization instead, which bogs everyone else down.On the technical front, CS will not teach you anything relevant to the practice of software development. You will not learn things like how to correctly factor code for automated testing, or good strategies for source code control branching and build pipelining.