When I started at my current employer (about 18 months ago), I got it in my head I should take advantage of their training budget and proximity to uWaterloo (like the kids are calling it now) and take a course.
For one reason or another (sanity, mostly; also scheduling), I wasn’t able to take [the compilers course](http://www.student.cs.uwaterloo.ca/~cs444/) in my 4th year. Compilers is one of the big project courses. In terms of workload, it’s well behind [real time](http://www.student.cs.uwaterloo.ca/~cs452/) (the train course) and [graphics](http://www.student.cs.uwaterloo.ca/~cs488/), but it’s still nothing to sneeze at.
When I was an undergrad, I think I would have probably preferred to take graphics. But as you get older, you mature. Or something. Yeah, graphics is cool and fun, but I think it would be a harder sell to get my employer to pay for it. Particularly when your employer has its own [proprietary language](http://99-bottles-of-beer.net/language-oscript-526.html) to maintain.
> For my part, I want to encourage people to make their own languages, because doing it makes you a world-class programmer. Seriously. Not just a better programmer, but a best programmer. I’ve said it before, and I’m sticking with it: having a deep understanding of compilers is what separates the wheat from the chaff. I say that without having the slightest frigging clue what “chaff” is, but let’s assume it’s some sort of inferior wheat substitute, possibly made from tofu. –Steve Yegge, [The Next Big Language](http://steve-yegge.blogspot.com/2007/02/next-big-language.html).
I don’t know if I’ll actually make my own language, or move to the compiler team at work, but I do know that understanding this stuff is really, really useful and fundamental to software development. There’s a lot of computer science-y stuff that’s not especially useful, but compilers are everywhere.