Amazon to Uber: From the lens of a software engineer - <AUTHOR> https://medium.com/@divijvaidya/amazon-to-uber-from-the-lens-of-a-software-engineer-e5bd1c38caba <comment><USER2> I'm at Amazon now. None of the teams I've been on have had an absurd on call burden but I do know of teams that do (not in my org) and therefore struggle with high turnover (people don't really leave Amazon burn just switch teams in my experience).

Overall, it's made me better leaps and bound as an engineer prior to when I joined. Over the years when I've picked up a book on scalable systems or design, I easily identify the patterns of failure or whatever topics mentioned because I've had to deal with them on the job.

Amazon isn't for everyone. My stress and anxiety level is generally pretty high.

I work with really really really bright people (compared to my previous companies) but being extremely intelligent doesn't speak to your character. As a matter of fact, really intelligent people with bad character are 100x worse than Todd from my previous company who did very little work and was merely collecting salary.

If you have an opportunity to work for Amazon, at least as an SDE I say definitely go for it. But, if you want a relaxed 8-5 job, it may not be the place for you. The teams I've been on are full of overachievers but too many of those people in one room isn't always a good thing.

<comment><USER3> > My stress and anxiety level is generally pretty high

Yep. Amazon is not subtle and demands its ROI on you to be HIGH.

<comment><USER4> More people need to realize that a company is employing you so you can out earn your salary. If you think you are making more than you make for the company, you're expendable.

<comment><USER3> Well, there is nothing I would dispute about this claim, this is a capitalistic world after all.

But as regards to the comment about being 'expendable', I am certain to get a job out side of Amazon pretty easily depending on my own skill. In other words, this is a market that both companies and employees can play.

Amazon's strategy isn't focused on retention of long term employees, then it is its own choice, there is always a trade-off.

<comment><USER5> It's also a short-sighted approach. What can end up happening is hiring a lot of college grads to fill head count and get stuff done. And while they try their best, they lack experience or aren't mentored/trained because of a shortage of senior engineers.

So now your product needs a bigger team to handle it and the ops load increases or feature work slows. So now your senior engineers get frustrated and leave/switch teams. So then you hire more college grads and throw them into the meat grinder... meanwhile your products suffer [0] and the competition is catching up.

BTW, checking that sub-reddit is a good idea before joining an established team.

[0] [https://www.reddit.com/r/aws/search?q=sucks&restrict_sr=on](https://www.reddit.com/r/aws/search?q=sucks&restrict_sr=on)

</comment></comment></comment></comment></comment><comment><USER6> I like the post, but would like the OP to do a recap after working 12/18 months or 2-3 teams in Uber. 1 month is too short of a time to have meaningful outlook of the current situation.

<comment><USER7> How often do you typically switch teams at a Big N company? I recently graduated and started working at a large engineering company and it seems that most of my team members were hired on to my team and have stayed there since.

<comment><USER6> It depends, In my last big company (>2000 tech + product), engineers would switch teams every 15 to 18 months on average. Ofcourse there were more desirable part of the organization, where switches would be much less.

</comment></comment></comment><comment><USER8> My Amazon interview was the most ridiculous experience I have ever had interviewing anywhere. That round I got offers from Facebook (insta), Google (team matching said maps), Uber (eats) and a few others but not Amazon. At Amazon, I pulled out and declined with an email to my recruiter from the lobby of the building at the end of the day. My interviewers were broken up into two categories: Engineers who didn't want to be there, and terrible mid level managers that quizzed me on memorization of their company competencies. One of the managers was clearly reading his questions from a list, and did not care at all about what I had to say. That, combined with the sad office (manager's share a tiny office, everyone else sits in grey cubicles without sunlight), and no food or snacks (it matters) really broke it for me.

All that aside (I am willing to chalk it up to luck, god knows my first (failed) round at trying to get into Google went terribly), Amazon clearly does not compete by hiring the best engineers. Rather, they compete by throwing money at the problem and undercutting everyone else, getting by with mediocre engineering.

<comment><USER9> It could be worse.

I recently had an interview with a 5 day code assignment to build services, perform data transform against several competing requirements, and some other things. I provided lots of code comments, interactive documentation, test data samples, and a detailed readme file about as long as the code to explain how I went about things and how to reproduce my results

The feedback was only that the code was disorganized because all 750 lines were in one file and there was no test automation. I really got the impression they didn't even look at the code or execute it to see if I achieved success or followed instructions. Felt like they were just wasting my time.

All my big GitHub projects are on my resume. They could have given me nearly identical feedback by looking over my GitHub projects and not waste either of our time with this ridiculous assignment.

On the upside I view this as a somewhat positive thing because if their developers can't read code then I probably be miserable there.

<comment><USER10> _The feedback was only that the code was disorganized because all 750 lines were in one file and there was no test automation._

These days a coding test has a pretty standard minimum set of features to get a pass, and they include reasonably well organized code and having some tests. If you're working alone those are less important but as soon as you join a team they're critical.

 _I really got the impression they didn't even look at the code or execute it to see if I achieved success or followed instructions._

When I do technical interviews I assume the candidates code works (and it often doesn't, but that's not the point). I review it first, then I see if it meets the acceptance criteria. If your code isn't the sort of code that would be acceptable in the organization it doesn't matter if it works.

I would rather reject a candidate on quality than failing the test. Also, occasionally, if the candidate has made an obvious error that stops their code working but it's clear they write _great_ code I might still recommend making them an offer.

<comment><USER11> I don't want to be argumentative at all. I find what passes at one company doesn't at another and it's generally an interpretation of style that can be conformed to. For example, I am of the leaning that one line should do one thing only, and should be explicit -- which is different then many modern practices. Another example is array manipulation which, depending on the operation modifies in place and I reassign for clarity.

Does that make me a bad engineer? No. It makes me experienced. If any of those things aren't wanted at a future employer I can change to match the style.

To reject based upon that when the style isn't defined by tooling is weeding out great people who may not confirm but have the ability to.

<comment><USER12> As long as they weed out a high percentage of not very good people, companies accept weeding out some great people as a cost worth paying.

<comment><USER11> Very true. I have been working at startups for a while as a hiring manager and one of the skill sets I've had to develop is finding good people who have been passed on by FAANG or who come from a non traditional background and never would make it past there filters. Simply because we can't afford the salaries, but still pay six figures to non bay area employees. It's been interesting watching the "I should work for a startup" to "I should work for FAANG" over the past decade.

<comment><USER13> > It's been interesting watching the "I should work for a startup" to "I > should work for FAANG" over the past decade.

I would be interested in your thoughts on this. Is it because of salary, opportunity or security?

I am outside the Bay area.

<comment><USER11> I think it's do to two reasons: 1) salary at FAANG can be 2-3x what a startup can offer, granted that's in the Bay Area; and 2) there's been more then a few examples of equity not being structured in a way that is beneficial to early employees. Sam Altman even has a blog post that says startup equity needs a revamp.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> > If you identify an engineering problem that you want to tackle and it would > benefit Uber, the management is very likely to allow you to spend time in > solving that problem even if that problem scope if outside the team's > ownership.

The above sounds very refreshing and open minded.

</comment><comment><USER15> Good post from Divij. I worked at amazon a decade back and my 2 biggest learning there were from (1) building large scale infrastructure components (2) DevOps is an inherent responsibility of Dev.

</comment><comment><USER16> Remarkably well enunciated into an arguably mysterious world for devs on the "outside".

</comment><comment><USER17> How do you manage devops systems over long term? What happens when the team get sick of their pagers and leave?

<comment><USER18> Build a culture of fixing the alerts and pages. Having the people who write the software answer the pages builds in a closed feedback loop, incentivizing reducing the operational burden.

If an external Ops group takes the burden of responding to pages, there is no feedback loop nor incentive for those writing the software to reduce the burden!

<comment><USER19> >> Having the people who write the software answer the pages builds

This is the Stockholm syndrome you often see in ex-AMZN people. Having devs burn themselves out within 2 years in insane oncall rotations is just not very smart. Nor is it the only way to do it.

>> there is no feedback loop

Not if "external Ops group" can refuse to support your shit if it sucks. That's how Google works: your service has to pass PRR (production readiness review) by SRE before SREs will agree to support it. If your service begins to deteriorate over time, SREs can dump it right back in your lap to fix, and require another PRR before they'll support it again.

And you don't hand the service over to SREs, there are still devs oncall, but the load is much ligher, and dare I say, SREs are much better at running infrastructure (and building tools to help run it reliably) because it's their job. They're also in multiple geographic zones, so at night an SRE in e.g. Zurich can take care of simple issues (or escalate to a SWE if it's something gnarly).

And I don't know how it is now, but SWEs used to get extra pay while they are oncall.

<comment><USER20> When they dump it back in your lap, does that mean you're now on-call for your own service again? I was just curious how that looks, do you get an email saying you're back on the hook for a service because it's broken too many times?

</comment></comment></comment></comment><comment><USER21> Regarding the Amazon social side (which often gets a bad rep), in our org we have office happy hours twice a week with beer, occasional games and good food. People are friendly, get to know each other across teams and the culture is fairly relaxed. No team ceremonies or implied obligations.

<comment><USER22> The problem with workplace bonding over drug use is that it either causes people with substance abuse problems to either self-select out of participating, or abusing substances, or being stressed out by them being consumed in the workplace.

I say this, as a drinker, who does not have a substance problem.

