Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My story: After my technical phone interviews, I got "accepted" as an intern, meaning I was in the Intern Pool of Rot, where I waded and waited for a team to fish me out. I waded and waded for a couple of months, hoping for a kind suitor. The HR woman always told me that she was "optimistic" about my prospects, so I rejected offers from other companies.

Then a really cool opportunity came, and I accepted that offer because you can't just sit in a rotting pool for two months.

A friend of mine stayed in the rotting pool and was told at the beginning of summer that no one at Google wanted him.

This was 2009-2010. I hope Google changed their ways.



Same here. Twice in a row.

First time, I was told a manager would call me to explain me which team I was being matched with. I received the call to tell me I had an offer... two days after the deadline set by the University. And it is not like this deadline is unknown to employers.

Second time, again, I received an offer. This time, I had to call, one week before the deadline, after two weeks of hearing nothing from them. Two students in my class were in the same situation, one had to send a hate mail to finally get a reply. The other one got one only after the deadline.

To be honest, this really isn't the best way to go about it. Makes you fell like crap as an intern. I interned at fairly large and well known tech companies in the past (Facebook, heading to Bloomberg this Summer) and got offers from many more (Amazon, Microsoft, Zynga, EA, etc.) and my worst experiences were always with Google. As a freshman, Google looked like the dream internship, the company to aim for. Four internships later, it is now pretty low on my list.

Definitely not impressed by their recruitment process. And this all happened in the past 12 months.


And it is not like this deadline is unknown to employers.

Sadly the recruiter who knows this deadline and the managers who have "Look for suitable interns" as one of very many todo list items are not one and the same.

I did an internship at Microsoft and now work at Google; the MS internship hiring process (in 2002) was awesome and very, very fast. Your comments about Google's relative standing are definitely interesting and clearly not an anomaly, the issue is fixing them =)


>Your comments about Google's relative standing are definitely interesting and clearly not an anomaly, the issue is fixing them =)

Why is that an issue? I know from experience that Amazon and Microsoft have the problem pretty much solved. Just do what they do.


Weird story here. MS, Qualcomm, Intel etc. everyone shows up really early @ our school. Google comes 2 months later after the offer deadlines have passed. What gives ? I couldn't even interview because I had to accept another offer.

