Live data from Hacker News

Ask HN: What Have You Learned at Google as a Software Engineer?

news.ycombinator.com

101–110 of 157 posts

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#101
post #55

Other than having “Google” on my resume there is nothing special or applicable outside of Google. Most tools are internal, isolated and the choices are restrictive. Management is shitty - micro-management is in full bloom, display lack of management knowledge, skills and there’s plenty of abuse of power. They don’t show their appreciation to what we do. All developers are very competitive. My entire time of over a ye…

How can you have micro-management and isolation?

Maybe the micro-management is not micro-managing what you think they should be micro-managing?

I mean, thats the problem with vertical schemes and bureocracy.. the guy who is micro-managing is also micro-managed by some sort of results that actually ends not being very pragmatic, end give him good points in this blind objective system who ranks him and the people he manage according to some parameters that in the end they 'game' to look good.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#102

Not Google, but another Big Tech company. Visibility is very important to getting a promotion at a large company. Selling your work is important. To move up, you must be playing the "choose a good project or team" game for at least 6 months before you try to get promoted. Preferably for a year or more to hit the right checkboxes for multiple cycles. If you fail to do so, you can do absolutely amazing work but rigid p…

Personally that sounds like barf ... politics, stress, insecurities, backstabbing, stress, burn out. I am much happier working in boring government where working hard for family and with mature/secure with themselves (older) adults is paramount & prevalent. Thankfully not an enticing environment for douchebags.

Funny, I worked as a government contractor in a past life.

The government was worse IMO in that work was very slow and bureaucratic even beyond the big company overhead.

Politics couldn't be ignored; you need to keep the contract, outmaneuver the other guys going golfing with the agency head every weekend, deal with having 10 half-backed solutions you contractually cannot touch but need to in order to get things done.

Promotions were almost always about tenure, certification, and education. You could never get far ahead if you're more skilled. Worse: you couldn't really fall behind, either.

In the right spot, though, it would be lower stress. But much lower pay

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#103
post #97

Earlier quoted context omitted.

This is all very applicable to Google. I was at Google for 2 years and I got promoted L5 to L6. The key (I think) was working across teams with people who were already L6 or higher, and who were willing to write for my promo packet. In terms of what I learned? I think the most important lesson was: Don't get bogged down in details that are irrelevant to you & count on others to do their jobs. I came from a small (~15…

Congrats on the promotion, did you join Google as an L5? Also, can you share more advice on the technical side, like what do you are the abstractions, mind models and technologies that you think are applicable outside of Google and would be worthy of studying?

Yes, I joined as an L5.

The technical side was probably not terribly relevant to you. I worked mostly on the Linux kernel in C, on drivers and firmware, and never did anything in the main Google repo.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#104
post #31

Earlier quoted context omitted.

Which sucks. Having a technical ladder is important to retain talent and ensure that you maximize the skills your talent pool has. Pure engineering skills (even the thought leadership aspect of it) doesn't directly translate in management skills and often people get "rewarded" by promoting them to a position where they can no longer use the very skills they have been promoted for. Related concept / good read: https:/…

The engineering ladder doesn't ever become a management ladder. You can transfer, but you don't have to.

I was referring to those companies where the only opportunity to e.g. make more money was to go to management.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#105
post #52

Earlier quoted context omitted.

As someone who has worked at multiple companies, currently at Google, you don't tend to leave a company, you leave a manager. Managers are one of your primary interfaces to a company. If those managers are crap, you will have a bad experience.

It's bigger than that IMO. I can switch managers at a big company. But if the entire division is inept, it's time to jump companies because it's a tell that the culture is decaying. For me, the only reason I will never go back to GOOG is blind allocation. IMO that's a bug, not a feature.

What’s blind allocation?

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#106
post #88

Earlier quoted context omitted.

It's bigger than that IMO. I can switch managers at a big company. But if the entire division is inept, it's time to jump companies because it's a tell that the culture is decaying. For me, the only reason I will never go back to GOOG is blind allocation. IMO that's a bug, not a feature.

What is blind allocation and why is it bad?

I'm guessing here, but I think this is referring to when a new hire cannot choose the team he or she is joining.

Google et al often do general hiring. This means that they hire you and then later decide where to assign you afterwards.

I had thought at Google hiring managers could bid on you and some kind of choice could be made. But maybe that's only in big enough offices with good enough resumes.

It's bad because you don't know which team you're joining and the quality of the manager. It's good because it lets the company assign you to the most important areas first.

Contrast this with a normal process where the hiring manager for the team you're joining is in the interview loop. You know ahead of time which team you're joining.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#107
post #39

I've been at Google for almost 4 years, mostly working at startups before that. First and foremost, there's nothing special about Google (compared to any other tech company) and it's best not to evangelize any one company. Learning comes from experience, which means trying things (even if you end up making mistakes) and figuring out the shortcomings of a particular solution. I've seen a lot of bad (and a lot of good)…

Choosing the right language also helps reduce errors. There are languages with no nulls and no runtime errors.

Not sanctioned for general use at google tho :D

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#108
post #55

Earlier quoted context omitted.

How can you have micro-management and isolation?

Maybe the micro-management is not micro-managing what you think they should be micro-managing? I mean, thats the problem with vertical schemes and bureocracy.. the guy who is micro-managing is also micro-managed by some sort of results that actually ends not being very pragmatic, end give him good points in this blind objective system who ranks him and the people he manage according to some parameters that in the end…

They manager just blindly follows the policies, like a dumb decoupled code. He's as guilty as his superior and the entire system.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#109
post #37

Google showed me the fine engineering at large scale. And the key is the people as they are behind everything. That’s why I changed my view on who was the key person for google success. I used to believe Larry and Sergei, then urs, now I put on Laszlo Bock.

Can you share more details? What advice would you give to people to engineer things at scale?

I wrote a partially finished article: https://docs.google.com/document/d/10wylnn8qHD4clDyrEIhYyP1F...

It's not even touching the techniques and approaches yet. I was too lazy.

Here a summary of my understanding: * Relentlessly hire the best, train them and give space for them to grow and shine. This is the basis. It's not that a less quality engineer cannot grow, it's just too costly to do that at large scale. * Build the infrastructure to support large scale engineering. The best example is the idea of "warehouse scale computer" that is the data center, embodied in systems like Borg Spanner etc. * Relentless consistency at global scale. Example would be the Google C++ style guide. It's opinionated at its time, but is crucial to ensure a large C++ code base to grow to big size. * Engineering oriented front line management. L6-L8 managers are mostly engineering focused. That's necessary. * Give the super star the super star treatment. Google's engineers are rewarded as strategic asset of the company. Numerous example are made public.

Re: Ask HN: What Have You Learned at Google as a Software Engineer?

#110
post #99

Earlier quoted context omitted.

Check out levels.fyi to get an idea per company. At Google, we have "standardized" levels starting at L3 to L10, each with their own compensation range. Google allows you to climb this ladder while remaining an IC. Going to manager has a different progression and it's not an expectation.

How easy is it to transition into a manager if you're an IC?

It's easy to transfer to transition to the manager ladder by becoming a TLM (Tech Lead Manager) once you are L5 or higher.
Post reply on HN