It's one thing if the team occasionally goes out for an activity, which culminates in drinks. It's another thing when the thing people do every Friday afternoon is drink.

<comment><USER7> I'll drink beer, but it's not my favorite activity to just go do. I hate how so many of today's social functions revolve around alcohol.

</comment></comment></comment><comment><USER23> > No matter how I try to justify that this difference doesn't matter in the > grand scheme of things, the truth is that, having the option to eat lunch at > office & availability of on-demand snacks throughout the day has boosted my > productivity.

Must be nice. My company hasn't provided free breakfast, lunch or dinner in years.

<comment><USER24> Why don't you make bread (lunch) in the morning and take it with you? Just like 99% of other people in the developed world.

<comment><USER25> Right? Some of the comments here make it seem like we're on different planets. "Can't work without on-demand snacks!" Silicon Valley has definitely "branded" their employment, and millennial are buying in.

Meanwhile, young people are burning themselves out at unprecedented rates.

<comment><USER23> > Meanwhile, young people are burning themselves out at unprecedented rates.

Indeed. And they aren't making enough money to buy a home. Then, people, mostly boomers, will wonder, "Oh, gee. When I was their age, I could afford college, land a high-paying job right after school and buy my first house before I was 25. How are they not doing the same?"</comment></comment></comment></comment>


Userland: Creating an integrated dataflow environment for end-user applications - <AUTHOR> https://www.youtube.com/watch?v=gla830WPBVU <comment><AUTHOR> From the original author of htop, a GUI shell that allows you to pipe data around visually seeing the data at each step as well as the end result. And also integrates some spreadsheet type functionality and the ability to link and use data between different command pipelines. Looks really interesting!</comment>


Fabric linear motor - <AUTHOR> https://harnettlab.org/2018/02/19/fabric-linear-motor/ <comment><USER2> Super cool.

What would the system look like if you used copper soldering wick as the wire, or spiraled it around a non ferrous tube and was bale to push things through the tube?</comment>


The Joyful, Illiterate Kindergartners of Finland - <AUTHOR> http://www.theatlantic.com/education/archive/2015/10/the-joyful-illiterate-kindergartners-of-finland/408325?single_page=true <comment><USER2> I've lived my life in Finland. I don't know if the schools are all that (it's been 20 years since mine)... But I can speak for municipal daycare / kindergarten, as I have a 3-year-old daughter and I've been extremely happy with the care.

The teachers and staff at the center are so competent and compassionate. Playing is always at the forefront, but they have educational themes for a full year that are cleverly integrated into the daily rhythm. The children are always doing short trips that reveal new things of their daily surroundings in the city. The social environment mixes children of various ages: there are kids of age 2 and 5 in the same groups.

I know my child's life would be a lot poorer without daycare. And it only costs about 200 euros / month. (We're paying the maximum price since we're two working parents; with less family income the price would go down to nearly zero. Also, children are eligible for daycare even if their parents are not working.)

Giving our kids a rich social life and early education without the pressures of a traditional school model is probably the one thing Finnish society has figured out. (The rest is more or less a mess right now.)

<comment><USER3> > Giving our kids a rich social life and early education without the pressures > of a traditional school model is probably the one thing Finnish society has > figured out. (The rest is more or less a mess right now.)

Coming from Slovenia, that's what kindergarten is _supposed to be_. The word literally means "children's garden" and has nothing to do with school.

To quote wikipedia "literally children's garden, is a preschool educational approach traditionally based on playing, singing, practical activities such as drawing, and social interaction as part of the transition from home to school.".

I don't know what happened in the anglophone world that turned this joyful concept into school. My girlfriend grew up in the US and considers "kindergarten" to be the beginning of school school where they start by teaching you how to read&write. Wikipedia seems to confirm this notion.

Maybe it's just semantics and word-meaning drift.

<comment><USER4> I thought kindergarten would be equivalent to Croatian "vrtić" too, but it seems to be the year before 1st grade. Before that there is a spectrum of programs like daycare or preschool or playgroups which are more like what the grandparent described. I've no idea why kindergarten took on such a specific meaning in the US.

</comment></comment></comment><comment><USER5> As a German - you know the country the word Kindergarten comes from - I'm always amazed that people consider Kindergarten to be a school of some kind.

Kindergärten aren't schools in Germany, they don't operate like schools, you don't learn to read or write, there is no math, in fact there aren't any classes nor classrooms. A lot of the time you spend in Kindergarten is purely socializing and playing with other children.

If there are groups, then only so that the _educators_ (not teachers) don't get overwhelmed. Children are grouped randomly and stay in one group for as long as they go to Kindergarten, so you have children from 3 up to 7 in one group.

The activities that are organized or structured in any way are eating, sleeping, singing, getting told stories, making things out of paper like lanterns, a few physical activities and of course activities that happen outside of the Kindergarten.

Kindergärten exist and are important not to learn math but to learn to interact with other people, to make friends and to be a child until you are mature enough to handle a school environment. That means that while typically a child is enrolled in school with 6, some also enroll a year earlier or later depending on the child.

</comment><comment><USER6> Grew up in the USA. Spent 8 years in Finland.

Finnish kids are taught by the parents to read long before they get to school. Sure, it helps that the Finnish language is phonetic... But really, it's a home environment that teaches that reading is fun and enjoyable and can get you what you want.

Same goes for counting and basic arithmetic.

It's a cultural thing.

Teachers in Finland are not geniuses. The caliber of the teachers is, in fact, higher than the USA, but this stems more from seats in schools as opposed to "smart people wanting to become teachers".

The desirability ranking of what the average student would like to do goes like this: Medical Engineer Law French Pyschology ... Education ... Waiter ...

So somewhere along this spectrum, you get a bunch of qualified people who become teachers. There's only a limited number of seats for each profession (driven by free education... you can NOT become anything you want to become, you have to do better than the others on the entrance test). So you don't get a disproportionate group of people getting a degree in History or Biology or Pyschology. The number seats are arranged according to the needs of the society.

And kids would rather be teachers than waiters (yes, there's a school for that).

In Finland, teachers do NOT make more than engineers or doctors. They make about one third (pre tax) of what doctors or engineers make.

Also, Finland is incredibly homogenous. Take that for what you will...

<comment><USER7> I'm from the US, but my mother read to me from the day I was born, and got me reading before I turned 3, and reading full books for kids by the time I was 4 or 5. Unsurprisingly, I tested as "on a college age reading level" from the 3rd grade onward.

She also did basic arithmetic with me as well, and I ended up pretty good at math and logical thinking.

I think a huge part of the education problem today is lack of engaged parents. They don't concentrate on teaching their kids before they send them to school, and once they're in school, they leave the teaching up to the teacher and do not assist really.

<comment><USER8> I've read to my kid since forever, my wife as well. We have a library that rivals most school's and we read to him 2-3 books (at least) a day. He is 3.5 years old and can't read at all (heck, I think he recognises some words but I'm not even sure of that).

At 3 I was able to do math (addition, subtraction and basic multiplication) quite easily but basic reading only came to me at around 5 years old.

Kids are different, some learn to read earlier, others later, same with math, same with diapers, same with everything really. My 3.5 year old can climb trees like a 7 year old (better even if the kids around here are any indication). Do basic math (he has the concept of multiplication and can do most numbers times 2 or times 10). Recognises flowers and various different birds. He knows most traffic signs. He can almost cook his breakfast with just a bit of help with the oven. He does physics experiments (with our help). Are we worried that his peers at school know more letters? No. Kids develop at different speeds, but unfortunately, schools/kindergartens/parents expect their little treasures to be the smartest, brightest unique snowflakes and push them to it.

<comment><USER9> It's great that you think this way. I see too much of this pressure with my friends who have kids. They want to see them do math and read before they're x years old, with x being one or two less than what the cheaper schools are doing. My 3.5 says more elaborate sentences than the older kids, but never showed any special interest in math, and I never felt that he was ready to learn to read. It's _completely_ normal for a 3.5 kid to not be ready to learn these things.

</comment></comment></comment></comment><comment><USER10> I just finished the article, and saw a reference there to a New Zealand study about Rudolf Steiner schools. I attended the same Steiner school as the author of the study, and I would consider several people from my class to be functionally illiterate. This mostly comes down to the quality of the school rather than the philosophy - when I joined it was very new and run by a bunch of well-meaning hippies who had basically no idea about education.

If you're going to have a child-led education system where you assume that if the child isn't reading it's because they're not ready yet, you better be damn sure you're not missing the signs of something more serious, because if you do, when you come to address it it will be much more difficult the later you intervene. It sounds like the teachers in Finland are probably good enough to catch this - ours were not.

<comment><USER11> Well, here the kindergarten with child-led play isn't that much part of the education system. Even the pre-school year is fundamentally just preparing kids for the school, which is still very much teacher-led.