Compared to MS, Qualcomm, AMZN (I'm headed to MS) Google's process is pretty weird.


Perhaps Google only wanted the people who specifically want to work at Google... Once they have no other choice, Google has its pick of the remaining fish, right?

I wish it didn't play games in recruitment. I had already accepted an internship at Facebook by the time Google called. In the end I'm glad I did, because I really enjoyed Facebook and am going back full time.


Strangely, I've had a different experience. I've heard promptly from Google, but nothing from Facebook. Perhaps they just aren't interested in me, however.


I've had bad experiences with Amazon, Facebook, and Microsoft. Amazon's recruitment process was lengthy and somehow all records they had for one of my interviews mysteriously vanished and I had to start all over again. With Facebook, I didn't get too far into the process, but our campus recruiter has a reputation for being disorganized.

I'll give MS recruiters the benefit of the doubt, as all other candidates I met had positive experiences. They just matched me with the wrong team, and it seems like the recruiter overlooked some paperwork related to scheduling and traveling.

Other sloppy recruitment experiences include some with trading companies such as Jane Street; one such company rejected me by saying "we're only looking for juniors" after calling me on-site. The only truly positive experience I've had is with a YC startup (I was eventually rejected).

Nothing, however, compares with how bureaucratic and mismanaged Google was. I went through a smooth but lengthy recruitment process the first time, and was given a rejection letter after 1 month. Second time, I had to do some juggling between 4 recruiters before getting the paperwork settled for my first interview. I was out of the country and clearly told a recruiter that I should be reached by a different phone number, after which I was asked "are you legally allowed to work in the United States?" even though I'd already answered that in the paperwork they had given me, and I had clearly stated I was studying in the US. Then, I end up scheduling interviews for 2am and 3am my time. The 3am interviewer is not informed about the change in phone number, and is a no-show.

A couple of interviews and 6 weeks later, I get no response. So I end up sending a follow-up mail to my recruiter, who, the very next day, tells me I've been put in the rotting pool. I get no more feedback after 3 weeks, and send another mail. Apparently, I'm still in this rotting pool. I'm guessing this is just equivalent to getting a rejection.

As for interview questions, Google isn't any different from other large companies. I found it odd that they still require candidates to code in Google Docs rather than some Etherpad equivalent that formats code.

So far, searching for an internship has been just a ridiculous time sink. I'd probably get more experience by hacking on my own projects, but that's no guarantee of job safety.


Yeah I agree about Google making you feel like crap. Another thing, they don't pay for the relocation flight or provide corporate housing, so before my first internship with Google I was pretty bummed out by the whole process, but after actually working there I can't wait to get back.

Renaud, I think you should give them another shot if you're still up for it.


At least this summer, that's not true. They pay a relocation bonus that's more than enough to fly you out and back for the summer, as well as ship whatever you need out with you.

The lack of corporate housing is kind of unfortunate, but the internship pay is enough that it isn't something I'm terribly concerned about.


I think you'd have to try pretty hard to consciously design a worse intern recruitment process than this.


Getting them to write code is actually pretty good.

As for binary search, I wouldn't necessarily be able to bang it out in two hours in C, but I'd easily be able to bang it out in that time for any language I use regularly. And with sufficient testing I'd take a good stab at converting to C.

Though I agree sometimes it can be a coin toss. Once I was asked to write some code that would take dates as inputs and do something with them, it was supposed to take two hours and run on a bunch of test cases they gave you. I spent much more than two hours on it, nailed all the edge cases and boundary conditions that I could think of (basically nuked it from orbit) and turned in something which ran on their test cases and also a much longer list of much more challenging test cases. I got that job.

I missed one where they wanted something written by TDD. Unfortunately, I only know how to design something that works, I don't know how to fake a bad design that organically grows into a workable design. As above I nuked all the boundary conditions I could think of, but didn't get that job.

(Probably wouldn't have been happy there, my experience is that people who do TDD or automated unit testing have way too much faith in those forms of testing, and they neglect other forms of testing, so their actual net amount of testing is well below my standards. Things like: every single programmer I've ever worked with who claims that automated testing is sufficient has always produced code that when they claim they've finished the task it fails the eyeball test. E.g. you run their code and within 10-30 seconds of looking at the result you can spot something wrong with it.)


"Unfortunately, I only know how to design something that works, I don't know how to fake a bad design"

I was once given an interview project where they wanted to see how I did with their current code structure. They gave me this really horrible template of data that could never be used in the real world or for anything other than this project. I decided to restructure the template so I could make a useable application for it. After turning it in they were astonished that I reformatted it to look exactly like their production data and code.

The problem was that they didn't like that I didn't use certain basic function like require_once, autoloading or something else which i forget (this was in php). Instead I used c style programming in php which ends up being faster. They chastised me for not using the builtin php functions because they assumed they must be better and didn't hire me. The company (well whoever the recruiter worked for) sayed in the email that I just wasn't the right fit because I wasn't up to the skill level of the guy giving me the test and they needed someone "that good" because they were way behind on their deadline. I sent them an email back basically saying that they're retarded (in a MUCH nicer way of course) and showed them some benchmark results I made comparing the different ways of doing it (which showed my methods as being much more efficient).


> Instead I used c style programming in php which ends up being faster.

Faster in performance, or faster to develop and maintain?

Most PHP apps I've come across have little need for CPU optimization. Not using built-in functions in those situations is likely to have no practical benefit except making it harder for other PHP devs to work with the code.


actually easier to maintain and faster in performance. For example, instead of doing require_once() doing a

if ( ! defined('SOMEINCLUDE')) require('file.php');

then defining SOMEINCLUDE in file.php.

Only saves 3% if i remember correctly but when you're including a hundred includes it adds up and when your site is spread across 30+ load balanced web servers every bit counts. As far as it being easier to maintain, it's easier to debug this way if something goes wrong.

However for things where you've gotta build some huge function (or any function really that's more than a line or 2) to replace a built in for such a small gain in performance I would agree with you.


PHP leads to premature optimization. The root of the root of all evil.


I enjoyed your quip about TDD. I always thought the same thing about mandatory "rough drafts" in high school.


By "other forms of testing" do you mean something like integration testing or do you mean manually checking things?

If you run their code and within 10-30 seconds of looking at the result you can spot something wrong with it, then besides being poor coders, they're also poor testers. Since presumably the result that you're looking for is what they should be testing.

A while back I worked on a web app with developers who used TDD exclusively. In the entire time they worked there they never viewed the web app locally, but they had complete confidence in their changes and almost never broke anything. It was a bit extreme, but it worked for them and they were very effective.


By other forms of testing I mean ALL other forms of testing. People sometimes fall into traps of thinking that their favourite form of testing is better than all the others, and so they neglect the others. I'm not talking about throwing out automated tests (for instance), they are great for doing regression testing amongst other things. But to only have your automated tests and nothing else seems like folly to me.

I take the point about them being poor coders and testers, though one of them was very highly regarded as a programmer (he presented well). The thing with testing is that you cannot predict everything in advance. Even with full code coverage you cannot cover every path through the code, and as soon as your code escapes into userland all sorts of whacky interactions can take place. The last, and best defence is to actually run the code and see what it does. your eye will pick up problems you never would have otherwise predicted.

With respect to the excellence of your TDD colleagues, perhaps they would have never broken it if they had less overwhelming confidence and more "well, it doesn't hurt to check"? That minor nitpick aside, I congratulate them. I think as programmers we should aspire/strive to be better than average, to be good at our art, and it sounds like they found a way that worked for them and fulfilled that goal.


Without the flashy salaries they supposedly offer to entry level CS graduates, and perhaps a bit of the clout their name still carries in the tech world, there's no way they would have any success with recruitment. I wonder if their process is working for them as it is.


The process isn't too different now. My first interview (on campus) was mid January of this year. About a month later (mid February) I had another technical interview, after which I was put into the pool of possible interns. Then in mid March I had a "host interview" with my eventual manager, which resulted in an offer. A two month intern hiring process, when other companies make decisions within a week of the interview, seems arrogant (i.e., they don't think they need too be quick because people want to work at Google). FWIW my recruiter was very friendly, and she explained that she had a pool of about 30-40 intern candidates she was managing.


