Very hierarchical in both structure and style. Decisions, from minor code style choices to team processes to larger policies, are usually made by some group at a high level and uniformly applied to all, and enforced.
Constant reorgs mean swapping managers every 6 months or so.
Incentivizes competition between engineers, which blunts collaboration.
Very established ways of doing things that are in many ways frozen in time because of all the heavyweight internal tooling that would be too expensive to change "at Google scale," as people love to say. Most teams use waterfall methodology. Long-winded, formal, detailed design documents are typically prepared by one person and then handed off to the implementers.
Tends to favor overly complex code and documentation.
The monorepo makes developing for/with open source libraries a nightmare.
Takes a long time to get comfortable/efficient with the Google engineering ecosystem and its ways of doing things.
Cumbersome promotion process that makes getting promoted quickly after joining very difficult.
Teams tend to be very meeting-adverse, which makes it difficult to feel connected with distributed teams.
Diversity, Equity & Inclusion efforts are talked up all the time, but in reality, this is probably the least inclusive company I have ever worked for.
Shady ethics around the company's "mission" that everyone seems to turn a blind eye to.
I had the worst interview process with Google, but it wasn't because of the interviews themselves. I started off with a really great, responsive recruiter who scheduled two technical phone screens about a week and a half out. The phone screens happen
Firstly, asking me some technology questions, including Java, Spring Boot, Spring Cloud, RocketMQ, Kafka, Redis, MySQL, Hadoop, Spark, Elasticsearch, neural networks, like transforming, and some recommendation algorithms. How to design a recommendati
Contacted by a recruiter. Initial call with them: * General background questions. * What would you like to work on? * Set up a phone screen. The phone screen was straightforward. Only did the phone screen, then received a different job offer.
I had the worst interview process with Google, but it wasn't because of the interviews themselves. I started off with a really great, responsive recruiter who scheduled two technical phone screens about a week and a half out. The phone screens happen
Firstly, asking me some technology questions, including Java, Spring Boot, Spring Cloud, RocketMQ, Kafka, Redis, MySQL, Hadoop, Spark, Elasticsearch, neural networks, like transforming, and some recommendation algorithms. How to design a recommendati
Contacted by a recruiter. Initial call with them: * General background questions. * What would you like to work on? * Set up a phone screen. The phone screen was straightforward. Only did the phone screen, then received a different job offer.