Live data from Hacker News

Working on complex systems: What I learned working at Google

thecoder.cafe

41–50 of 147 posts

Re: Working on complex systems: What I learned working at Google

#41
post #2

Let's add a post scriptum: Whatever you're working on, your project is not likely to be at Google's scale and very unlikely to be a "complex system".

IMO what we term "complex" tends to be that which the current setup/system struggles to deal with or manage. Relatively speaking google has much much higher complexity, but it doesnt matter as much, because even in simpler cases we are dealing with huge amount of variety and possible states, and the principles of managing that remain the same regardless of scale.

Re: Working on complex systems: What I learned working at Google

#42
post #31
post #10

One of my pet peeves with the usage of complex(ity) out of the traditional time/space in computer science is that most of the time the OPs of several articles over the internet do not make the distinction between boundaried/arbitrary complexity, where most of the time the person has most of the control of what is being implemented, and domain/accidental/environmental complexity, which is wide open and carries a lot o…

I think this is addressed with the complex vs complicated intro. Most problems with uncontrolled / uncontrollable variables will be approached with an incremental solution, e.g. you'll restrict those variables voluntarily or involuntarily and let issues being solved organically / manually, or automatisation will be plain and simple being abandoned. This qualify as complicated. Delving in complicated problems is mostl…

I don't think this is adequately addressed by the "complicated vs. complex" framing—especially not when the distinction is made using reductive examples like taxes (structured, bureaucratic, highly formalized) versus climate change (broad, urgent, signaling-heavy).

That doesn’t feel right.

Let me bring a non-trivial, concrete example—something mundane: “ePOD,” which refers to Electronic Proof of Delivery.

ePOD, in terms of technical implementation, can be complex to design for all logistics companies out there like Flexport, Amazon, DHL, UPS, and so on.

The implementation itself—e.g., the box with a signature open-drawing field and a "confirm" button—can be as complex as they want from a pure technical perspective.

Now comes, for me at least, the complex part: in some logistics companies, the ePOD adoption rate is circa 46%. In other words, in 54% of all deliveries, you do not have a real-time (not before 36–48 hours) way to know and track whether the person received the goods or not. Unsurprisingly, most of those are still done on paper. And we have:

- Truck drivers are often independent contractors.

- Rural or low-tech regions lack infrastructure.

- Incentive structures don’t align.

- Digitization workflows involve physical paper handoffs, WhatsApp messages, or third-party scans.

So the real complexity isn't only "technical implementation of ePOD" but; "having the ePOD, how to maximize it's adoption/coverage with a lot uncertainty, fragmentation, and human unpredictability on the ground?".

That’s not just complicated, it’s complex 'cause we have: - Socio-technical constraints,

- Behavioral incentives,

- Operational logistics,

- Fragmented accountability,

- And incomplete or delayed data.

We went off the highly controlled scenario (arbitrarily bounded technical implementation) that could be considered complicated (if we want to be reductionist, as the OP has done), and now we’re navigating uncertainty and N amount of issues that can go wrong.

Re: Working on complex systems: What I learned working at Google

#46
post #30
post #17

Earlier quoted context omitted.

The idea is if someone helps you in a really big way that you’re able to reward that. So you can ask the company to give the person either credits for an internal store, or a direct addition to their salary for one month. Obviously, there are limits to how many pay bonuses you can give out and if it’s direct money or store credits. Directly asking for a peer bonus’ is not very “googly” (and yes, this is a term they u…

> The idea is if someone helps you in a really big way that you’re able to reward that It never ceases to amaze me how (early) big tech embraced and even promoted things that would have been considered "career limiting" in traditional big corporations.

Don't know about your flavor of 'traditional big corporations' but my banking megacorp has internal reward system across various 'virtues' for a decade+ at least. Its not direct reward -> money link (thats rather for hiring success), it just helps you create sort of karma, and when bonuses, raises and promotions are considered then this is taken into account.

Since that process is invisible to those being measured you never know details (and shouldn't as long as management is sane, and if isn't this the least of your concerns), but its not ignored and in this way it helps keeping people motivated to generally do good work.

Re: Working on complex systems: What I learned working at Google

#47
post #22
post #17

Earlier quoted context omitted.

The idea is if someone helps you in a really big way that you’re able to reward that. So you can ask the company to give the person either credits for an internal store, or a direct addition to their salary for one month. Obviously, there are limits to how many pay bonuses you can give out and if it’s direct money or store credits. Directly asking for a peer bonus’ is not very “googly” (and yes, this is a term they u…

My last workplace had a similar institution, only the reward was candy bar or similar that you could go grab from a bowl in the kitchen (working on an honor code basis), in addition to getting some praise on Slack for general warm fuzzies. It was more of a symbolic gesture for recognizing small everyday things, of course, but it was nice IMO.

[flagged]

Re: Working on complex systems: What I learned working at Google

#48
post #18

I think there are two myths applicable here. Probably more. One myth is that complex systems are inherently bad. Armed forces are incredibly complex. That's why it can take 10 or more rear echelon staff to support one fighting soldier. Supply chain logistics and materiel is complex. Middle ages wars stopped when gunpowder supplies ran out. Another myth is that simple systems are always better and remain simple. They…

> Middle ages wars stopped when gunpowder supplies ran out

Ukraine would be conquered by russia rather quickly if russians weren't so hilariously incompetent in these complex tasks, and war logistics being the king of them. Remember that 64km queue of heavy machinery [1] just sitting still? This was 2022, and we talk about fuel and food, the basics of logistics support.

[1] https://en.wikipedia.org/wiki/Russian_Kyiv_convoy

Re: Working on complex systems: What I learned working at Google

#50

Earlier quoted context omitted.

Let's add a post post scriptum :) Just because your project might not be at Google's scale doesn't mean it is therefore also not complex [^1] Example: I'd say plenty of games fit the author's definition of "complex systems". Even the well-engineered ones (and even some which could fit on a floppy disc) [1]: https://en.m.wikipedia.org/wiki/Affirming_the_consequent

Speaking of games, why hasn't google made a game. They could create a gaming division and well... make one. Amazon did. I wonder why they haven't.

Google has a really hard time grokking the games industry, to the point they can hire people from it and just almost totally ignore them. Their ideas on how Android game development should be done were utterly hilarious, and it's only because of a couple of their dev relations people going to ludicrous lengths that it is actually viable at all.

Fundamentally, and ironically, Google likes to offload complexity on to everyone else in their ecosystems, and they got so used to people being willing to jump through hoops to do this for search ads/SEO they are very confused when faced with a more competitive environment.

One reason Google can't make games is they can't conceive of a simple enough platform on which to design and develop one. It would be a far too adventurous constantly moving target of wildly different specifications, and they would insist you support all possible permutations of everything from the start. There are reasons people like targeting games consoles, as it lets you focus on the important bits first.

Post reply on HN