My process was the exact opposite. I did my two technical interviews back-to-back on a friday afternoon (4-6pm EST, so late in the day), and had been accepted to the applicant pool within the hour, with a host matching interview being setup 30 minutes after that. I interviewed Monday with my host and his manager, and was told that they were willing to host me and were going to start the approval process for an offer. I had the official offer by the end of the week.

So in under a week, I went from initial interview, to official offer. This is by _no_ means typical (and my recruiter even commented on how unbelievably fast it was), but it _does_ happen.


My gf is in that rotting pool now. Killed the interviews, but hasn't found a right team yet.


One way out of the pool might be to reach out to potential teams herself, if you have any friends of friends within the 'plex who can send out tendrils internally. (Or just contact friendly people who post on HN... >.>)


Yeah she's been advised to go through Google's projects herself and let the recruiter know what she might be interested in.


Wouldn't it be an idea to team up with other 'pool rotters' and create a product for Google? i.e. form your own team proactively, and operate like a kind of Skunk Works in Google...


I finally got contacted today after 2 months in said pool :).


Unfortunately, this has happened to many friends of mine. I much prefer the way Microsoft, Amazon, Facebook, and Zynga do their recruiting. However, if Google actually does accept you, it's a steller experience.


I had a pretty similar experience just recently (so I guess they haven't changed their ways). Sounds like the process was a bit different but basically the same net result of Google telling me they wanted me, then not actually matching me up with any group in time for me to take an offer from them.


i had an identical experience just a month ago - took 2 months to hear feedback on the technical interviews, followed by a whole bunch of nothing. compared to other offers i had, google moved by far the slowest


Somewhere in that pool of rejected interns is the next Bill Gates...


I doubt it. The next Bill Gates isn't hoping to get noticed by some company. He's out making something and/or hustling for deals like the actual Bill Gates did. The next Bill Gates is most definitely NOT languishing unnoticed in some intern pool waiting to be discovered like some Hollywood wannabe starlet.


The Woz worked at HP where he was well liked but hardly seen at CTO material...


Even today Woz is not regarded as CTO material for a large company.

Mad scientist with lots of cool toys? Definitely.

Stick him in a suit and make him give presentations to the board? Definitely not.

Woz should be the guy in the basement in the lab coat who occasionally makes the lights in the building flicker with some bitchin' tesla coils... the guy that the CTO goes to in order to find out what is going to be important in tech trends, and who occasionally coughs up a wonderful invention that revolutionises everyone's life.

I think it is important to note that Woz is still listed as an Apple employee as an engineer


And the statement "Somewhere in that pool of rejected interns is the next Woz..." would be far more realistic than "Somewhere in that pool of rejected interns is the next Bill Gates..."

The Woz type and the Bill Gates type are different by miles.


i doubt future-bill-gates would have the patience to apply and wait for big company internships. he would probably be spending that time hacking, hustling, and creating his own software business.


But to actually be the next Bill Gates he or she will have to not get picked. Then 30 years from now the story will be "If only I'd gotten that intership at Google I'd never have started this amazing company. What? You've never heard of Google? Well let me tell you about how it used to be..."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: