Live data from Hacker News

Google: 90% of our engineers use the software you wrote (Homebrew), but...

twitter.com

151–160 of 683 posts

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#151

Earlier quoted context omitted.

The problem is that Homebrew is very different from the sort of package management tasks that Google deals with. The design goals for Homebrew include: make it easy for users, make it not require root, make it work on Macs, handle dependencies robustly. If he were at Google it would be Linux-only, he'd be using Linux containerization extensively, he'd be deploying packages to thousands of machines instead of one, it'…

If you are hiring the Homebrew dev, and your devs currently use Homebrew, why wouldn't you hire him to work on Homebrew for you?

> If you are hiring the Homebrew dev, and your devs currently use Homebrew, why wouldn't you hire him to work on Homebrew for you?

Macs account for something like 8% of the total marketplace of all PC's. For developers, they account for something like 20%... another 20% on Linux, and remainder on Windows or other.

So even if somehow having a paid Google employee work on Homebrew seemed advantageous, it would only benefit 20% of Google's staff, and 0% of the company itself (all Google servers are Linux).

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#153

Earlier quoted context omitted.

The problem is that Homebrew is very different from the sort of package management tasks that Google deals with. The design goals for Homebrew include: make it easy for users, make it not require root, make it work on Macs, handle dependencies robustly. If he were at Google it would be Linux-only, he'd be using Linux containerization extensively, he'd be deploying packages to thousands of machines instead of one, it'…

If you are hiring the Homebrew dev, and your devs currently use Homebrew, why wouldn't you hire him to work on Homebrew for you?

Last I knew, Google corporate Macs don't include Homebrew. (I left Google a year ago, things could've changed since then.) I'd be very surprised if it was allowed, I have an open-source project that's available via brew and I've had people at other companies tell me that anything brew-only is a complete non-starter at their company because Homebrew isn't allowed for security reasons, and Google cares a good deal about security.

I assume that the dev was referring to Googlers' personal laptops with the "90% of your devs use Homebrew". It's not unreasonable to estimate that 90% of Google engineers use a Mac as their personal machine, although 90% using Homebrew is probably an exaggeration. A lot of Googlers use their corp machine as their personal one (they're not supposed to, but it's hard to police when all you do is surf the web), and the majority of them don't have side projects outside of work. I didn't install Homebrew until after I left the company, since before then all my code belonged to Google.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#154
post #79

Earlier quoted context omitted.

I wondered this as well! As far as I can tell - I asked google and looked at what it came up with :) - it means swapping children.

I don't even understand why you would ever want to do this. You could just invert the input or output at the beginning or end (depending on what the binary tree is used for) for super cheap. It's not uprising that no one has done this in practice, though it also seems trivial (visit each node once).

It's an interview programming question, so what matters is that it's a good interview programming question, not that it's something you would ever want to do. It's an important distinction. Generally you're looking to test candidates' abilities to come up with efficient algorithms to solve problems, which you're not going to get if you ask them to, say, tweak the order that fields are displayed on a web app form (even though that's a "real programming task").

Although I do see this as something you could possibly do "for real". Sometimes you'd rather change your existing data once than continue carrying forward what amounts to hacks, which is what inverting the output would amount to. Reversing a binary tree would be what you'd run in a tool to migrate all of your data over from the old format to the new format.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#155
post #70

Has no one stopped to question what Google may have been looking for in a candidate? The OP has written some great apps, sure, but there is a huge difference between writing a package manager for Mac (among other Mac/iOS apps and utilities) and writing incredibly complex, highly performant algorithms for say search indexing, machine learning, ai, etc... In that context, knowing CompSci basics like Binary Trees (usual…

If you follow the twitter discussion, it says he applied for iOS tools. I don't know what tools they write but I'd be surprised if someone who manages to write a (pretty good, actually) package manager can't solve the problems in this position.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#156
post #28

We're trying a different approach at Sourcegraph. In addition to looking at a candidate's prior work in open source if available, we ask them to complete tasks that approximate the job as closely as possible (i.e., coding on a computer): https://sourcegraph.com/blog/programming-interview Would love to hear people's thoughts and feedback!

From your blog post:

> The code is reviewed by the interviewer > but probably never run.

This is what surprised me during an interview with Facebook. I tend to write a little code, run it to test it out, write a little more, test again, and so forth, you know, rapid iteration or whatever the fancy industry term is these days. The interviewer gave me these silly little shell scripting problems (silly in that they ought to have been easy and clearly had nothing to do with real life work) but instructed me _not_ to run the code. How the heck am I supposed to know if I've solved the problem? How will I know if I even have the right approach? I don't consider myself an expert software engineer and so probably not a fit for the position, but that style of interview definitely hamstrung me.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#157
post #47

What does it mean to invert a binary tree? I'm not familiar with this operation on binary trees. Does it mean to swap parents with child nodes? Or to swap siblings?

In this case, it means to reverse the binary tree, so that you get the largest item by iterating down the left branch to the bottom of the tree. You would do this by breadth-first scanning the tree, swapping the left and right pointers as you go.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#158
post #104
post #15

At a certain point, your resume should speak for itself. The fact that experienced engineers with impressive resumes are put through these types of interviews is insulting and frustrating to the interviewees. Succeeding at these whiteboard questions requires weeks of preparation. You need to practice, practice, practice. After enough practice, you are pretty likely to pass. So ultimately, it is more of a test of "how…

I don't necessarily agree though, I think if you can reason about a problem, you are infinitely more valuable than someone who memorizes problems and just applies them blindly. Correct me if I'm wrong, but a binary search tree is a very simple data structure. It has rules, and just by it's definition, and the definition of "inverted", you should be able to come up with an iterative solution, even if it's just walking…

Typing "how to reverse a binary search tree" into google is not the same thing as solving a problem.

If these problems were so reliant on individual problem solving ability, there wouldn't be dozens of books with reams of answers to these questions on the market. These questions test memorization and nothing else.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#159

Earlier quoted context omitted.

> maybe Homebrew is amazing, but Google can hire the best people in the world. Then why don't they? I wouldn't consider "the best people in the world" those that can pass an advanced CS class.

so for you "best in the world" is not someone good at CS. similarly, for Google it appears best in the world is not someone that made a popular tool.

And so Google can continue to lose talent to competitors, or have potential hires go off to start their own startups they can then pay a premium for, while keeping "good enough" talent for existing initiatives.

I'm starting to realize why Google is absolutely terrible at any sort of customer-facing product.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#160
post #15

At a certain point, your resume should speak for itself. The fact that experienced engineers with impressive resumes are put through these types of interviews is insulting and frustrating to the interviewees. Succeeding at these whiteboard questions requires weeks of preparation. You need to practice, practice, practice. After enough practice, you are pretty likely to pass. So ultimately, it is more of a test of "how…

[deleted]
Post reply on HN