The written Finnish being very easy to spell and read also probably contributes. There are only very few peculiarities that differentiate from the logical 1-1 mapping between letter symbols and vocal sounds. Practically all children all able to attain at least the basic functional literacy skills in a couple of years. (I really couldn't understand the concept of spelling bee competitions in US TV shows, like that one Peanuts animated film, until we started English.)

</comment></comment><comment><USER12> Michael Booth talks about Finland's schools in his book, "The Almost Nearly Perfect People: Behind the Myth of the Scandinavian Utopia." He points out that in Finland the most revered and treasured profession is teaching. The smartest students, the most driven students, they all become teachers. Articles like this are wonderful at pointing out that relaxed and individualized teaching can succeed but they are glossing over an important cultural norm.

<comment><USER13> How is teacher compensation over there? I always thought we'd see better outcomes in schools if we paid enough for the best and brightest to become teachers.

Fact is, they cannot live in many "reasonably priced" housing markets (let alone the Bay/SF) on a typical teacher salary in the US.

<comment><USER14> Thecher compensation is a bit above the national average and they have long vacations.

What is also very meaningful to notice is that due to high income taxes, income redistribution, and generally flatter pay scale overall compared to most other countries, a corporate lawyer isn't that much better off than a teacher.

<comment><USER15> > generally flatter pay scale overall compared to most other countries, a > corporate lawyer isn't that much better off than a teacher.

The most important aspect of this is that when your nation's best and brightest choose a career path, massive disparities in quality of life is not a mitigating factor detracting from careers in education.

<comment><USER16> Good teachers are important, but they can only affect, what, 20 kids a year? The best and brightest should stick to engineering and finance where they can have a bigger impact.

<comment><USER15> > The best and brightest should stick to engineering and finance where they > can have a bigger impact.

Many of the best and brightest stay in academia, but at the university level. Many others go into engineering and finance, but make no real lasting impact mostly working on the day to day tasks of making the cogs turn. Currently many of the smartest engineers in silicon valley have dedicated their careers to selling targeted ads.

In the scheme of things, I'd be hard pressed placing selling X more power drills a year or "yet another CRUD app" over building the foundation of a quality education system.

<comment><USER16> Yes, but a quality education system requires thousands of people who can each only affect ~20-100 people a year. It's not an efficient use of the 'best and brightest'.

Meanwhile 55 engineers at WhatsApp can write software used daily by 700m people. Or a handful of financiers can find a new way to securitize debt, lowering interest rates for 100m borrowers.

<comment><USER10> _Or a handful of financiers can find a new way to securitize debt, lowering interest rates for 100m borrowers._

Or they could find a new way to ignore investment risk in the interest of naked greed, causing suffering for millions all over the globe.

<comment><USER16> Yep, the flip side to having a massive impact is that you also have a massive impact when you're wrong. You'd still want the 'best and brightest' in those positions than not.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> It really feels like we are gutting our education system with this kind of nonsense. It's so weird. We do so poorly in our education system, yet rather than simply doing what the effective and successful education systems and societies do, we decide that we need to change everything and now deprive children of playing as if they are some kind of little adults.

<comment><USER18> I think there's a real resistance against solutions that don't feel like "getting tough". "increasing standards" and "raising expectations" are easy to sell. The idea that children need to do childish things is dismissed as too wishy-washy.

<comment><USER19> Services provided by the democratic state are vulnerable to feel-good emotion- based mismanagement.

</comment></comment></comment><comment><USER20> IIRC, the Latin word "ludus" means both "game" and "school". I do not think that is a coincidence.

The observation that one learns more easily in playful manner is probably well-known in (but hardly exclusive to) hacker circles. In a way, it is baffling that people would forget this, especially as it is not excactly a brand-new discovery.

<comment><USER21> I think you're interpreting that backwards. "Ludus" originally referred to educational training sessions to build skills for later performing activities of direct practical benefit, mainly combat and political oratory. This is how "ludus" means both "play" and "school." It's originally "play" in the sense of "play-fighting," not in the sense of "having fun without a particular goal." Unlike Greek academies, Roman schools were entirely focused on building practical skills.

The idea of "play" as "having fun without any particular goal orientation" is a thoroughly modern idea. The idea that school should be a form of "play" in the modern sense is an even more recent one. It has no basis in ancient Rome.

<comment><USER20> So our Latin teacher lied to us! I should have known...

Thank you very much for the explation!

EDIT: In Latin class, our textbook was called "Ludus Latinus", and our teacher made a big point of explaining how that meant learning was supposed to be a kind of game. It made me groan at the time, but in later years, I always thought it made perfect sense.

<comment><USER21> I'd translate "Ludus Latinus" as something like "Latin Practice," in the same sense you'd say "soccer practice" or "piano practice" or something like that.

It _is_ a game, in the sense that it's not the real thing, it's practice for later doing the real thing -- it's a structured, goal-directed game with a particular practical outcome in mind (building Latin skills), not a "let's go have fun in the park without any particular motive other than having fun" kind of a thing.

</comment></comment></comment></comment><comment><USER22> My kids hate it when the schools have unstructured time. They love their free time, but want to do it at home or with their friends and not with all the kids they are forced to interact with at school. At school they want kids to behave predictably. That being said, I'm wondering if they wouldn't benefit from it because it will force them to deal with social situations they aren't comfortable with.

<comment><USER23> Is 'unstructured' a euphemism? If the children are expected to 'behave predictably' and 'forced to interact with other children', doesn't that imply some structure? (I assume 'predictably' means something more specific than, say 'not try to set the school on fire.')

This article uses the terms 'spontaneous and free form' and 'guided and pedagogical'. It doesn't sound like the former requires children to interact with others, though I can't tell from the article. Certainly the latter isn't unstructured.

<comment><USER22> They're not forced by the structure, they're forced by the other kids. If she wants to sit and read and keeps getting hit in the head with paper airplanes, she gets annoyed. When do they have some of organized chaos, like all the kids in the playground playing the same game, she's pretty happy with that.

<comment><USER23> Thank you for clearing that up. I totally misunderstood.

</comment></comment></comment></comment><comment><USER24> Here in Sweden we pay 110 euros total per month for very good daycare with cocked food (no prefab) for our 3 year old twins. Interesting how it is elsewhere. Our wages are relativley low and massive amounts of tax of course

<comment><USER25> Swedish average wages are close to the top (if not at the top)in EU. The wage gap is a lot lower than most countries though. Just mentioning since I stated Swedish wages were low not long ago, but when I looked it up that wasn't the case overall, it's just that normally high paying jobs pay less there.

</comment></comment><comment><USER26> The Finish education myth -

[http://www.bbc.com/news/business-32302374](http://www.bbc.com/news/business-32302374)

<comment><USER27> That article is misleading. Standardized curriculum was in fact one of the things people looking at Finland said was part of its success model in 2000. So this was never a "misconception".

<comment><USER26> The article isn't perfect but relate it to the current article.

To me the author sounds like they have this exact misconception.

</comment></comment></comment><comment><USER28> Perhaps the lesson of Finland is that mono-culturalism achieves better educational outcomes than multi-culturalism.

Maybe it is easier if stakeholders have high levels of trust, and similar performance expectations, work ethic, language skills, etc.

<comment><USER23> Strictly speaking, Finland is not a mono-culture. Finland has people from Finnish-speaking and Swedish-speaking cultures.

Your objection has been raised before. As [http://www.smithsonianmag.com/innovation/why-are-finlands- sc...](http://www.smithsonianmag.com/innovation/why-are-finlands-schools- successful-49859555/?no-ist=&no-cache=_page%3D2_page%3D5_page%3D2&page=3) points out:

> Some of the more vocal conservative reformers in America have grown weary of > the "We-Love-Finland crowd" or so-called Finnish Envy. They argue that the > United States has little to learn from a country of only 5.4 million > people—4 percent of them foreign born. Yet the Finns seem to be onto > something. Neighboring Norway, a country of similar size, embraces education > policies similar to those in the United States. It employs standardized > exams and teachers without master's degrees. And like America, Norway's PISA > scores have been stalled in the middle ranges for the better part of a > decade.

<comment><USER29> > Strictly speaking, Finland is not a mono-culture.

No country is an absolute monoculture or absolutely multicultural, but Finland is a remarkably monocultural country compared to most industrialized nations, with a strong social cohesion and rather minor ethnic divides. Swedish- speakers are very similar in culture and values to Finnish-speaking Finns, they just speak a different language.

Right now there is a huge migration going on - about 50 000 asylum seekers will come to the country within the year and it looks the pace will just increase. That means 1% of population, which is a rather significant demographic change in just one year. It will definitely have an impact.

I do not really believe Norwegian results are that much different. PISA is just one metric. In the most recent PISA (2012) Finland is #12; in the previous one it was #6 and the one before that it was #2. Did the quality of teaching drop that much in just a few years? Hardly.

<comment><USER23> While I agree with you, and with the educational system of Finland, that high PISA score is irrelevant, to say "PISA is just one metric" seems to ignore the context that PISA is the basis for nearly all of the international comparisons, and the follow-on discussions and policy decisions.

That is, andyl said Finland 'achieves better educational outcomes'. This is (in my experience) based on PISA. Indeed, much of what I've read coming out of the US is that students must get more 'academic' education, backed by large- scale testing, in order to compete against the countries with high PISA scores.

You use the term 'do not really believe Norwegian results are that much different'. Could you explain the basis for that statement? The thesis is that a (near) monoculture is a reasonable explanation for high PISA scores. The example of Norway was to show there isn't a simple, direct correlation.

I don't think you don't believe the scores aren't difference. Instead, your objection seems instead to be that PISA isn't a stable/useful metric in the first place, so that comparisons aren't relevant. I think your suggestion is that there simply isn't data one way or the other on how homogeneity affects education.

Which means, I think, that you also disagree with andyl's hypothesis, but for different reasons.

<comment><USER29> > Could you explain the basis for that statement?

I merely meant that in my experience, the school education that Norwegians get is not noticeably worse than the one Finnish kids get. They speak foreign languages, they can solve an equation, they know where Arkansas is.

Of course this is just my view, nothing you could call a scientific view substantiated by formal research. I just see that Norwegians are generally better (knowledge-wise) educated than Americans, on level with Finns, even if the PISA ratings of Norway and USA are very close to each other and significantly behind Finland.

I did not quite understand when you say you've read that _students must get more 'academic' education, backed by large-scale testing, in order to compete against the countries with high PISA scores_ when the supposed strength of Finnish education system is _lack_ of large-scale testing. Particularly early on - pupils generally don't even get any formal scores or ratings until 6th grade (as 13-year-old).

<comment><USER23> I don't have the experience to judge. While I grew up in the US and live in Sweden, I've found that my personal experience isn't a good guide. Eg, my school in the US offered differential equations, Latin, and European history, which I'm told is uncommon. I also don't have an understanding of the research, so I think we'll have to leave things where they are.

"I did not quite understand when you say .."

Sorry, I see the confusion. I meant that in the US, in discussion about changes to the US school system, one of the arguments is how US schools need more 'rigorous' testing with a more 'academic' goal, in order to improve PISA scores. Those making this argument often point to a country like South Korea with a very academic/test-centric education system and high PISA as a model for what the US should be. Those opposed point to Finland as a counter- example.

To edit what I wrote slightly, "much of what I've read coming out of the US is that _US_ students must get [a] more 'academic' education ..."</comment></comment></comment></comment></comment></comment>


Record your video reaction to almost any video - <AUTHOR> https://itunes.apple.com/us/app/upsurf-daily-funny-videos/id1121834666?mt=8 <comment><AUTHOR> Wanna be like PewDiePie? Record your video reactions to almost any video you'll find in UpSurf app, then public in your Instagram, Twitter or just share it with your best friend.</comment>


My Google Interview Experience - <AUTHOR> I recently went through the full breadth of the Google Interviewing process for the Software Engineering role. I didn't make it through, but that is not what made me upset, instead it was the lack of proper feedback on Google's side.
While I understand that they have legal issues giving out feedback, but I don't see why they can't dish out simple numeric scores for each of the interviews. That will at least make the candidate aware of how much he needs to improve, or if he can even improve enough to apply again, or it's just not worth retrying. This is specially expected from Google since they ask you to prepare a ton of material for around a month which is real hard work.
Anyways on to the real stuff. I cleared the only phone interview, which was very basic, shared Google Doc coding for about an hour. I was then called for a set of 5 onsite interviews, which were 45 minutes each. While I won't give out the exact questions because I want to abide by the confidentiality agreement, I will just try to summarize.
Two were design and implementation, two were algorithms, and one was algorithms and implementation, all of them required writing on the whiteboard. I think I did well on 3, ok on 1.5 and bad on 0.5. The average level of questions on a scale from 1-5 was a 4, 5 being the toughest, and I thought me doing good/ok in 4.5 was enough for an offer. Although I should make it clear that  I did use hints from the interviewers sometimes, but not always.
If you ask me why I think I wasn't given an offer,  I would say it must have been a combination of
me not being from an ivy league university, although I am masters in computer science from a within top 50 state university in US, with a near 4.0 GPA and I have around 5 years of work experience. Or it could have been that I might have not paid attention to little details which I thought were not important, but they really were, like forgetting an obvious parameter while designing a method of a class which I quickly rectified once pointed out by the interviewer. Or it could have been that in all my solutions I started out with the most basic worst time complexity algorithm (because I didn't want to stare blankly at the whiteboard for half an hour thinking about an optimal solution), and over time improved it, sometimes with hints and sometimes without. But I have to say I was really proud of at-least two non-trivial solutions I came up with. This sort of uncertainty is exactly the thing that could have been avoided by a simple feedback email from Google instead of them just informing you on phone that you weren't good enough.
I hope your Google Interview experience wasn't like mine, but I would really like to know how it went for you?
Thanks. <comment><USER2> As someone who was rejected by Google the first time, and hired the second time through, I went through a similar range of emotions during that first rejection. (I did not have an Ivy league education and only had a 3.2 GPA)

It was only after I was later hired into Google that I learned from my original recruiter that I had actually done quite well in my first interview process. What I did not know at the time of my rejection letter was that they had narrowed down their pool of potential applicants to about 1200 resumes for _three_ open positions they were looking to fill. Apparently, I made it into the last round of 10-12 applicants and just did not have the experience level with the specific tools for the job as others did. Thus, I received the same rejection letter the other 1196 people received, and never even knew I did as well as I did.

My advice would be to just stay in contact and keep Google updated anytime you have something new added to your resume or skill set. Based on what you have described, it actually sounds like you might have done pretty well. There are too many factors going on behind the scenes to say one way or another why you did not make it through this time.

<comment><AUTHOR> Wow, 1200 resumes for 3 positions, I didn't know that getting recruited by Google was that competitive, good for them that they can afford being that competitive.

Do you mind telling us if in the first interview you aced all your interviews, because I surely didn't.

<comment><USER3> The selectivity numbers I've heard for the whole process are about 1:2000, with about an order of magnitude decrease for each stage of the process (resume screen, phone screen, in-person interview, hire).

Keep in mind that like most statistics, these are misleading. Google gets a lot of applications from people who just want to work at Google and have no relevant skills, or who may be friends/SOs of current employees, or who ping their local Googler on Reddit or HN to submit their resume. These go into the system because who knows, we may find a gem, but realistically they have about 0 chance of being hired.

Getting to the in-person interview stage basically means we have reason to believe that you're a competent software engineer, but the acceptance rate is still something like 1 in 10 or 1 in 20 from that point. It's tougher than getting into Harvard and roughly on par (perhaps a bit easier) than getting into YCombinator.

</comment></comment></comment><comment><USER4> (I'm yet another Google engineer.)

Personally, in my interviewing I don't care at all about schools or GPAs. (I think the only time I've even considered the school is when candidates are from a big name school like MIT, where I will modify my interview to ask more culture questions to try to see whether they are too full of themselves.)

Instead, consider this: hiring someone who isn't good is much more costly than not hiring someone who is good. It's not only that you need to pay a person who doesn't do good work, but they're also a drag on everyone else who is already really busy. That is to say, it's much better to err on the side of "no hire" when you have any doubt; Google has plenty of employees already, and while they surely want more (and the bar is continually lowering), there's also no shortage of people who are willing to go through the legendarily Kafkaesque interview process repeatedly.

So it is possible that your one bad interview sunk you, even when it wasn't indicative of your skill. Everyone has bad days or bad luck sometimes, so don't feel too bad about it. You're in a good position in the world where there are many other tech companies eager to hire you as well and even compete on what they offer you.

<comment><USER5> "Google has plenty of employees already"

With an attitude like that, it's no wonder employees are leaving Google for Facebook.

<comment><USER6> >> (and the bar is continually lowering),

Oh goodie. I'm thinking Google has more "hubris" now than Apple.

</comment></comment></comment><comment><USER7> Google employee here. Let me clear something for you: your rejection has nothing, repeat _nothing_ , to do with your education.

As for not giving feedback, like you hinted, it's purely for legal reasons. It sucks, but that's how things work in the US.

</comment><comment><USER8> "Or it could have been that I might have not paid attention to little details which I thought were not important"

I think you are underestimating the importance of this. I have hired people before and this is a critical thing I look for. Attention to detail is very important as a developer, if you don't showcase it while on your best behaviour during an interview, I would be concerned what you are like day to day.

I think as a general rule you can assume every detail is important in an interview test.

<comment><USER9> It irks me that people think that being able to pay attention to detail in a stressful job interview while standing in front of a whiteboard has any strong correlation with their ability and desire to pay attention to detail while doing real-world programming. If this were true, wouldn't MIT and Stanford and CMU grade you while you code at a whiteboard, instead of grading you on significant programming projects?

Where I work, we give people a do-at-home programming assignment before having them come in for an interview. We then all code review the solution submitted. This seems to me a much more realistic gauge of a programmer's real-world abilities. Also, it clearly demonstrates that most people looking for jobs apparently can't program their way out of a paper bag.

<comment><USER8> I am not necessarily advocating the whiteboard, but am advocating attention to detail no matter what the situation is. I agree the whiteboard can be stressful, but so can a server outage and needing to get a fix out quickly. I don't want a programmer that generally has good attention to detail unless they are under pressure... under pressure is when you need it most.

<comment><USER9> The idea that every programmer should be able to write runnable programs under extreme stress without any errors is ludicrous. That has nothing to do with "attention to detail". It's like professors who give you a failing grade for making a single sign error in the middle of a complicated three page Laplace transform that is otherwise correct. What they really want is to just humiliate you for the power trip.

The "server outage" scenario is a red herring. The vast majority of programmers don't have to fix server outages under pressure that is anything like that at a job interview. Also, you might try hiring programmers instead who write reliable software to begin with. I've written server software, for instance, that has been running continuously for the last dozen years without ever being touched by a human being since. I was also a sysadmin for a seven years, and had to deal with various emergencies all the time. Never was the pressure anything like trying to code at an interview, and the systems I designed and maintained worked great.

</comment></comment></comment></comment><comment><USER10> Not sure if this helps, but as an interviewer I found "masters in computer science from a within top 50 state university in US" to be very weak signal of programming skills. Many candidates from schools which I would consider to be top 20 (like USC) even could not even get past a simple programming question a la "fizzbuzz" test. I would probably trust 5-10 US schools, but it seems for many American universities Masters program is just a money making engine.

<comment><USER11> 2 years isn't enough time to learn how to program. Then again, I'm not really sure you can reliably make programmers with a substantial degree of success. In my undergrad CS program, we had 300 freshman at the start, and I graduated with 29 others at the end. For people with a CS undergrad, an MS program is quite good. They shore up on depth and theory that they didn't get while working on their programming chops in undergrad.

Sadly, if you can't already program, you can get a master's in CS (because it's focused on depth and theory instead of programming), it's just completely useless. I have no idea what one can do with a MS-CS, if they can't program. It's honestly a little heartbreaking for me, that people to spend 2 years of their lives wasting it on that.

With all that said, I haven't found any degree (at least from any school I've interviewed applicants for) to be a reliable signal for programming. Even if they went to a really good school, there's a good chance that they spent all their time learning network protocols and low-level mechanisms, and will happily write up a sliding-window implementation for me, but will stare at me blankly when I ask for a simple recursive algorithm. It's just tough to find people that spent time studying and practicing general-purpose computer science.

<comment><USER12> A terminal masters degree by itself is a signal for the ability to write a pair of $20K checks. The requirements for a masters are far less rigorous than the requirements for a bachelors at the same institution.

</comment></comment></comment><comment><USER13> Having been on both sides, what the applicant often forgets is that you are being compared with the other candidates. It's not about reaching an absolute level. Maybe you were very good that day, but another candidate just was so amazing that she got the job. But you can't know, you just don't have enough information.

<comment><USER14> That doesn't really seem applicable. Google is more than big enough that they can hire both people if they are both good unless you're applying for a particularly specialized role which it didn't sound like was the case here.

<comment><USER15> I don't think this is true at all. I'm not saying that they will never hire an extra person in case they find two truly exceptional people (exceptional as in they feel like they really are missing out sending one home, not just that they are good programmers), but I'm sure that most of the times the hiring mechanism is quite compartmented.

If you interview with a specific group/organization, they need some people to do something in that group/organization. Now, it's possible that they leave a good comment about the "second" candidate, and it's possible that other groups eventually will contact them I guess, but I find unlikely that they will just hire two people in a group if they need one.

It's not like the people who interview you are interviewing you for the entire Google.

Most likely for 100 positions they are interviewing several hundred candidates. If their reasoning was like you were suggesting they would end up hiring about 200 people each time. 100 of which would have to find a group to work for.

Not a good idea.

<comment><USER16> "I'm sure that most of the times the hiring mechanism is quite compartmented...It's not like the people who interview you are interviewing you for the entire Google."

Absolutely, utterly incorrect. This has all been covered publicly by Peter Norvig[0]. Quoth he, "Another hiring strategy we use is no hiring manager. Whenever you give project managers responsibility for hiring for their own projects they'll take the best candidate in the pool, even if that candidate is sub-standard for the company, because every manager wants some help for their project rather than no help. That's why we do all hiring at the company level, not the project level. First we decide which candidates are above the hiring threshold, and then we decide what projects they can best contribute to."

[0] [http://googleresearch.blogspot.com/2006/03/hiring-lake- wobeg...](http://googleresearch.blogspot.com/2006/03/hiring-lake-wobegon- strategy.html)

<comment><USER15> This is from 2006, 6 years ago. If you work at Google maybe you can say more about your experience.

But what I know for sure it's not like that necessarily anymore, since I talked to many people about their interviews at google and I know some googlers as well that confirmed what I said (which is the reason I wrote it). Even when I talked to google myself, it was for an individual group, not the entire company (in my case, unlike my friends, it wasn't a software engineer position, though).

Also, and I can tell you this with 1000% certainty, even though they like to say sometimes the opposite, the people I know told me that Google instead has hired more commonly than you can think people that are sub-standard, it's not the normal usual thing, but it has indeed happened.

Also, the recruiters I met, had no clue about what a person with a certain specific Resume could have done in the company. They told me that they often decide whether or not to commit about trying to get a person interviewed based on if they believe they will get hired for a specific position (since that is how they get paid), not necessarily based on who they think is a good general candidate.

Now, I'm not saying that this is a rule, but even if you look at the positions posted now on the company website, they are so detailed and specific that it would make no sense to interview a person at the company level.

It can happen at the new grad level, but I doubt it happens on a common basis. I could be wrong, but I just speak by what I heard first hand.

Of course if with project you mean a specific individual project than I agree, but the company now it's rather big, there is many organizations and stuff that probably don't even know what the others do (still comments from Googlers). This is quite normal since Google can be compared to a campus, in any University nowadays you can be in the same department and do research in a field that is completely unknown to the person sitting next to you in the office since they might work on a different field and it takes years to actually start understanding something about it.

<comment><USER16> I do work at Google, and I'm saying that Norvig's description is still accurate. It was true when I was hired in 2010, and it's true now for the candidates I interview now.

I'm not sure why it's relevant that Google has sometimes hired sub-standard people. Of course it has. Interviewing isn't perfect, and sometimes we make mistakes.

<comment><USER15> No, sorry, I didn't meant it in a provokative way. I was just saying it in relation to Norvig's statement.

Although I really like Google and most things about how you guys work, I can't hide that I think it's becoming a common joke how broke the interview process is at Google.

One of my friends told me that they needed, really needed a person, but it still took four months to fill up the position. Another friend was contacted for a PhD software engineer position, and even though he had told the HR person that he was also interviewing for another company, he had time to go through the whole interview process with the other company (consisting on several meetings), and by the time he had an offer, Google still hadn't had the phone interview with him.

I'm just saying that I had the impression that the hiring system isn't not amongst the best ones out there, but I have big respect for how the company works.

Specifically, I think it's great, for example, that they aren't afraid of trying a million things and shut them down when they're not happy. Most companies are afraid of switching and are extremely slow at making any decent change.

But so, just to understand if you want to say something about it, do you really interview a person without a position? Just for the whole company? Or do you mean that if the candidate is good you say 'hire, but for a different position'? Or do you mean something else?

Thanks!

<comment><USER16> I wouldn't call the interview process at Google broken. While some of my coworkers are better than others, I've yet to encounter any that truly aren't at the top of our field. Whatever we're doing, however we may fail in other areas, the primary goal of interviewing--to find and hire highly qualified people--is something we're achieving.

Yes, we may be rejecting highly qualified people who would do well at Google, but interview poorly. As has been noted in the comments here and elsewhere[0] it's far better to reject a qualified candidate than accept an unqualified candidate. Though we'd all be happier with a higher true positive rate, we're not willing to accept a higher false positive rate to achieve that.

What we're _not_ good at, and what we get lampooned for so frequently (e.g., this story) is that in our pursuit of minimizing our false positive rate, we come off as arrogant, sometimes condescending, and a number of procedural and legal problems exacerbate that appearance. I've interviewed people that were right on the threshold between "hire" and "no hire", and like Joel advises, I wrote down "no hire". I'd _love_ to tell these people what would have swung my opinion and ask them apply again in a year, but I just can't: it's too dangerous.

As far as interactions with recruiters goes, I can't really speak to those issues, since my experience in the hiring process was atypical (though not at all distinct in the ways we've discussed here so far, e.g. being hired for a company and finding a position after an offer has been extended).

Now, to answer your question, I have never interviewed anyone for a specific position. Every single person I've interviewed has been for engineering as a whole. People get interviewed for specific job ladders (e.g. SWE, SRE, SET, etc.) but the specific teams/projects a person will work on is decided after they've accepted an offer, as I understand it (and experience it myself).

[0] <http://www.joelonsoftware.com/articles/fog0000000073.html>

<comment><USER15> Thanks for your explanation!

By the way, just to clarify because maybe it wasn't really clear, when I said broken I didn't mean at all that the interview process at Google fails at hiring good candidates, I just meant that sometimes it takes literally months and that's too long, and that often people in the meanwhile receive other offers. For many of them it's not possible to say no to another offer just because maybe they will get an offer from Google in two months (and career wise it's not serious to jump around and leave a place after two months unless the position is a lot better).

That's all, and I think it's cool that you interview that way. Maybe I've had a biased opinion given what happened to the people that I directly talked to. Thanks again for clarifying these points.

<comment><USER16> Note that we do expedite the process for people who receive competing offers; I had an offer from another company the day after my Google interview; I told my recruiter about it and she had me an offer from Google within a week.

I explained in another thread here[0] one of the biggest sources of discontent from people who interview here, in case you're curious.

[0] <http://news.ycombinator.com/item?id=3636746>

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> cletus, eta_carinae, and everyone else already gave great points, but I want to add one more to the pile: Google really cares about culture fit.

From the way I understand it, there are two main goals for hiring:

1\. Always raising the bar by finding people who are better than the average Googler.

2\. Find people who would fit in well and Googlers would want to work with.

This adds another dimension to the way you could perform in your interview. Keep in mind that not only the answer counts, but also how you answer, what kinds of questions you ask, what your attitude and personality is, etc. I have no idea if this was a factor in your outcome, but it's just another thing to consider.

Lastly: Don't be afraid to reapply after a year or so (I've interviewed at Google three times before joining)—prior results aren't held against you.

Disclaimer: I'm also a Google employee.

<comment><USER18> Since the interview process doesn't include any sort of personal question or assessments other than one's ability to memorize algorithms and such, How do you measure "culture fit"?

<comment><USER19> Culture fit is judged by the candidates personality. Some of the signs of bad culture fit are arrogance, lack of curiosity, or a combative attitude. These kinds of traits usually becomes apparent during general conversation in the interview.

(I am an ex-Googler)

<comment><USER20> From most interview accounts, arrogance and combativeness are a very large part of google's culture.

<comment><USER12> I haven't seen Google worse than similar companies on that front. Interviewing is stressful for everyone. Remember that Google hires engineers and makes them interview. It doesn't hire people for interviewing talent. (But they probably should choose an train interviewers more carefully, and so should the rest is of the industry. )

</comment></comment></comment></comment></comment><comment><USER21> If not having the right credentials were the issue, they would not have wasted their time or yours to begin with. It has to be another reason.

Companies usually don't provide feedback for several reasons. One is they don't want word to get out on what the correct answers are to questions - people will game the system. The other is legal protection. They don't want to open themselves up to a lawsuit from someone who thought might have done well in some areas, but not well in others.

</comment><comment><USER22> Attention to detail matters. Spending time looking at the code, and talking about (and explaining) your solutions matters.

If an engineer misses details and won't spend time looking for a more optimal solution on a white board, I wouldn't expect them to do it in the day-to-day work of their career either.

<comment><AUTHOR> Well if that is what they expect, then they should make it clear. Something like don't say you are finished till you have verified your solution. They didn't.

"If an engineer misses details and won't spend time looking for a more optimal solution on a white board, I wouldn't expect them to do it in the day-to-day work of their career either."

What a foolish generalization. This is exactly the kind of attitude that I don't like. Just because someone starts with a sub-optimal solution doesn't mean he can't/won't improve it. Also my approach was to start with a sub- optimal solution so that we have a foundation to build on, which I think is much better then spending your entire interviewing time thinking up a dynamic programming algorithm and leave a blank board at the end.

Optimizing a solution is an art, and can take varying amount of time, and sometimes even your sub-optimal solution might be better than a more complicated optimal solution.

<comment><USER23> Let me ask you this? How much time did you spend coding the sub-optimal solution?

For many of the questions I use during the interview process, I have a pretty good calibration level regarding how long it should take someone to answer a question. If the last couple of times I've used the question, the candidates were able to come up with an answer in 5 minutes, and then another candidate spends 10 minutes writing down an O(n __3) solution, and then tries to come up with an more optimal solution, it might be understandable why I might give that last candidate a somewhat lower score.

One thing that can help is to also keep talking so the interviewer knows what you are thinking. That way if you outline an O(n __2) solution very quickly, and then say, I think I can get a O(n log n) solution this other way, then you're showing your work, and it's a lot easier to get partial credit on a question.

In general it's better to explain the approach you want to take before you start coding. If an interviewer knows that you're going off in the weeds, perhaps because you misunderstood the problem, that will be an opportunity for the interviewer to clarify the problem, and perhaps give you a hint to steer you in the right direction. (Remember, most of the time the interviewer has used this question multiple times in the past, so s/he know where people are likely to get stuck, and very likely has hints prepared if people stumble --- and one or two stumbles does not a No Hire make; the goal is to see how someone codes and how they think, you don't get a 0 or 1 grade.)

</comment></comment></comment><comment><USER24> Hi,

I am a Google engineer and have gone through the process twice (the first time unsuccessfully). It can be a frustrating and even exhausting experience so I certainly understand why you're bummed it didn't work out (I was the first time) but let me clear up a few things.

You don't need to go to an Ivy League or otherwise top school (actually most of the Ivies aren't in the top CS schools). I certainly didn't. I didn't even go to school in the US.

As far as grades go, if you're going in with 5 years of post-school experience, your grades probably won't even enter into the picture.

As far as releasing interview scores goes, that isn't going to happen for good reason. A score, by itself, is meaningless. Interviewers are calibrated against other interviews they've done and other interviewers. This is all in an attempt to make a fair assessment of the candidate. If a particular interviewer gives high marks to candidates where all the other interviewers don't, that gets calibrated. And vice versa.

I would suggest that anyone who wants to apply have someone within the company refer you. For one thing they'll be able to guide you through the process better and (hopefully) set your expectations correctly.

Plus a strong internal reference will help you much more than acing an interview question.

Starting with a basic solution won't hurt you either. You're right that staring at the whiteboard blankly for half an hour is the wrong thing to do. More than the code itself, the interviewer is interested in how you think and how you apply your knowledge to find a solution more than the solution itself. A suboptimal solution that works trumps no solution or even a more optimized solution with serious problems. It's totally fine to start with something that works and then refine.

One question though: did you have five interviews onsite one after the other or was one of them a lunch (or was a lunch in between any of them)?

Feel free to contact me if you have any questions or simply want to pass along any feedback.

EDIT: to clarify the calibration comment, imagine interviewers give a grade to the interviewee. If a given interviewer gives nothing but A+s then an A+ means less from that interviewer. Likewise, all Cs makes another C not necessarily a problem. That's why I say individual feedback scores only mean something in context.

Also, what an interviewer writes about you means WAY more than any given score. An A+ with no justification is simply ignored. A C- with no justification is likewise ignored.

Luck can unfortunately enter the process in a way different to what you might expect. If we're hiring a lot of people then at that time it can be easier to get a "yes". If headcount is tight, it becomes correspondingly harder to get a "yes".

Lastly, there are two different answers wrapped up into "no" that you unfortunately can't distinguish between from the feedback you're given.

The first is a definite "no" in that we're sure that at least for now we don't want to extend an offer. You may simply not be ready. There can be lots of reasons. We may well re-interview such people a year or more down the track. A very few are definite "no"s (eg they became belligerent or wildly inappropriate--yes it sometimes happens).

The second type of "no" is simply "we're not absolutely sure it's a yes". I must've fallen into this category because I was contacted two months later. You may well be in this category. Unfortunately there's no way to know. But we do keep records of those that applied and constantly go back through them.

As far as acing all the interviews goes, no you don't need to but you probably need to do really well on at least well (and can probably bomb one). Of course all of this depends on the position, current hiring needs, the particular hiring committee you go through and a host of other factors.

Don't forget you're not being judged in isolation either. There may simply be a strong pool of other candidates at the time you applied.

<comment><AUTHOR> Thanks Cletus for taking the time to write that up. That really makes me feel better and provides somewhat more insight into the process.

My 5 years of experience was actually divided like 3 between Masters and Bachelors and 2 after Masters here in US, so I thought my Masters grade would matter.

My interviews were 3 before lunch and 2 after. Lunch was good :).

The interview conductor asked for references multiple times, but although I knew some people working in Google, but they had never closely worked with me, so I didn't want to make up references just for the sake of it.

EDIT: "As far as releasing interview scores goes, that isn't going to happen for good reason. A score, by itself, is meaningless. Interviewers are calibrated against other interviews they've done and other interviewers. This is all in an attempt to make a fair assessment of the candidate. If a particular interviewer gives high marks to candidates where all the other interviewers don't, that gets calibrated. And vice versa."

So what you are saying is that for me to not have made it through I must have equally messed all my interviews or at least a majority of them. I surely didn't feel like that after the interview, but who knows, since I still don't have a way to know if that is the case. Then this really sucks.

<comment><USER25> > So what you are saying is that for me to not have made it through I must > have equally messed all my interviews or at least a majority of them. I > surely didn't feel like that after the interview, but who knows, since I > still don't have a way to know if that is the case. Then this really sucks.

No, I don't believe that's what he's saying at all. All he's saying is that without knowing the past scoring of the interviewers, and the scores of other interview candidates, the numbers are meaningless. I could rate you a 6 on a scale of 1 - 10. This seems fairly average at first glance, but perhaps my median interview score is a 3. Now it's starting to look pretty good.

Nowhere in there did he say that you have to do poorly with all interviewers, or even most, just that they won't release numbers because without extra information those numbers are meaningless.

</comment></comment></comment><comment><USER26> I didn't make it as far as you did, I just had a phone screen. I was quizzed a lot about how I would set up a server architecture (something I've never done before) so my answers were obviously a bit basic. Then I was given two algorithms to describe. One of them I knew and described okay, the other one I didn't really know at all and did poorly.

I wasn't asked about any of my previous experience at all. I never felt like I had a chance to show off any of my skills and it didn't seem like they had even read my resume.

<comment><AUTHOR> Ya that is the other thing, I too felt that anything else didn't matter or mattered very less other than your performance on that day.

</comment></comment><comment><USER27> Five problems in five interviews sounds low. Obviously this is pure speculation, but perhaps the concern was that you didn't solve them fast enough. Interviewers are supposed to ask more than one technical question; the candidates I am enthusiastic about hiring tend to solve 2-3. That said, some problems are multi-facted enough that an interviewer can run with the same basic theme for the whole interview, I just think it would be unusual for that to be the case in all five interviews.

<comment><AUTHOR> I actually had a couple of interviews with more than one questions, but not others. I agree this could have been one of the reasons, but again an indication of this in the feedback could have helped.

</comment></comment><comment><USER28> My primary question after reading all the comments is; have you ever gotten feedback on an interview? I've worked a lot of jobs and been on a ton of interviews and I have never gotten feedback, so I don't even slightly expect it. My biggest expectation is the company giving me a "yes" or "no" in a reasonable time frame.

My friend just interviewed at Google and had a much different experience. He had one call and one onsite and got an offer after that. He isn't from a top school, more middle-of-the-road, but he is smart as hell.

This brings me to a point: It really sucks to say this, but sometimes we aren't as smart as we think we are and sometimes we aren't good enough for a job. Coming out of an interview saying that you did well, but didn't get the offer leaves yourself an excuse that maybe you were just unlucky or that someone just didn't like you for some weird reason, whatever it is. In reality, you probably didn't do well in the interview compared to other candidates and you aren't good enough for the job (on THAT day). It doesn't mean you don't try again, but giving yourself and excuse is an excape that really doesn't help you improve. I've been rejected on an interview and I learned more from that experience than any acceptance I've gotten.

</comment><comment><USER29> My experience was similar to yours. I interviewed at YouTube, and I was flown over from New Zealand for the interview. When I returned the next day, I got my generic rejection letter with Dear {Full Name}. While I got the general solutions to the 5 questions throughout the day correct; I struggled to code them on a whiteboard with someone watching me; I can never think well in those situations when solving problems, but I find that the optimal solution clicks to me when I'm in the shower or wake up in the middle of the night.

It would be good to get some feedback about how to improve and where you went wrong. It's pretty hard dealing with a generic rejection after flying for 14 hours to the other side of the world for an interview! If the rejection is because of technical skill, then I think they could figure that out from a few more phone interviews (although I guess a free trip to the US isn't too bad).

