Oooh! I have to stick my oar in. At one point to give back what my professors had given me, I agreed to teach a graduate course in compiler construction.This is to some extent an esoteric part of computer science, but if you have a knack for it, it can be tremendously rewarding. But as I would tell my students the in the first session, "If you can think in two languages at once, you will do well in this course. If you can think in three languages at once, you will love it."The languages don't have to be human languages, or for that matter programming languages, there are lots of different mathematical notations that come in handy. What you end up doing, is modeling the problem in one language, the solution space in another, and use a third language to map one to the other.So do you like thinking in new languages? Do you enjoy mapping from one language to another? Then you will love this field. There are two potential gotchas to be wary of. One is that you have to be well grounded in the real world, and put work aside while driving home, etc. Pattern analysis can be fun, but dangerous if it distracts you from the real-world physics of driving an automobile.The other gotcha is that you need to be mentally stable. This is more than just being sane. You have to be far enough enough to the phlegmatic side that random shocks won't bother you. (I much prefer to use software engineering methods that minimize the amount of debugging required.) The mental roller coaster ride that a debugging session can send you on is something that you have to be able to take in stride.
Best Of |
Favorites & Replies |
Start a New Board |
My Fool |
BATS data provided in real-time. NYSE, NASDAQ and NYSEMKT data delayed 15 minutes.
Real-Time prices provided by BATS. Market data provided by Interactive Data.
Company fundamental data provided by Morningstar