The theories behind computer science have little very application in large software engineering.
software engineering != computer science
software engineering != computer science
Computer science is a lot more than proofs.
When you're writing a multi-million dollar piece of software (20+ man-years), the technical problems are the easy ones to solve. Actually putting the thing together is the hard part.
'you will discover that software engineering has accepted as its charter "How to program if you cannot.".'
http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036...
"Software engineering" has little to do with engineering and its principles and everything with applying buzzwords to squeeze the most money out of whomever was suckered into paying for the project.