When the interviewer asked me why my score in software engineering section  was not so good, I answered that software engineering is a more practical thing;  it's not just a theory. It’s my opinion about theory, though I haven't touched  much area of software engineering.     Yes, I think there are two kinds of  theories: the first type is theories that purely being deduced from other  principles and from its born we don’t know the field it should be used to.  Wavelet, for example, is such a theory. It has wide application in many  disciplines: signal processing, compression, etc, but not at the time when it  was developed. Software engineering, however, is another type of theory. It’s  the theory that developed, formed from practice. if not the software crisis,  there would be no such a theory. all i want to say is that something can never  be learned just from theory, so is SE. Let it be the guiding light, practice, no  spoon-feed, we are on the road to its spirit.