Live data from Hacker News

Software Engineering at Google (2020)

abseil.io

161–170 of 352 posts

Re: Software Engineering at Google (2020)

#161
post #26

Earlier quoted context omitted.

Engineering culture has somewhat collapsed at Google. The things that made engineering great didn't really survive the last couple rounds of internal coups.

I thought so too, but since then I moved over to Cloud and things are a LOT better.

I always here about Cloud having the worst culture tho? Has that not been the case to you?

Re: Software Engineering at Google (2020)

#162
post #61

Earlier quoted context omitted.

The tools, design and manpower needed to build a skyscraper are different from those needed to build a 1-story wood house. It's not that the ones that build the wood house are failing to study and adopt the ways of their extremely successful competitors. Now, some of the things you say like unit-testing and user data encryption are ones that I've never seen associated with the "We're not google" mindset, so maybe peo…

I'm not really talking about artisanal 3-man software shops, I'm talking about mid-sized companies with thousands of engineers, who don't realize they are already larger than and facing the same problems as Google was when they started adopting these practices. And to be clear, rejecting something as proven as pre-commit code review is not only to reject the example of Google and many other very successful enterprise…

> I'm talking about mid-sized companies with thousands of engineers

Can you name such mid-sized companies with thousands of engineers? If you hit thousands of engineers headcount, you are not a mid-sized anymore.

Theoretically, Google does 100 things right, pays for those 100 things, but also Google has tons of cash, if Google didn't release product in Q1, no worries, they will release in Q3.

Now consider startup with 50 engineers, if you didn't release feature in Q1, you might need to stop the project, because customer with whom you signed the contract just goes away and you will be laying off 5 people

Re: Software Engineering at Google (2020)

#163
post #17

Cool. Could someone, maybe an ex-googler, comment on which parts of these work well and which don't? A lot of other companies get into trouble trying to cargo-cult what Google does when they are operating in very different environments wherein those practices aren't optimal. E.g. different levels of scale. Additionally, critics of Google may point out that their engineering culture may not be great on its own terms -…

In my ex-Google experience, here are the stages of denial about something that Google does which is good but the industry doesn't yet embrace. Stage 1: "We're not Google, we don't need [[whatever]]"; Stage 2: Foreseeable disaster for which [[whatever]] was intended to address happens; Stage 3: Giant circus of P0/SEV0 action items while everyone assiduously ignores the [[whatever]]; Stage 4: Quiet accretion, over seve…

Or, alternately phrased:

As a company grows and matures, their software development processes evolve to meet the business needs.

Re: Software Engineering at Google (2020)

#164

Earlier quoted context omitted.

Oh, I see - by "pre-commit" it doesn't really imply it in "Git commit" sense - the change is still propagated to others (presumably by committing it as a sort of "draft"), it's just not committed to the mainline - is that correct? I'm very familiar with CR at other companies, but tbh since most use Git, I wouldn't call that "pre-commit" but "pre-merge", if you will - unless I misunderstood and it really is pre-commit…

Google (for $reasons) doesn't do long lives code branches and doesn't use git, at least for the main repo. So in that context every commit is reviewed pre-commit, but you'd do the same workflow elsewhere with trunk-based development, small pull requests, and CI and automated and human review of all PRs before they're merged.

Right, I know it’s not on Git and hence was my question - and it sounds like this is more about terminology and less about technology. I.e. what Google does in this case is not that different from just “Code Review” in the traditional sense, as most other companies (with good engineering practices) do - reviewing code before it enters production (+CI/CD, as you mentioned).

Edit: as OP mentioned, it does seem to differ in technical sense from traditional CR, in that the changes live only on developer machine, not in source control.

Re: Software Engineering at Google (2020)

#165

Earlier quoted context omitted.

The inventions are to keep the talent stream coming ... to work on ads. The inventions are the small tax they pay to pretend to candidates that they could work on inventions when the vast majority of them will be "allocated" to ads.

You're telling me this stupid, bizarre thing: that Google's major innovation was an HR process. That's fucked-in-the-head just enough that you've made me wonder if it's true.

I doubt they did anything like that intentionally. My impression in my time there was they were constantly cargo-culting themselves. X obviously works, so keep doing X, even if it doesn't look like it makes any sense. And X was absolutely everything.

Re: Software Engineering at Google (2020)

#166

Cool. Could someone, maybe an ex-googler, comment on which parts of these work well and which don't? A lot of other companies get into trouble trying to cargo-cult what Google does when they are operating in very different environments wherein those practices aren't optimal. E.g. different levels of scale. Additionally, critics of Google may point out that their engineering culture may not be great on its own terms -…

"Readability" works terribly when your company is acquired and your team enters all at the same time. Google has (or had ~10 years ago), a thing called "readability" for each language, where in order to be allowed to commit code to the central "google3" repo, you needed to have written some large amount of code in that language, and needed to have a readability reviewer sign off on your code. The process is designed…

There’s now an explicit safeguard against that.

Re: Software Engineering at Google (2020)

#167
post #26

Earlier quoted context omitted.

Engineering culture has somewhat collapsed at Google. The things that made engineering great didn't really survive the last couple rounds of internal coups.

I thought so too, but since then I moved over to Cloud and things are a LOT better.

Nice bait

Re: Software Engineering at Google (2020)

#168
post #43

Earlier quoted context omitted.

> If Google's code writing process really was superior, you'd expect them to consistently produce killer products in other fields. This is a very simplistic notion of what enables the creation of killer products. That has much more to do with understanding users' needs and identifying market opportunities. Good code writing processes are about code maintenance and scaling engineering effort, not dreaming up the next…

Well, you're of course right about that. I'll retreat to saying that claims about the superiority of Google's code writing process remain unsubstantiated. During my 3 years at Google, I observed little brilliance. Not that my little corner of the giant org is a statistically valid sample. I did see a fair amount of "Google is The Best!" sentiments and rejection of anything invented outside the company.

I was there for well over a decade, and my read on it is that the tools are great for building solutions for all sorts of problems, including web applications and big data analysis systems. The biggest issues with the ability to launch a killer app are IMO:

- The risk aversion to anything that threatens a big existing successful product.

- The product/feature approval processes that implements the above.

- The concern about launching something experimental or half-baked under the brand (vs a startup which does that by default).

Personally, I saw a lot of product and engineering creativity, but it was often stifled or watered down by the above.

Re: Software Engineering at Google (2020)

#169
post #91

Earlier quoted context omitted.

The way it's supposed to work is that acquired teams get lots of support on integration, including readability. This helps your team get integrated into writing Google-style code. Not sure why that didn't work out in this case? (Left Google a year ago)

This. Someone dropped the ball. There's a form to get your corner of the codebase exempted from readability temporarily. This gives your team a quarter or two to build up readability.

A quarter or two isn't going to be enough for a drastic realignment of a large codebase. It's a start, but only a start.

Re: Software Engineering at Google (2020)

#170

Earlier quoted context omitted.

You're telling me this stupid, bizarre thing: that Google's major innovation was an HR process. That's fucked-in-the-head just enough that you've made me wonder if it's true.

I doubt they did anything like that intentionally. My impression in my time there was they were constantly cargo-culting themselves. X obviously works, so keep doing X, even if it doesn't look like it makes any sense. And X was absolutely everything.

Mind me asking why you moved on?
Post reply on HN