2,951 karma · joined August 28, 2011
It makes sense on paper: latency isn't an issue because Google's network is excellent. The browser is a widespread and powerful distribution network which gives you access to both desktop and mobile. The cost of development should be lower because you don't need to buy expensive development kits and licenses/certifications.
My personal view is that this isn't a technical problem but rather a bizdev problem, and Google's approach to solving things tends to be "throw out some tech and hope people use it," which is straight up not going to work with investment-heavy industries like games.
As for why not do this in indexing, of course they’re doing that. They’ve been doing that for a very long time, but that approach can only go so far. There’s a constant cat and mouse game between websites and search providers, and AMP is a way to end it once and for all.
It’s important to stress that the motivation here is largely user-focused. People tend to ascribe to Google these shady Oracle-like motivations around screwing users and developers, but the truth is that moves like this are largely motivated by a desire to improve the experience. Not out of any sort of altruism, mind you, but because what’s good for the user is generally good for Google.
WhatsApp had the advantage of growing slowly and segmenting their users with time to experiment and tweak things. The Google chat apps came out at once, and it’s possible there were so many because they tried to come up with a working segmentation for all addressable users from day one instead of growing organically and grabbing each segment one at a time.
AMP serves a critical strategic purpose: it severely disincentivizes crappy, JS-heavy websites on search results and as a result makes people less likely to install adblockers. Google is terrified of adblockers going mainstream, to the point where they’re willing to risk anticompetitive suits by creating their own. AMP is a part of the effort to prevent that from happening.
Meanwhile, consider Reader. A product with only a couple million users, mostly pointy-headed techie types, that doesn’t drive business to any money-making effort, with no alignment with any stategic effort, that could be reimplemented by a particularly talented and hardworking high school senior, staffed by about a dozen engineers. That product will be the first on the chopping block, if only to encourage those engineering resources to find more profitable employment.
To understand why this keeps happening, you need to understand the product and engineering culture at Google. As a group, Google engineers and PMs are obsessed with promotion. At the heart of every conversation about system design or product proposal lies an unspoken (and sometimes spoken) question: will working on this get me promoted?
The criteria for promotion at Google, especially at the higher levels like SWE III -> Senior and especially at Senior -> Staff and above, explicitly talk about impact on the organization and the business. This has consequences for the kind of teams people try to join and kind of work they choose to do. Maintenance engineering is so not-rewarded that it's become an inside joke. Any team that isn't launching products starts bleeding staff, any project that isn't going to make a big splash is going to be neglected, and any design that doesn't "demonstrate technical complexity" will be either rejected or trumped up.
This is as important in the product management, people management, and general leadership roles as in engineering. The incentive throughout is to create a product, launch it, apply for promotion, and move on to bigger and better things as soon as possible. In my time at Google I saw organization after organization pay lip service to rewarding maintenance and "preferring landings over launches" and “improving product excellence” but (at least in my experience) nothing stuck.
Usually an organization starts with a top-down direction and the rest of the company is compensated for executing it. Not at Google. The "let a thousand flowers bloom" approach that developed from the early days of twenty percent time and total engineering independence has created a disorganized mess of a company. Multiply the individual incentives fifty thousand times and you get a company that throws stuff at the wall to see if it sticks, and if it doesn't kills it immediately.
Edit/Addendum:
This is also why GMail, YouTube, Search, GCP, Android, and others aren’t going anywhere. They’re making money, they’re core to the business, and there’s plenty of opportunity to work on them and get promoted. They all also share one thing in common: deep down they’re frontends for search or advertising (GCP and Apps are an exception because they make money on their own). Measuring and proving impact on search numbers is a well-known promo narrative at Google, so those products are a safe bet for employees and users. Streaming game services, not so much.
> Those puzzles are fun to talk about and solutions to them can be very insightful. I used to enjoy lots of them reading Mathematical Recreations and Essays as a kid. Don’t take me wrong, they are fun.
> However, no matter how fun they are, they are merely anecdotes. The property of a puzzle is that you either know the answer to it or you don’t.
I disagree with how the author lumps these questions together. Questions like "Find all permutations of N elements doing only N-1 swaps" are actual brain-teasers and typically require a flash of insight and creativity beyond what most people can do within a 45 minute interview. Questions like "Does one N-dimensional box fit into another N-dimensional box" are algorithmically challenging and can be approached from first principles and solved within an interview. One question does not carry signal, the other does not, and by categorizing them together the author suggests that neither are useful.
Contrast this with how Apple became a privacy bulwark. No one asked them to encrypt iMessage and implement Secure Enclave and disable USB communication after 24 hours of screen lock or any of the other myriad security improvements they've made. They did it proactively, and they've been rewarded with perception accordingly.
My prediction: this is going nowhere. Zuckerberg promised a "Clear History" feature almost a year ago, and it's nowhere to be seen [1]. What reason do we have to believe that the company built by a Mark "Dumb Fucks" Zuckerberg [2] which failed to deliver the last round of promised reforms and used PR firms to discredit its opponents [3] has suddenly seen the light and is pivoting to privacy? Get real.
[1] https://www.recode.net/2018/12/17/18140062/facebook-clear-hi...
[2] https://www.theregister.co.uk/2010/05/14/facebook_trust_dumb...
[3] https://www.theguardian.com/technology/2018/nov/21/facebook-...
https://operawire.com/a-philip-glass-opera-confirmed-for-met...
Facebook, Google, Apple, LinkedIn, Netflix, etc don't do brain teasers and they're not on this list.
EDIT: whoops, Netflix is on this list, my bad
Lately I’ve started instituting a practice where whenever I think to myself “what if it goes horribly wrong in this specific way?” I think “yes but what if it also goes right in this other, equally specific way?” I find simply the act of thinking of a positive outcome distracts enough me from the horrible outcome to allow me relax. As an added bonus, at the end of the day my good case scenario and my worst case scenario are often about equally likely to occur given the scarce information I might have in the moment.
I find this exercise makes me less anxious, more able to handle stressful situations, and more resistant to uncertainty.
> When we follow “right to be forgotten” laws, we are censoring search results because we’re complying with the law. I’m committed to serving users in China. Whatever form it takes, I actually don’t know the answer.
This is an important point: Google has a lot to offer Chinese users. From providing a trusted search engine in a context where people still trust foreign products over Chinese ones, to simple access to its services which, let's be honest, are pretty solid for the average user. It's fair to criticize the company for trying to find a way to access an environment that will almost inevitably demand some degree of censorship, but it overlooks the real good that that such a presence would deliver.
Much of the criticism I hear of Google in this case centers on their presumed willingness to tolerate censorship. Pichai makes a good point here: complying with some degree of censorship imposed by a regime is just the cost of doing business in an international setting. No one is howling for Google to pull out of Europe after the ridiculous "right to be forgotten" censorship ruling. You can quibble about where to draw the line; censorship out of a misplaced desire to protect privacy and censorship to prop up a repressive, authoritarian regime are far from equivalent, but in either case it's a cost-benefit analysis with principles on one side and the potential gains for users on the other. This quote suggests Pichai hasn't yet found the best way to do that, or even that he ever will.
And to those cynics out there who will throw out thirst for profits, I say: if money were as strong a motivation for Google as y'all seem to think it is, Google would have never left China to begin with. They (full disclosure, we) lost tremendous leverage in that market when it became obvious that operating in China was not sustainable.
In this context being upset at an organization for "tax avoidance and sidestepping labour regulations" seems to me to be about as rational as being upset at water for flowing downhill. What's more, there's nothing inherent to these loopholes that favors American companies, and yet it's almost universally American companies that are being targeted for this regulatory mob justice.
I call sour grapes and attempt to reformulate my original point: American companies, the most vigorous of which have emerged victorious from the survival-of-the-fittest meat grinder of the American business environment, have set their sights on the comparatively sclerotic European continent, and are on a tear. To which the European system responds not by encouraging competition, thereby strengthening its own offerings in the long run, but by backdoor regulatory protectionism.
I'm sure it's satisfying in the short term to siphon off a fine here and a tax there from these companies, but they're just going to keep coming. Either the EU steps up its approach to competition or it drowns in American tech prowess.
Europe in general but France in particular seems completely unprepared for the changes technology and the web are still rolling out. The market seems to me to be a morass of entrenched, sclerotic industries that grew fat after decades of governmental protection. Naturally, in many cases the response is simple: more governmental protection.
As dominant as Amazon it, at least in the US is has a nascent rival in Walmart, a massive retail chain that's frantically piling onto the internet to try to catch up. The American system has produced a challenger to Amazon's mega-consolidation by seeing another champion of mega-consolidation attempt to pivot its business. Where is France's answer to Amazon? Does France not have large national retail chains? Why are we not seeing companies to buying one another up in order to form like Voltron against a large threat like Amazon?
My (admittedly uninformed) impression is: because the competitive and regulatory environment doesn't seem allow for it. Laws on hiring and firing workers. Laws limiting discounts on books. Laws governing corporate takeovers. Why else would industries whose very existence depends on cushy regulatory favors have no way of dealing with tech giants besides more regulatory favors (Article 13, Article 11, Right to be Forgotten, the entire charade of fines for "anti-competitive behavior")?
Instead of ripping off the bandaid and establishing a new and competitive economy by deregulating, taking the hit, and nurturing a new generation of cutthroat competition, France and the EU has protected its weakest and least-competitive industries, to the detriment of its people and the world at large.
In 2012 I graduated from college and was deciding pretty much exactly this. I interviewed at Google and got an offer, and had to decide between that and the startup life. I ended up going with Google. My immediate thought process centered around money because I had substantial debts from university, so while I wouldn't have admitted it at the time, startups were kind of out of the question.
In the end, I'm glad I made the choice I did. Here are some observations about Google in particular, but I expect they extend to some degree to other organizations:
* Google places a lot of focus on development. The job ladder explicitly stresses growth, which places expectations on engineers to grow their abilities throughout their early careers. Equally important, it places pressure on managers to grow those same engineers: directors treat teams full of people whose performance evaluations aren't rising and who aren't getting promoted as a major red flag when evaluating the team's manager. I was consistently pushed to do more and bigger projects, and my work and abilities have flourished as a result.
* There's more than one way to "do things right" in engineering, but in my opinion Google's particular style nails it. Code reviews are mandatory. Rigorous testing is compulsory. Regular refactoring is held in high regard. Production environments are sacrosanct. SLAs and SLOs are explicitly made clear. SREs rule over the engineers, not vice versa. Detailed design documents are (at least in my org) mandatory. Postmortems are also mandatory. You literally can't even go to the bathroom without seeing a pro-tip about how to improve your project. Working in this environment for years teaches you to produce high quality work at a fast pace.
* As a result of all this, recruiters looove Google engineers. During the few times over the years when I considered letting myself get poached, I was being offered either extremely high-paying senior engineer positions at established companies, or high-ranking technical leadership roles at younger companies. Six years of developing my technical and leadership skills have paid off, and I'm convinced I'm more valuable now than I would have been if I had gone to a startup.
* This is my personal view on early-stage startups, and you don't mention your experience level, so it might not apply to you, but: keep out of reach out children. When you're staring down the barrel of a three month runway, you don't have time to learn, from scratch, how to solve technical problems and somehow foster an engineering culture that's going to pay dividends down the line as the company grows. Better to learn your trade in a safe and stable environment and then apply it to building a new organization once you're confident in it.
Finally, an anecdote about money. Graduating from an Ivy, I naturally had many trust funder friends who weren't aware of how broke I was and asked, to my face, "why would someone as sharp as you go to such a boring company." They went off and joined startups, took piles of equity in exchange for smaller salaries, and went off confident in their fortunes. Then, one by one, over the course of the next five years or so, they all requested referrals to join Google when they companies failed. I happy obliged, but I don't think a single one made it through the interview process. Meanwhile all this time I've been sitting pretty on a nontrivial-but-not-life-changing pile of cash, taking on ever more interesting projects, with a resume that companies salivate over.
As always, take my experience with a grain of salt, but that's just my view on things.
For a small company whose culture is in flux and needs the right person, it's absolutely a matching problem. You need to find the right person for the job, period.
At the scale of a company like Google, however, it's absolutely a filtering problem. First off, we're large enough that most (perhaps not all) people talented enough to clear our interviews will (given enough persistence) find a place where they can be happy and contribute. We can get away with not worrying about the subtleties of matching and instead only focus on technical skills.
Second off, the number of applications rejected for every hire is staggering, simply because of how many people apply. These numbers are fantasy, but imagine if you had to choose one person out of a hundred applicants, and you actually had the means to interview every single one. You're going to pay this person a quarter of a million dollars a year and aim to keep them for half a decade or more. The economically rational thing to do is be picky as all hell, and this is exactly how Google and friends do it.
If the committee sees a brainteasers, disagrees with a question, spots inconsistencies in the feedback, etc., they moderate their use of the feedback or ignore it altogether. There's also a mechanism to send feedback to the interviewer, which they can use to let them know a question is appropriate, banned due to having leaked, etc.
I have a pet theory that when people interview they bring this buried frustration into the room with them and use the interviewing process to play the part of the people they feel humiliated them. It's conceivable that people with latent meanness, or as this abstract calls it tendencies for "narcissism and sadism" who aren't aware enough of their biases to try to counteract them, will use these sorts of questions to make themselves feel better.
Also, and this is probably more specific, there's a bit of a mythos around companies like Google and friends that have tough interviews and high standards: they hire the best people, they're doing the best work, they're the smartest, etc. I can tell you from experience, that mythos doesn't hold up once you're doing you day to day job. I've seen people with stunning credentials doing what most would consider exciting work become genuinely bored. Perhaps for some of them interviewing is a way of reminding themselves of how desirable and high status their workplace is, to the detriment of the poor candidate.
And of course, as a disclaimer, this isn't even anecdote, these are my own personal musings on psychology. Don't confuse this with insight into the Google hiring process.
I realize this is beside the point, so downvote me if you like, but I'm not sure a Trump mouthpiece like the NY Post has any business calling people out for being petty and ungenerous...
Add to that the mostly-baseless anti-tech crusade the president and his media friends have been on for the last year or so, I'm very surprised to see this rag getting any sort of traction at all on HN.
What are your experiences with this? I've thought about doing this but decided against it because I figure the candidate's anxiety and stress levels are already high enough without the knowledge that they've been given a problem that's impossible for them to solve.
I presume it's Google and Facebook's extremely high hiring bar that you're attributing to elitism? Let me attempt to reframe that for you in a way that I hope will let you let go of some of the anger I'm picking up on:
There's no denying that Google and Facebook target top-tier institutions and put their candidates through hell. However, I don't attribute this to elitism. I personally got my start at a less-than-stellar CS program, and I go out of my way to recruit there as an alum. I've detected no elitism from any recruiters, interviewers, or hiring managers, and I've seen a number of people hired as interns and full time engineers as a direct result of my outreach. If Google were as elitist an organization as you seem to think, I and the people I've helped get hired would never have had a chance.
So then what explains the high bar? Simple necessity. I can't share details, but the number of applications we receive for every opening is staggering. What's more, when we approach people in industry and academia, we see a high rate of interest. The blunt truth is that we are more selective about hiring because we can be. When a hundred people (not real figures) apply for each available posting and your hiring pipeline is staffed well enough to interview all of them, you'd better believe you're going to hire the best one in that pool. This isn't a Google thing, this isn't a Facebook thing, this is a rational actor thing.
So no, I don't think you're stupid for coming up with a suboptimal solution, I have no reason to think you're a bad engineer, and I wouldn't reject you because your background. However, given a pool of candidates of whom some got as far as solution 3 and some got as far as solution 1, I'm going to more enthusiastically recommend hiring the ones who got solution 3.
If someone fails to design anything more sophisticated than number 1 despite my guidance, or takes an unreasonable amount of time to implement it, that’s a signal.
Also, let’s keep in mind a hiring recommendation isn’t a judgment of a person’a abilities as an engineer, it’s a judgement of how badly we should be trying to hire them relative to other candidates. My LNH is a statement that the candidate is solid but not stellar enough to extend an offer to. If our hiring pool were restricted or we needed to hire more people my assessment would be accordingly softened.