- Kultur & Werte
- Vergütung & Zusatzleistungen
Ich habe in Vollzeit bei Google gearbeitet (Über 8 Jahre)
1) Food, food, food. 15+ cafes on main campus (MTV) alone. Mini-kitchens, snacks, drinks, free breakfast/lunch/dinner, all day, errr'day.
2) Benefits/perks. Free 24:7 gym access (on MTV campus). Free (self service) laundry (washer/dryer) available. Bowling alley. Volley ball pit. Custom-built and exclusive employee use only outdoor sport park (MTV). Free health/fitness assessments. Dog-friendly. Etc. etc. etc.
3) Compensation. In ~2010 or 2011, Google updated its compensation packages so that they were more competitive.
4) For the size of the organization (30K+), it has remained relatively innovative, nimble, and fast-paced and open with communication but, that is definitely changing (for the worse).
5) With so many departments, focus areas, and products, *in theory*, you should have plenty of opportunity to grow your career (horizontally or vertically). In practice, not true.
6) You get to work with some of the brightest, most innovative and hard-working/diligent minds in the industry. There's a "con" to that, too (see below).
1) Work/life balance. What balance? All those perks and benefits are an illusion. They keep you at work and they help you to be more productive. I've never met anybody at Google who actually time off on weekends or on vacations. You may not hear management say, "You have to work on weekends/vacations" but, they set the culture by doing so - and it inevitably trickles down. I don't know if Google inadvertently hires the work-a-holics or if they create work-a-holics in us. Regardless, I have seen way too many of the following: marriages fall apart, colleagues choosing work and projects over family, colleagues getting physically sick and ill because of stress, colleagues crying while at work because of the stress, colleagues shooting out emails at midnight, 1am, 2am, 3am. It is absolutely ridiculous and something needs to change.
2) Poor management. I think the issue is that, a majority of people love Google because they get to work on interesting technical problems - and these are the people that see little value in learning how to develop emotional intelligence. Perhaps they enjoy technical problems because people are too "difficult." People are promoted into management positions - not because they actually know how to lead/manage, but because they happen to be smart or because there is no other path to grow into. So there is a layer of intelligent individuals who are horrible managers and leaders. Yet, there is no value system to actually do anything about that because "emotional intelligence" or "adaptive leadership" are not taken seriously.
3) Jerks. Sure, there are a lot of brilliant people - but, sadly, there are also a lot of jerks (and, many times, they are one and the same). Years ago, that wasn't the case. I don't know if the pool of candidates is getting smaller, or maybe all the folks with great personalities cashed out and left, or maybe people are getting burned out and it's wearing on their personality and patience. I've heard stories of managers straight-up cussing out their employees and intimidating/scaring their employees into compliance.
4) It's a giant company now and, inevitably, it has become slower moving and is now layered with process and bureaucracy. So many political battles, empire building, territory grabbing. Google says, "Don't be evil." But, that practice doesn't seem to be put into place when it comes to internal practices. :(
Rat an das Management
1) Don't dismiss emotional intelligence and adaptive leadership. They're not just catch phases. You need great managers and leaders in order to build great companies and develop great employees. The people who may be brilliant at solving technical issues may not be (and are most often, not) the best candidates for management.
2) Do something about that work-ife balance. Don't just have a bunch of pow-wows and tech talks and discussions about it. Leadership should actually model it. Consider re-evaluating how work is done; what processes are in place that are inefficient and ineffective and need to be updated or removed?
3) Don't forget that there is already a pool of incredibly talented people within the company. If career development is really a goal at Google, then do it. Don't just hire from the outside. Take the time to help your employees develop their careers - then maybe you won't lose some of the great ones, and maybe you'll have prevent some of that burn out and disillusionment.
Ich habe mich auf Empfehlung eines Mitarbeiters beworben. Der Vorgang dauerte 4 Wochen. Vorstellungsgespräch absolviert im April 2014 bei Google (Mountain View, CA (Vereinigte Staaten von Amerika)).
Direct onsite because I interviewed in the past and did well that time. From the time I sent my resume to interview day: 2 weeks. From interview day to offer over the phone: 2 weeks.
The syllabus for the interviews is very clear and simple:
1) Dynamic Programming
2) Super recursion (permutation, combination,...2^n, m^n, n!...etc. type of program. (NP hard, NP programs)
3) Probability related programs
4) Graphs: BFS/DFS are usually enough
5) All basic data structures from Arrays/Lists to circular queues, BSTs, Hash tables, B-Trees, and Red-Black trees, and all basic algorithms like sorting, binary search, median,...
6) Problem solving ability at a level similar to TopCoder Division 1, 250 points. If you can consistently solve these, then you are almost sure to get in with 2-weeks brush up.
7) Review all old interview questions in Glassdoor to get a feel. If you can solve 95% of them at home (including coding them up quickly and testing them out in a debugger + editor setup), you are in good shape.
8) Practice coding--write often and write a lot. If you can think of a solution, you should be able to code it easily...without much thought.
9) Very good to have for design interview: distributed systems knowledge and practical experience.
10) Good understanding of basic discrete math, computer architecture, basic math.
11) Coursera courses and assignments give a lot of what you need to know.
12) Note that all the above except the first 2 are useful in "real life" programming too!
Graph related question and super recursion
Design discussion involving a distributed system with writes/reads going on at different sites in parallel.
Array and Tree related questions
Designing a simple class to do something. Not hard, but not easy either. You need to know basic data structures very well to consider different designs and trade-offs.
Computer architecture and low level perf. enhancement question which requires knowledge of Trees, binary search, etc.
At the end, I wasn't tired and rather enjoyed the discussions. I think the key was long term preparation and time spent doing topcoder for several years (on and off as I enjoy solving the problems).
Conclusion: "It's not the best who win the race; it's the best prepared who win it."
You can and should negotiate politely. You are in a stronger position if you have another offer, but even otherwise, you should ask for more of every type of payment!