Writing applications: go ahead, program by the seat of your pants. Architect a solution to a big problem: theory comes in very handy.
The theories behind computer science have little very application in large software engineering. software engineering != computer science
'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.