I don't think it's because of the university though. One of my friends from NZ got a job out there and he was from my university, which doesn't have a particularly high reputation for computer science. I think he just knew how to nail the technical questions under pressure, and is more interested in algorithms and low level stuff than me, perhaps.

<comment><AUTHOR> "My experience was similar to yours. I interviewed at YouTube, and I was flown over from New Zealand for the interview. When I returned the next day, I got my generic rejection letter with Dear {Full Name}. While I got the general solutions to the 5 questions throughout the day correct; I struggled to code them on a whiteboard with someone watching me; I can never think well in those situations when solving problems, but I find that the optimal solution clicks to me when I'm in the shower or wake up in the middle of the night."

I agree wholeheartedly, see my above comment about optimizing a solution being more of an art, and can take a varying amount of time.

</comment></comment><comment><AUTHOR> Thank you all for your insightful comments. I do feel a little better and more informed. I will try to write an unofficial summary using what others (mostly the official wordings from Googlers (sigh)) have said, mainly for people in the same boat as me.

1\. You don't have to be from an Ivy League university to get recruited by them. Yay.

2\. Internal references are very very important for both getting recruited and getting feedback after the interview.

3\. Getting recruited by Google can be very very competitive at times (not necessarily always), and you can be unlucky enough to be interviewing in those times.

