Acquisition and maintenance of a band of minions
rachelbythebay.com
rachelbythebay.com
First, Google really doesn't care as much about education as people think they do. They do love experience. I never graduated high school, and was hired into an SRE position (= programmer writing large-scale sysadmin tools) based on previous work experience. Grades are only useful if you've got nothing else to show off.
Second, if you want employees to be loyal to a company with unusually good perks, taking them fresh out of school is a terrible approach. Many people working here indeed have no real idea what working at non-tech companies is like, and that means they assume every other company is like Google. I have heard stories of employees getting frustrated on some project, leaving to work at (e.g.) a bank or webdev shop, and not realizing until their first day that there's no free food, or gym, or weekly heckling of the CEO. I used to work at a defense contractor, I know what it's like being a programmer employed at a non-tech company, and I don't want to ever go back.
(In other words, Google might get better retention by implementing Rumspringa)
Third, the proprietary parts aren't as pervasive as the article portrays. Our Linux kernel has weird Google-specific interfaces, but they're always in some stage of upstreaming and will eventually be in Linus's trunk. Our RPC system uses the same protobuf rpc-stubs that are generated by the open-source protobuf compiler. Desktops and Laptops run stock {Ubuntu,Windows,MacOS} with a few extra binaries. MapReduce and BigTable were published and inspired dozens of open-source implementations. Many of our Python-based tools have web frontends written with Django. Many systems persist data in MySQL.
When Google engineers avoid particular in-fashion systems such as Rails or MongoDB or node.js, it's not because we're ignorant of them, it's because we think they're not good enough.
MongoDB does not provide this type of visibility. Either within that common toolset or in any other way.
That could easily create a bias towards using things made in 20% time in preference to industry-standard tooling.
In reality I assume it's a combination of the two: Sometimes the internal tools really are the best for Google's specific needs; other times there's probably Not Invented Here Syndrome at work, same as anywhere else.
As for proprietary parts not being important, I have major disagreements with your characterization of how well the linux kernel upstreaming works (having worked in that team) and other assertions about stock desktops (Stock Ubuntu ? Really ?) but I suspect that discussion will quickly veer into areas of confidentiality (if it hasn't already).
As for MapReduce and BigTable, I'm still wishing and hoping for the open-source world to catchup with the originals (Why do people keep writing enormous in-memory data stores in Java!??) Enough said.
> there's no denying that google recruiters covet fresh
> college grads from well-known schools and your grades in
> school are an important factor.
Sure, Google recruiters hit up Stanford and MIT just like every other tech company. But they don't reject candidates for having a non-ivy-league background. > I have major disagreements with your characterization
> of how well the linux kernel upstreaming works (having
> worked in that team)
From within the team it may have seemed bad, from from nearby teams it's apparent that there's a lot of progress in upstreaming. All of the cgroup stuff, for example, seems to be going in relatively smoothly. > other assertions about stock desktops (Stock Ubuntu ? Really ?)
Based on your LinkedIn you left in late 2012; there's been a lot of work with Canonical since then on reducing how much customization Google needs to do for its desktops.LOL its about 10x funnier if you read it as a seminary allegory. It really does fit pretty well.
Protocol Buffers was this back in ... 2007? Too bad Thrift happened first, right?
This is leading up to the kernel of another post: how to undercut the competition: hire the people who created their Secret Sauce, then have them build it again, but this time, release it to the world. Now the competition doesn't have their exclusive magic carpet to ride around on any more.
I guess it's a viable strategy, but nobody likes it when it's done to them.
Now, however, every time they release something like this, I just crack up laughing. The servers, the software-defined switched network, all of it. It just keeps going. The real magicians have moved on and are now sharing their creations with the rest of the world.
If only I had a copy of that internal post which basically said "either we open-source our own stuff, or other people are going to do it for us, and we're going to be behind the eight ball". I want to say it was a Yegge Buzz post but I can't remember for sure. It's been three or four years.
Leakers, you know how to find me. Contact info in profile.
It's also interesting to look at the mailing list for Cap'n Proto - there are a bunch of folks from FourSquare, Twitter, etc. helping out. Many of them are ex-Googlers, and many cited being big fans of proto2 as their reason for helping out with Cap'n Proto.
The proprietary thing is dead-on, though. I started listing major proprietary technologies, got close to twenty, and decided I wasn't sure how much of that was trade secret, and deleted it. Google technology looks like we're on a different Galapagos island from the rest of tech, and the landbridge sunk into the sea in 2003, and once in a while a bird in a windstorm carries a seed across. Usually Google tech is superior to comparable outside tech, sometimes it's inferior.
As an aside for Googlers, have you seen that Facebook thing "Buck", that some ex-Googler named Michael Bolin "invented"? I don't even know what to say.
What? I've found some very intellectually stimulating discussions here. I don't get the PhD === intellectual thing you're talking about any more than I get the mainstream media equating Edward Snowden's high-school dropout status as indicative of his intelligence.
In fact, Snowden seems like a classic intellectual whereas your claims that possessing a PhD correlate highly with intellectualism seem somewhat suspect given my own experiences with possessors of PhDs.
Intellectualism is just an interest in ideas and exploring those ideas, and formal educational achievements don't indicate anything other than formal educational achievement.
| "having a PhD" correlates strongly with "lacking
| the ability for independence of thought or action"
| is pretty ridiculous
| Those without the ability to act, plan, or
| motivate themselves independently do not make it
Does not translate to, or paraphrase as: | PhD === intellectualIn considering the entire sentence, it seems that the argument is:
PhD !== inability for "independence of thought or action", which is a sign of anti-intellectualism on HN (presumably because having a PhD has some sort of implied relationship with intellectualism.) The holding of a PhD is the object of criticism in OP's eyes, the criticism being an expression of anti-intellectualism here.
I certainly agree with OP that both PhD holders or non-PhD holders can be intellectuals or can be "non-intellectuals," but I was merely pointing out my impression that having PhD doesn't imply anything other than fulfilling the criteria to obtain a PhD.
Acting and planning have nothing to do with being an intellectual in my opinion. Those are organizational skills. Intellectualism is more a love of ideas and exploring those ideas, in my obviously not so humble opinion. I've met PhDs that were incredibly erudite about their specific field but completely disinterested in anything outside it, which I would consider "non-intellectualism."
in·tel·lec·tu·al·ism
Noun 1. The exercise of the intellect at the expense of the emotions. 2. The theory that knowledge is wholly or mainly derived from pure reason; rationalism.
It might be more accurate to make the hypothesis that there is an anti-phd and anti-education sentiment here on HN rather than an anti-intellectualism sentiment.
Your post is a good example of this. First you set up your own definition of 'intellectualism' in a way that most PhDs fail. Namely, you imply that intellectualism involves breadth of knowledge. Then, you go on to claim that most PhDs are not intellectuals, but of course you and presumably your non-PhD social group are intellectuals. Why do this? I've seen others here setup different sorts of scenarios to try to claim PhD holders are somehow inferior.
A common one that has been put forth several times here on HN involves a hiring manager setting up a situation where they underpay prospective PhD hires by a huge margin. So much so that they pay them less than non-PhD hires. Naturally, being so at odds with actual market rate for CS PhDs, this results in only the very worst possible candidates: those who didn't get a professor position and further didn't get into one of the many high paying jobs. They heroically conclude that in their experience all PhDs are useless.
This is really not a nice part of HN.
Let's go back to the original comment about "having a PhD" correlating with a lack of independent thought. Again, one of the very requirements of a PhD is that it must be produced from independent thought. It must be your own work, not that of your advisers, and even more so, it must be novel, not something you might have learned from others.
You can argue with the effectiveness of enforcing this, but in my experience it really is something that is thought of during PhD defences. Claiming that the reality of the situation is the complete opposite of this is an extreme claim that Rachel didn't back up in the slightest.
This capacity for creative work in pursuit of others' ends is exactly why Rachel says PhDs are such valuable minions.
The book "Disciplined Minds" [1] makes this point in a radical way. I didn't agree with everything it said, but its point is that higher education selects for people willing to jump through arbitrary hoops for nebulous returns, and that that conformism is valuable to employers.
[1] http://www.amazon.com/Disciplined-Minds-Critical-Professiona...
External funding means there will always be some compromise but couldn't we draw a similar analogy with companies and their customers? I would hope a phd program would allow someone to work on their interests (aligned with their advisor's) for a much longer time than a comparable job in industry would allow.
They don't question the advisor's goals? Do they now? I found that learning how to manage your boss is the one most important soft skill to have doing one's PhD. Compare that to your garden-variety BSc program, where the only thing you do is dutifully attend lectures and hand in homework.
I do wonder what kind of people makes that sort of statement. It can only be those with nothing more than a BSc - they have attended a university but don't know how the sausage is made.
"Remember also that profesional training is preceded by at least 16 years of preparatory socialization in the schools. Students who go on to professional training tend to be the "best" students—those who, among other things, excel at playing by the rules. [...]
"Alone in a large program designed to mold you, you cannot uphold an independent outlook for long. By yourself you can't even maintain a point of reference against which to sense that your outlook is drifting and to gauge how far it has drifted, because the training system, so as not to sabotage itself, excludes sources of critical distance."
It even meshes with what ender7 said. He wrote, "once you get into a PhD program you are shockingly, horrifyingly alone." And he pointed out the preparatory programs.
The book also delves into your point about "learning how to manage your boss". Many cynically "play the game" and generally do a bit better than those who don't. But even that's part of the system. You know the rules and still subordinate yourself, ironically believing you're in control of Big Boss. Remember, a boss is defined as someone who gives you commands which you obey. An inherently pathetic position, which many frankly call (wage) slavery. The court may plot and scheme, but the king is still their king.
Try watching some Game of Thrones.
I don't have a strong agreement with the feudalistic argument, but I do recognize the analogy as it as applies to the PHD program and obviously in a somewhat separate way (or maybe not so separate way...) how it applies to obtaining minions.
FWIW, the part about never deviating from the "One True Way" or the description of Google as "a rigid environment with adherence to arbitrary guidelines" is simply not true. One of the things that is brought up in the initial orientation is that Google is meant to be fault-tolerant and flexible across the board. From an engineering aspect this means that if a single server crashes due to bad code, the system should be flexible enough take steps to recover. From an employee aspect, if the employee isn't happy with their job, they should be able to flexible enough to take steps to recover.
However, since Google doesn't micromanage its employees, the employee might forget that this is an option and remain unhappy. In my case, I realized that I wasn't happy with my position a few months after joining the company, remembered what I was told in orientation, talked to HR, and moved to a different position where I was much happier.
If I thought the rules were actually inflexible, then I would have stayed in my original position, got burned out, quit after a few months, and probably complained about the company to others. Google is flexible, but requires the person to actually take advantage of this flexibility.
1. At another large (but not XXL) "Internet" company, none of the Google SREs have made the SRE hiring bar, precisely because half their answers to "How would you solve problem XYZ?" are "Oh, I'd just use $ProprietaryTechnologyGHJ", to which the response is, "Well, but we don't have $ProprietaryTechnologyGHJ", to which the response is "Uhhh..."
2. Of the couple Google (non-SRE) software engineer interviewees I am directly aware of, nobody has made it through either, partially for similar reasons (reliance on opaque external services). To be fair, their other shortcomings were more significant.
3. One Googler that I know confided that they are terrified of leaving Google, because they wouldn't (paraphrasing) "know how to code in the outside world."
4. Yet another Googler I talked to said that their stack is unimaginably huge, and nobody knows how all of it works, which was (quoting) "probably by design." Make of that what you will.
I'm not sure I believe any of this. Very little of the work we do at Google involves feeding data to some tool and sitting back and watching the results. It's software engineering and problem solving as usual, just with some nice libraries and tools to save time for the hard parts.
I'm especially confounded as to what SRE tools would cause someone to "not meet the hiring bar" by responding to a question by saying "I'd just use some proprietary technology". I can't think of any tools that are useful enough to be the singular answer to an open-ended question, and I can't imagine anyone wanting a job saying "just use this tool you've never seen before" in an interview. It's unbelieveable.
Being used to certain tools is not specific to Google, either. If you ask a Python programmer trivia questions about Ruby, he's not going to know the answer. But given a week, he'll probably know the answer.
Another Googler I talked to said that their stack is unimaginably huge, and nobody knows how all of it works, which was (quoting) "probably by design." Make of that what you will.
The stack is big but there is nothing preventing one from understanding other than that it mostly works and so one is not forced to understand it. The code is there and you can start it all up locally on your machine, so I don't really see the problem. It's not huge to keep unhappy Googlers from finding other employment opportunities, as you imply.
Anyway, I can't believe I replied to this post and am now going to click the reply button, but here goes...
I comment very infrequently, but only use throwaway accounts as a personal policy based in part on HN-the-community's response to my opinions and HN-the-website's aggressive response to downvotes. (I'm actually re-using a previous throwaway because my last throwaway was autodead-on-arrival. Flagged IP maybe?)
Anonymity is not really the point; In fact, there are HN members who might figure out my identity simply because they were directly involved in these experiences.
The SRE anecdote may seem unbelievable, but why would this have been the case with multiple Google SREs? I did not imply that their work at Google consists of waving a magic wand and things getting done; it's more likely that the basic building blocks of Google's infrastructure are very powerful, and you don't have to worry about a bunch of things that other SREs have to. "Nice libraries and tools" is an understatement. Seems it's not only that they are reliant on $ProprietaryTechnologyG, they could not explain how $ProprietaryTechnologyG works or even describe alternative methods they'd use instead.
On the other hand, it is possible that it's only been the lesser SREs that have been interviewing around.
Also: The two Googlers I talked about (one of whom has been there longer than you, if I remember your HN comment history correctly), are doing very interesting work, and are very happy at their jobs. As a disclaimer, I know one well and the other I met only once. Nonetheless, they, in no unclear terms, said what I paraphrased and quoted above.
I didn't mean to imply that the stack was made so huge to keep unhappy employees in. In fact, I did not mean to imply any intent at all. However, as you said, since employees are not forced to understand it, most of them don't, and this becomes just another factor to consider when thinking of changing jobs. Not knowing the whole stack is perfectly fine, but when critical pieces have no comparable equivalent in the outside world, your skills become less transferable. (Plus, you might not feel like leaving all that good stuff behind!)
As I said in another comment upthread, the "proprietary stack" aspect at Google seems to be more pronounced than at other companies like Microsoft. I mean, come on, it's a commonly accepted fact that it takes a year to become productive after you start at Google. What reasonable conclusion about the stack can one draw from that?
Guessing the actual company, if there is one, is kind of disingenuous to the article's message itself though, since it is good depiction of the "ideal" company most of us would want to avoid.
If nothing else, almost everyone I work with is on their second or third career. I'm possibly the youngest guy on my team, and I'm 30. That said, I work out of the Seattle office. Lots of Amazon and Microsoft expats. Nobody around me seems to have any interest in going back.
Perhaps Mountain View is different, but the Seattle office sure seemed to be full of experienced, hard-working, basically contented engineers. It had many of the same faults I have come to associate with any large company, sure, but when the linked article asks "does any of that sound familiar", I have to say, "not really".
There's plenty of people out there who want to be told what to do and don't care to spend time thinking about the moral ramifications of their employment, including a great many skilled and experienced programmers. As long as they can choose how to implement what you want, they'll happily implement what you want, collect their paychecks, and go home.
Of course, that means you'll have to write extremely detailed specifications, which is a big pain in the ass. And you'll be the only one trying to figure out whether your product is actually something people want, so you damn well better be right.
Minions don't play hackysack unless they can exclude someone.
also, early on (before the backpacks and logos), talking about capturing them young reminded me of http://www.nsa.gov/kids/home.shtml