Company is still growing (and that's a bit of an understatement), both in its core businesses as well as in other businesses in which it is trying to become a major player.
Sideways mobility between software engineering groups.
The scale of its operations is amazing.
For its size, it is still one of the best companies to work for.
It is very well run.
Perks.
A culture that doesn't prohibit fun, and in some sense encourages it.
Long hours: It depends on the individual, but it's easy to feel that you need to produce more, ending up selling yourself short. The work involves a lot of time-wasting "archaeology" – sifting through wikis, code labs, and other people's code, figuring out what is the latest recommended way to do something that sounds boilerplate and obvious. So, it's easy to feel unproductive at times.
Also, the availability of free food, gym, etc., on campus, and the plenty of fun distractions on its corp network make it easy to spend more time there.
Hard to be visible and make an impact. Visibility and impact are the economy by which software engineers are measured, and they are becoming harder to come by. I feel that most joining now are likely to end up being just a number: average (in Google standards) impact and zero visibility, irrespective of how much of a rock star they were in their previous jobs.
It's becoming more and more the target of lawsuits, which basically means that legal fees will continue to cut a larger share of its revenues. In general, operating margins have been decreasing, although they are still amazing. I'm not saying that legal fees are the reason for decreasing operating margins. Google is investing heavily (in new hires, acquisitions, etc.), and any benefits from this spike in investment will take some time to catch up with the costs, and there is no guarantee that they ever will.
I am a relatively recent (post-recession) hire, and after way over a year on the job, I still feel that I am evaluating Google and wondering whether I can have a career here, which is not a good sign. Compared to previous jobs, I feel less recognized, having to work more, less proud of my work, and being more conscious of the effect that specific projects will have on my career instead of just doing what is right for the users/company.
It is not that I am less smart/capable/experienced than others; it's just that the opportunities are less compared to someone who joined earlier. The work is not the most interesting I've ever done, but it is OK and gives me the opportunity to expand my technical breadth.
If this is all Google needs from me, then I am likely to move on, more sooner than later. And if this is a common experience for relatively recent hires, then the smartest and the brightest will not be flocking to Google anymore.
Nothing particularly wrong with Google. I assume that's part of a company's normal progression from start-up to behemoth, and I still recommend giving Google a try, especially for new grads, as it can be a good place to jump-start an engineering career. Just keep an eye on what you're getting out of your work and don't let the perks distract you from the bigger picture.
I applied for a Google SWE position and went through a recruiter call first. The recruiter was very friendly and clear about the process. My phone screen had two coding questions: * One on arrays (two sum variant) * Another on dynamic programming (u
First, an online assessment, then the HR call, then several rounds of technical interview (you need to solve data structure/algorithm problems), and finally a manager interview (mostly behavioral questions).
HR phone call followed by three technical rounds and a managerial round. Got a message from the recruiter via LinkedIn. I responded that I am interested, and then they scheduled a 15-minute interview to learn about my background and interests.
I applied for a Google SWE position and went through a recruiter call first. The recruiter was very friendly and clear about the process. My phone screen had two coding questions: * One on arrays (two sum variant) * Another on dynamic programming (u
First, an online assessment, then the HR call, then several rounds of technical interview (you need to solve data structure/algorithm problems), and finally a manager interview (mostly behavioral questions).
HR phone call followed by three technical rounds and a managerial round. Got a message from the recruiter via LinkedIn. I responded that I am interested, and then they scheduled a 15-minute interview to learn about my background and interests.