4\. There is no easy solution to the shallow feedback problem, which sucks very much for the candidate, but I guess threads like this can help you get some insight into the process and the very many variables involved in the recruitment decision.

<comment><USER30> If you want feedback, ask a smart friend (or a professional service) to mock interview you and give detailed feedback. That's better than what any official employer could do.

</comment></comment><comment><USER31> The university you are from pretty much doesn't matter for most software companies

</comment><comment><USER32> I've been through a couple of Google interviews. My last one, I didn't even apply for, they contacted me a couple of months ago, asking if I wanted to interview. Why the heck not. I guess my previous interview was good enough such that they didn't require a phone interview, so I skipped that. Although it's perfectly reasonable to think that they were just trying to hurry the process up for everyone so that's why they had me skip the phone interview, and there was nothing particularly special about me.

I had 5 interviews, and I didn't end up getting the job. I didn't do that great, and I knew it. I spent 2 weeks preparing and covered what I thought were my weak points, and still of the 5 interviews, 1 I nailed, 2 I did pretty good, and 2 I did just okay on, but not horrible.

I can understand why this got me rejected, though. I'm not whining that it's not fair, because obviously they have a particular type of person they want to hire, and I didn't fulfill the qualifications. I think I'm pretty smart with pretty good experience, but nothing entitles me to a job anywhere, especially at Google. The questions were extremely hard, but fair, because as I said, I guess they're trying to hire candidates who can answer them.

