I'm a undergraduate in my 3rd year of a Software Engineering degree. From this year on, my university has introduced a new course called 'Compiler Constructions', which teaches you the basics of the theory of building a compiler.What would be the real world advantage for a Software Engineer of learning about compiler construction?
What is the advantage of learning about and understanding compiler construction?
tools;compiler
There is a practical side to learning compiler construction.  There have been several occasions where I've needed to build parsers to implement some app-specific command language.  It allowed me to create flexible, scriptable interfaces to the app.  It also gives you greater insight into why some languages are designed the way they are, and why no language is perfect.  It's a tough course, one of the tougher ones in the curriculum.  I made the mistake of taking it during a summer session; never take a compilers course in a summer session, your brain will explode.  