Pluspunten
Google is leader on web search and has the best web search infrastructure. It is convenient for engineers to work on a single company-wide code base with same coding standard. Company reissues employee stock option to $308 recently. Bigger percentage of annual bonus compare to other companies I know of; $8000 per year 401k match; free meal and other perks. Company has the perception of being an innovative company. Friday TGIF with beer and wine. Engineers’ qualities are general fine. 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 infrastructures, tools, systems and dream about a career path.
Minpunten
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 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 project will be launched. There is no one to enforce some discipline on code quality and stability. Launch delay quarter after quarter. When accountability finally comes and the project risks of being canceled, I see desperate launch push and poor code quality. Manager role: Managers and directors usually stay far away from daily project management duties. Manager does not know what individual software engineer is doing so don’t slightly expect such otherwise you will be disappointed. Majority managers are not technically strong and write zero or negligible code. Don’t expect much technical inspirations 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 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 meeting and later claims making big impact to the project on his self performance evaluation. Career growth: Despite the peer review model, the manager’s feedbacks appear to be what really matter. People that are vocal and suck up to their managers are very more likely to be promoted. If you are hard-working engineer that is able to and like to solve hard problems independently without making superficial noises, and expect Google to recognize your contributions, you will be very disappointed. I know some of such solid and senior engineers; about half of them already let 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 only need a relatively small number of people 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 that you respect and love to work on, 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 standard and practices, too many times people hastily touch existing code or add hacky code with no real testing. Such code checked in and deployed to 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 frustrated to see most time wasted dealing with silly buggy integrated system. There is no engineering process to ensure code quality and stability or 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 experience.