The thing I didn't like, however, was how some of the interviews were conducted. One in particular was a guy who asked me a fairly hard question, something that I hadn't seen before, and I was stumped for a bit, so I wanted a couple of minutes to think it through in my head. As I was trying to answer it on the whiteboard, he kept interrupting me, and kept steering me to HIS solution, not my solution. So because it wasn't my solution, I kept on trying to guess at what he was trying to say, and because of that I didn't have the benefit of having thought through it completely. This meant that I had a couple of bugs in my solution, because I spent most of the time trying to figure out where he was steering me to, and I didn't get the benefit of having thought through the process in my own way, where I probably would have caught the bugs.

It was also obvious from his tone that he was annoyed at having to provide me with the answer that he wanted to hear me say. This left a rather bitter taste in my mouth.

I would rather have finished the interview with a completely blank whiteboard because I was totally stumped, rather than play mind-reader and trying to guess at what the interview was pushing me towards. At least a blank whiteboard would have been a more accurate portrayal of my answer, instead of some half-baked solution because the interviewer kept pushing me towards a solution that I didn't get enough time to think through.

<comment><USER30> Try again next year. Consider the math (not exactly how it works, but you'll get the idea):

A job offer depends on 5 flawlessly decided "hire" votes. A mere 5% of interviews are flawed due to interviewer weaknesses (poor training, bad attitude, bad day) or miscommunications. What are the chances that a desirable candidate gets an incorrectly decided "no-offer" result?

</comment></comment><comment><USER33> My Google interview experience:

Google Internship January 2008: Had a phone screen. First question as I heard it: "Given a binary tree tell me if it is a binary tree?" I was a bit confused and said I didn't understand the question and requirements. Given A tell me if it's A. Yes? The interviewers response to my confusion was: "Do you even know what a binary tree is?" Yes, I do. When he restated the question as "given a binary tree tell me if it's a _valid_ binary search tree" I understood the requirements efffed up something in the implementation though. Then was asked to do another problem. Something with number sequence and iteration. Got told "division is slow" so don't use it. Couldn't see a solution without division on the spot. Then got asked if I know about Java serialization. My response: "implements Serializable" and you can write out or read in objects but I have never really used it in any serious way before.

I got the reject. Which I expected more or less. Kind of frustrating since I felt the interview was pretty much done in the first few minutes since I was asked: "do you even know what a binary tree is." Kind of an uphill battle from my perspective.

YouTube February 2010: Applied for YouTube because I saw an ad in gmail. Why not.

2 phone interviews. And 4 onsite.

I thought I did ok solved everything to the best of my ability. Frustrated that I didn't get it. Really enjoyed it. Seemed like a lot of fun. One interviewer told me my current job sounded boring. Not at all professional.

Google Kirkland June 2010: I applied for a developer position after I saw a Google Kirkland is hiring ad. Applied for Software Engineering role and said I'd like to work on Google Chrome.

Eventually a recruiter got back to me and would set me up with a phone call. Yep, I thought it was the initial HR phone screen for a software development role. The HR phone screen was rescheduled and I was told that in the mean time they would be happy to set me up for a call with an engineer for a _test position_. So the things got pushed off a few days. I still ended up talking with an HR rep before the engineer. She seemed a bit surprised that I had just interviewed at YouTube a few months before. All I thought was wow your HR software sucks. So I jumped through the HR phone screen and technical phone screen.

The onsite in Kirkland was interviews with two developers and two testers. Standard interview technical interview questions. First one was count number of bits in a 32 bit integer. I sent straight for the mask. Add the bytes in parallel. Then add the 4 bytes together. Interviewer was shocked I got that so quick. Ya, crazy when you have been asked the same question in the past, in school... you tend to memorize it from practice. The other interesting thing from the interview was the interviewer worked on the video tag of Chrome. Said the hard stuff was video and audio synchronization and doing that right across 3 different platforms. When I was at YouTube they said they used H264 because it was a good codec for quality and bandwidth and didn't foresee themselves switching anytime soon. When I asked the Chrome guy if the company was willing to align on not h264 would it happen. The response: oh yeah we are on the same page. Yeah, and then shortly after my interview this was posted: <http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html>. Oh yes Google, you are a BIG company. Admit it!

The last interview of the day I remember slugging through and just not doing well on. Yeah, didn't get the job.

My recommendation to Google: Phone interviews and Google Docs don't mix. There is no auto-indent (that I know of) and I have mentioned that during an interview and got a yeah I know type of response. I would recommend: <http://collabedit.com/> or something Google owns: <http://etherpad.com/>.

Books have been written and sometimes speak of the problems Google faces. In my opinion the biggest problem: "hubris". I say that from my own experience as well as this book: <http://amzn.com/1594202354>. They live in their own insulated bubble it seems.

Professionalism is important. Sentences with phrases "do you even know" or "your job sounds boring" are rude.

Your HR software seems to suck. I am not actually interested in a role in "Test Engineering." Yet, whenever a Google recruiter digs my name up and emails that is the role it is for. My recommendation to someone starting their career: Never ever ever take a job as a SDET/SET. It will hang over your head for years and hold back your career.

I used to really want to work at Google. After a few years in industry and these interviews I no longer have that interest isn't there any more. For me, it depends on the team and people I'll be working with more than the product or the company. Part of what has changed my mind: working at Microsoft a startup and this: <http://www.youtube.com/watch?v=k2h2lvhzMDc>.

</comment><comment><USER34> I have a phone call planned for next week about becoming an intern for my Year in Industry (during my third year at uni)... hopefully it will not require such a high level as yours did!

<comment><AUTHOR> Personally the phone interview was much easier for me and I guess much lenient on any initially sub-optimal time complexity solutions, this doesn't mean you should relax though :). All the best for your interview.

</comment></comment><comment><USER30> Facebook gives interview feedback. It reflects their core value of sharing. It's one of a few ways you can see that their process is thoughtfully and intentionally improved upon their predecessors at Google and Microsoft, and reflects the culture of information sharing that defines Facebook.

The "legal" concerns about feedback are bogus.

Google doesn't make "good/not-good" decisions. They make "hire/no-hire" decisions. Huge difference.

They will call you back in 6 months and invite you to apply again. Just memorize the basic half of the CLRS _Introduction to Algorithms_ book, and practice coding solutions to exercises, and you'll get an offer.

</comment><comment><USER35> Related: <http://news.ycombinator.com/item?id=2800538>

</comment><comment><USER36> Screw Google. Go do a startup or get yourself into consulting/freelancing (like me) and earn big hourly bucks.

</comment><comment><USER37> Just like you can't give out the questions to us here on HN, Google won't give you the feedback!

</comment><comment><USER20> It's amazing people still want to work at Google. You don't have to be an employee at a certain place to do amazing things or good work. And wouldn't you rather work in an inclusive, supportive environment? Yeah, they pay a lot and have slippy slides and colorful bikes. However, If you do good work the money will come to you and the google types will stay at google.

<comment><USER12> Google is an inclusive, supportive environment, and though. The vast majority of hires (but perhaps not no-hires, of which there are more voices) say Google is the best job they ever had.

Google employees and management aren't perfect, but they aren't dumb. They know that Google is competitive with startups, and wins in many cases.

</comment></comment><comment><USER38> The problem with silence is that it is inconsistent with the premise of the Google Interview (that it finds good programmers) and the unofficial Google Motto ("Don't be evil"). If these are true, then there's an opportunity for us to learn about our strengths and weaknesses, at least according to Google's POV.

If liability is an issue, have us sign a waiver.

Actually there are 4 possible attitudes about the Google Interview, according to what you believe: 1\. Both claims are true: you don't have any problem with Google. 2\. Only the utility claim is false: the interview is pointless, and can't be learned from. 3\. Only the evil claim is false: the interview is not pointless, but Google is being evil by withholding valuable information 4\. Both claims are false: you probably won't be interviewing for Google, and if you do you're a total cynic!

I think that the OP's position, and mine, is tentative support for category 3. I think there is value in the Google interview process, and after a long day of answering questions on a whiteboard, I feel like Google is being needlessly evil in withholding their feedback.</comment>


My facebook no longer fits - Richard Hammond - <AUTHOR> http://www.mirror.co.uk/news/motoring/hammond/2007/09/29/my-facebook-no-longer-fits-89520-19866724/ <comment><USER2> He was standing on the wrong side of the mirror at this very moment:

> When I first looked at Facebook it was in the bar of a hotel with workmates. > [...] They showed me - it meant nothing.

People who use Facebook wonder what going to bars is for:

"As far as I can see, it's a building where you put out an image of yourself [a bunch of make-up and/or cologne] and other people do the same.

Then you all send each other little glances and approach one another and make pretend 'friends'. And that's sort of it, really."

<comment><USER3> There is no way facebook even remotely approximates live interaction.

Also, going to bars isn't just about singles. Getting a drink at a pub with friends is lovely.

To a certain extend, I agree with the guy, from the first few paragraphs at least.

There needs to be richer interaction online for most people to "get it". Two- way streaming video and audio would be a start. Expressive physical avatars would be fun too.

<comment><USER4> The fact that Facebook is not as "rich" as face-to-face interaction is a feature, not a bug.

Live interaction is great, and we will always enjoy it, but it doesn't scale: you can't go to the pub with more than a handful of friends at a time. If you take a group of fifty people out to the pub you will obviously have to break into a bunch of little sub-groups. If your two best friends end up in different sub-groups, you will either have to ignore one of them or pursue the "mingling" strategy: talk to one small group for half an hour or so, then stroll away on the pretext of getting another beer and wander into another small group.

The "live interaction" version of your Facebook page is your wedding reception. Now, I enjoyed my own wedding reception, but I also have to say that I wouldn't be anxious to hold another one. The good news is that I got to see many of my relatives, my high school friends, my college friends, my grad school friends, my music-playing friends, and my wife's relatives and friends. The bad news is that I talked to each of them for exactly two minutes before moving on to the next. Since I was the guest of honor, I was socially obligated to mingle rather than stick with a single small group, so I ended up exhausted and vaguely unsatisfied.

The "live interaction" version of news.yc is a technical conference with several hundred attendees. The good news about a conference is that nobody is obligated to try and talk to every attendee, so you are free to break up into managable little groups. The bad news is that if you're eating lunch with your colleagues in one room while DHH, PG, RMS, Woz, Bill Gates, and Al Gore are engaged in a passionate technical conversation in another room, you may never realize what you were missing. Even if you spot the PG table, you may find it rude to simply abandon your colleagues mid-lunch in order to go over and kibitz. And there are both physical and social limits to how many people can listen over PG's shoulder.

<comment><USER5> It doesn't have to be 100%-same-as-face-to-face or nothing. In fact, it would be misguided to have imitation of "real life" be your guiding principle when designing stuff on the internet. Your ultimate goal, then, would be to create an extra copy of something we already have--the real world--and that's obviously pointless.

And nobody ever does that with the Web. What people actually do is create modes of interaction that are deliberately different from and better than real life. Just because you or I can't think of a mode that's as "rich" as face-to- face interaction, but is better for whatever purpose, doesn't mean it doesn't exist.

</comment></comment></comment></comment><comment><USER6> I've got to admit feeling more and more disenchanted with FaceBook and MySpace.

There's a difference between addictive and useful. FaceBook is addictive, but are all those people really my friends? (Real friends are people who will help you move furniture) Isn't it a lot like the devil spawn between a phonebook and a gossiping game?

LinkedIn to me seems a little more honest. It's there for business purposes. FaceBook looks just like a huge time sink. A online video game designed around human's social instincts.

Hey. I'm old and probably don't get it. I like to spend my time doing things that have impact in the real world, even if it's programming or engaging in discussions. What does FaceBook do? Exist? Perhaps there is some new kind of socializing and friendship that's being created with Web 2.0. Fine. That makes sense. But the individual still has to do the cost-reward work. At the risk of being branded a heretic, I'm afraid "Do something users want" might be incomplete, at least from a consumer's standpoint.

Note that I'm talking about FaceBook and MySpace exclusively. The whole "how many people can you actually physcially relate to at any one time" is a different question entirely. Discussion boards, especially good ones, seem to me to be a different animal.

</comment><comment><USER7> I agree... I like facebook for 2 reasons: It lets me find old friends I've lost touch with, and it shows me what they're up to every now and then.

The rest of the crap (Feeding virtual fishes, 'poking' each other), they can keep.

The whole 'myspace' mentality of 'requesting friend' then adding ad infinitum - I think that's the weirdest thing. People who religiously seek out 'friends' to add etc. When you have hundreds or even thousands of 'friends' they become meaningless.

</comment><comment><USER8> Is facebook really worth 5 billion? If so Mark Zuckerberg should really consider selling more %. The way I see it facebook serves some basic wants but it is far from the ultimate website, which should take over within the next two years when web developers start to fullfill the potential of Internet.

This article is extremely biased but the points made are legit. Facebook needs to develop its 2.0 or start selling while its stocks are high.

<comment><USER9> _The Web_ is the ultimate website. That's what walled gardens forget.

<comment><USER10> wow you're easily influenced by internet memes, I have trouble seeing how a site with a reasonably complete api is a walled garden.

<comment><USER9> I don't know much about their API so I can't comment on that, but things like this: [http://www.techcrunch.com/2007/09/06/facebook-opening-up- but...](http://www.techcrunch.com/2007/09/06/facebook-opening-up-but-on-its- own-terms/) don't make them look like good citizens of the Web.

<comment><USER10> the fact that you can't comment on it's api is a pretty big reason why you shouldn't be throwing out remarks like "walled garden" just because you see marketing sites (techcrunch) doing it, they too understand little about the technology they write about.

btw facebook released an api method to do the status change thing you can get more info here: [http://developers.facebook.com/documentation.php?v=1.0&d...](http://developers.facebook.com/documentation.php?v=1.0&doc=extperms)

</comment></comment></comment></comment></comment><comment><USER11> I don't get it either... email and blogging does what Facebook does so much better. I won't check Facebook or Twitter or MySpace for the same reason I refuse to check my voice mail at work -- checking too many things and having too many accounts is a waste of time.

Send me an email, or I won't respond. Once people know this, my life and theirs becomes so easy!

</comment><comment><USER12> Like Scoble says, it's my online rolodex. It's a rolodex where you'll have to click at least several times to see all of who you're friends with, and by default you only see people of one particular kind, along with those who have left you messages.

So uh, it kind of sucks as a shared contact manager the way Highrise is.

</comment><comment><USER13> Facebook: You log in continuously and see up to date information about people you know, if everyone you know is on Facebook. It was fun before the minifeed too.</comment>