What sort of advancement opportunities exist within your area? How easy it is to progress and what sort of career path exists?

On one hand I'd say that it can be hard to stand out at Google because we hire such talented engineers. On the other, Google is growing fast so there's a huge number of opportunities for motivated individuals.

MSc, PhD, Bachelors? What's the difference when it comes to recruiting people into your field?

At Google, we take candidates equally from Bachelors, Masters and Ph.Ds. I think individual differences dominate here - a bright candidate will stand out regardless. Having said that, I'd expect a PhD graduate to have a stronger understanding of CS theory whereas someone with industry experience will have stronger coding skills. A research MSc often suggests a motivated candidate who wanted to get a taste of research before moving to industry.

Academia or Industry -- Which is best if you want to do research?

In my experience, academia is the more flexible research environment, whereas industry research is generally better funded. Also, industry research has immediate application whereas academic research tries to look further ahead. Google provides a great combination of the two: you can build products quickly that are used by millions, underpinned by pioneering research and resources few others have access to. To get a feel for the sort of research we do, take a look at some of our recent publications at: http://labs.google.com/papers.html

Apart from completing their degree, what are the most important things a student should do to prepare for life after graduating?

Take courses that interest you and learn as much as you can, because you'll use everything. Try participating in competitions like the ACM and TopCoder; you'll get to meet other bright people and really stretch yourself.