Taro Logo

It could be frustrating after two years

Software Engineer
Current Employee
Has worked at Google for less than 1 year
March 22, 2009
Kirkland, Washington
3.0
Approves of CEO
Pros

Google is a leader in web search and has the best web search infrastructure. It is convenient for engineers to work on a single company-wide codebase with the same coding standards. The company recently reissued employee stock options to $308. A bigger percentage of the annual bonus compared to other companies I know of; $8,000 per year 401k match; free meals and other perks. The company has the perception of being an innovative company. Friday TGIF with beer and wine. Engineers' qualities are generally fine. There are many satellite offices, so people don't always have to relocate. For the first one or two years, you will be excited to explore the infrastructure, tools, systems, and dream about a career path.

Cons

Office environment – It could be very noisy and interruptive with 5 to 10 persons sitting in one room. It’s not the best setting for strong and independent engineers to focus and develop solid code. There are such engineers in our office that are hardly able to focus and be quiet for more than 30 minutes, always talk loud and flatter each other. I am annoyed and disturbed on an hourly basis.

Project management: Poor project management, lack of discipline and launch schedule. It’s very hard to estimate what and by when a project will be launched. There is no one to enforce some discipline on code quality and stability. Launch delays quarter after quarter. When accountability finally comes and the project risks being canceled, I see a desperate launch push and poor code quality.

Manager role: Managers and directors usually stay far away from daily project management duties. A manager does not know what an individual software engineer is doing, so don’t slightly expect otherwise, or you will be disappointed. The majority of managers are not technically strong and write zero or negligible code. Don’t expect much technical inspiration or lead-by-example from your manager. You will neither see much career mentoring nor other “soft” help from the manager. I had 1:1 meetings with my previous manager maybe 3~4 times during the whole year period. Despite being the “manager” of our project, all his involvement was showing up a few times in our project meetings and later claiming to have made a big impact on the project in his self-performance evaluation.

Career growth: Despite the peer review model, the manager’s feedback appears to be what really matters. People who are vocal and suck up to their managers are very more likely to be promoted. If you are a hard-working engineer who is able and likes to solve hard problems independently without making superficial noises, and expect Google to recognize your contributions, you will be very disappointed. I know some such solid and senior engineers; about half of them have already left Google. This is very counter-intuitive given the perception people have about Google.

Project and team: Google is primarily an advertisement (instead of technology) company. The web search infrastructure is awesome; however, it only needs a relatively small number of people to work on that. The available projects for most people, especially in satellite offices, are limited and not technically hard-core. If you are a senior and talented engineer, you may not find a local project that allows you to focus and solve hard, challenging technical problems. It also becomes harder to find other senior, talented engineers whom you respect and love to work with, given senior engineers are leaving and junior engineers are joining.

Engineering quality: I am disappointed with the code quality of my current team. Despite Google’s code review standards and practices, too many times people hastily touch existing code or add hacky code with no real testing. Such code is checked in and deployed to the data center. Overall, it requires a lot more unnecessary iterations and bug fixes to stabilize the system. I don’t mind working 60 hours per week at all, but it is frustrating to see most time wasted dealing with a silly, buggy integrated system. There is no engineering process to ensure code quality and stability or to make a launch date more predictable. I see a general lack of engineering discipline and experience to implement very solid code from software engineers with no or just a few years of experience.

Advice to Management

Value more and treat fairly engineers with lots of pre-Google experience. Balance engineer level and management level. Fix the promotion process to be not a popularity or suck-up contest.

Was this helpful?

Google Interview Experiences