I'm nearing the end of my undergraduate Computer Science degree and I've been presented with the opportunity to read/study for a PhD fully funded by my University. The trouble is, I also hold job offers with two of the most prominent software vendors in the world. I'm at a cross roads as to which route to take at this point.
To add further confusion to my life, I've also been given a great idea for a startup and have the chance of working with a really cool co-founder. I really don't know which way to go with this one, any ideas?
I'll give a short description of the startup just in case you are wondering. My friend did a year long industrial work placement at a finance company while at University. He worked in the anti money laundering division. While he was there he had to use some god awful enterprise software that made use of some pretty bad pattern matching algorithms. Basically, he wants to do a startup with me where we would develop a SaaS based application to do pattern matching against bank transaction records to spot fraud, this is a big market with a few well established players. There is no doubt that we can make better software with better pattern matching algorithms, our problem is getting clients (same with everything I guess).
The software is commonly refered to as AML software in case you wanted to do a small amount of background reading on it. (http://en.wikipedia.org/wiki/Anti-money_laundering_software)
The "Real World" is totally overrated. Entry level software jobs generally suck donkey balls, even if they sound like they won't.
However, it is very particular to your situation. If your job offer is to work on Photosynth at Microsoft Research, turn down the full ride to Toledo State U. However, if you're funded at Stanford or MIT, turn down the entry level code monkey job at Amazon or Yahoo!