News for hackers. Stuff that matters.
Re:Why I Left Google by herval on Thursday May 31, 2012 @08:11PM (#4051159)
I'm surprised by the tech part. I was under the impression Googlers used a lot of Python, for instance, and possibly other languages... Are these exceptional cases, then?
Re:Why I Left Google by j_baker on Thursday May 31, 2012 @08:28PM (#4051214)
Google's a bit ambivalent about Python. On one hand, you have a contingent of programmers who don't consider python a "real" programming language. These types seem to be mostly on the search team. On the other hand, there are plenty of pockets within the company where Python is used pretty heavily. The most notable is arguably the App Engine team.
Re:Why I Left Google by myko on Thursday May 31, 2012 @09:54PM (#4051503)
I found this out during my interviews at Google; after I solved a problem using Python the interviewer gave me another and said "this time use a real language." Ouch.
Re:Why I Left Google by majormajor on Thursday May 31, 2012 @11:32PM (#4051818)
That's the sort of thing that would make me strongly consider ending the interview, at least if I was going to be working directly for the interviewer. No need to waste more of their or my time than necessary, and I really wouldn't like working in that kind of insulting environment. And from a probably-immature perspective, the feel of power from being the guy saying "sorry, I'm not interested anymore" instead of hoping they call you back is nice.

Or, if I was really annoyed: bust out some Common Lisp for the next problem, then leave.

Re:Why I Left Google by Goladus on Friday June 08, 2012 @01:12PM (#4085170)
Seriously, he said the next question was string manipulation or something:

    #include <stdio.h>
    char f[8] = {70, 117, 99, 107, 32, 121, 111, 117};
    int main(){
      int u; for(u=0; u<8; u++) { printf("%c", f[u]); }
      printf(".\n");
    }
Thank them for their time and walk out.
Re:Why I Left Google by jrockway on Friday June 01, 2012 @12:56AM (#4052047)
You should definitely mention things like this to your recruiter. Sometimes interviewers misunderstand or make a mistake, and that shouldn't be counted against you.

Obviously it's rational for this event to make you uninterested in working for Google, but if that's not the case, it helps to escalate your concerns or complaints.

Re:Why I Left Google by underwater on Thursday May 31, 2012 @11:19PM (#4051776)
That's pretty bad. Interviewing should also be about selling the candidate on the company. If they get an offer you want them to accept. If they don't then you don't want them bad mouthing you to other potential candidates.

If an interviewer insulted me or my language choice in an interview it would definitely make me wonder how they would treat me as a coworker.

Re:Why I Left Google by lucian1900 on Friday June 01, 2012 @05:24AM (#4052638)
The entire Google interview process is slanted that way. They keep making you feel privileged for being able to take that interview, and almost never try to make you sell the company to you.
Re:Why I Left Google by Drbble on Friday June 01, 2012 @10:53AM (#4053682)
This has changed a lot for the better in recent years.

Also, a lot of geniuses are socially inept. I doubt you said everything right in your interview either. It helps to smile and keep going when one person in ten shows a flaw.

Re:Why I Left Google by zobzu on Thursday May 31, 2012 @11:49PM (#4051870)
When I get stuff like that, I'm generally like "oh wait I'll try a real company". Not that C is not lower level for example. I love C. But since the interviewers are actual devs and managers at Google, it shows quite a bit.

I'm guessing it'd be nice starting writing in a lesser known language or even just go for some old arch object code (like 68k object code which is pretty simple to write, and the chance is high that the interviewer will be clueless and find this a bad joke - and yes i can write that as i did a lot of it 15years ago, its straight forward)

Then Google writes you as an "do not employ" person of course and say that you do not fit (while you declined them), but hey, honesty, balls, and being dumb sometimes feel good. Sounds like a true story.. oh, I know.

Re:Why I Left Google by j_baker on Friday June 01, 2012 @01:18PM (#4054518)
Anyone who's a common victim of recruiter spam might actually consider being blacklisted a plus.
Re:Why I Left Google by cpeterso on Friday June 01, 2012 @02:15AM (#4052208)
That's a lame response from the interviewer, but you should probably have asked him what language you should use before doing it. If he did not say, then his question is underspecified (maybe to test you).

When I interview someone, I explicitly prefix coding questions with "you can just write pseudo-code or whatever you prefer" or "please use C/C++".

Re:Why I Left Google by myko on Friday June 01, 2012 @07:45AM (#4052916)
This is good advice. I believe I did ask and get the okay for using Python on this particular problem, which made the reaction a bit more surprising to me.

The next question had to do with string manipulation and I think he was just worried it would've been terribly easy if done in Python.

Re:Why I Left Google by cpeterso on Friday June 01, 2012 @01:33PM (#4054575)
At least it sounds like the interviewer was just focusing on the next question and not putting you down for using Python.
Re:Why I Left Google by ikailan on Friday June 01, 2012 @01:03AM (#4052059)
While Python is a sizeable part of App Engine (SDK, admin console, tooling .. some other things I can't remember right now), the majority of the code is Java and C++. It's one of the reasons Python isn't listed as one of the top needs (http://googleappengine.blogspot.com/2011/07/wanted-app-engin...) over C++ and Java.

That being said, it's a very Python friendly team. Guido's on it (HI GUIDO).

Re:Why I Left Google by tim_sw on Thursday May 31, 2012 @08:46PM (#4051283)
and youtube
Re:Why I Left Google by jemfinch on Thursday May 31, 2012 @08:37PM (#4051247)
Every time here at Google that I've started a project in Python, I've finished it in C++ because Python had neither the speed I needed nor the maintainability I wanted. Every. single. time.
Re:Why I Left Google by arkitaip on Thursday May 31, 2012 @08:41PM (#4051263)
I can understand the speed part but maintainability? Sounds interesting, would you like to elaborate?
Re:Why I Left Google by jemfinch on Thursday May 31, 2012 @11:11PM (#4051760)
Static typing is a godsend when you're working with code that you only vaguely remember from the last time you worked with it a year ago. It also gives me much more confidence when refactoring: the compiler will find the callsites I missed.
Re:Why I Left Google by yummyfajitas on Friday June 01, 2012 @08:49AM (#4053085)
C++ also has a great feature which a lot of more modern languages (Java, Python) have forgotten about: const correctness.

    class Foo {
        type_t getValue() const;
    }
When I call foo.getValue(), I can be certain [1] that foo has not been mutated.

[1] In C++, things like memset((void*)this, val, 1024) are always possible.

Re:Why I Left Google by heretohelp on Friday June 01, 2012 @04:39PM (#4055629)
>const correctness

I love that C++ programmers still believe in the false gods of the const keyword.

Zen: reflect upon the meaning of a const volatile pointer.

-> exits stage right

Re:Why I Left Google by herval on Friday June 01, 2012 @01:07PM (#4054465)
Won't proper testing help on that matter too?

I've worked on rather big projects in Ruby and Javascript, and testing always managed to keep things sane. Static typing helps you refactor things or make sure certain variables are the correct type, but in the grand scheme of things, I'm not sure type casting is the major source of bugs/errors in any system

Re:Why I Left Google by dmaz on Thursday May 31, 2012 @09:35PM (#4051445)
I do like Python but haven't used it for anything more than a few thousand lines.

The dynamic nature puts many errors into the runtime stage and increases verification complexity. Can be limited by static code checking, but grows cumbersome.

Re:Why I Left Google by swah on Friday June 01, 2012 @08:22AM (#4053014)
What do you use for longer programs?
Re:Why I Left Google by dmaz on Friday June 01, 2012 @03:51PM (#4055364)
Go if possible, C++ otherwise.
Re:Why I Left Google by djmdjm on Thursday May 31, 2012 @09:23PM (#4051410)
Duck typing makes for difficult debugging in large programs.
Re:Why I Left Google by philsnow on Friday June 01, 2012 @12:39AM (#4051998)
python's loose typing can cause some problems when new people start contributing to a sizeable project, that can be caught earlier in languages with stronger/earlier type checking.
Re:Why I Left Google by swah on Thursday May 31, 2012 @11:31PM (#4051815)
But isn't Java the middleground between those two?
Re:Why I Left Google by neild on Friday June 01, 2012 @01:48AM (#4052148)
Not even close.

I'd say Go is, though.

Re:Why I Left Google by ChuckMcM on Thursday May 31, 2012 @08:16PM (#4051168)
When I was there is was more by 'layer' so if you were in the customer facing side you were pretty much talking Java or C++ but if you were in operations it could be Python, C, or bash scripts even.
Re:Why I Left Google by heretohelp on Thursday May 31, 2012 @08:23PM (#4051199)
> if you were in operations it could be Python, C, or bash scripts even.

As the case may be of late...Haskell.

Re:Why I Left Google by tensafefrogs on Thursday May 31, 2012 @10:10PM (#4051552)
YouTube's codebase is largely python, but it was sort of grandfathered in. I'm unsure if it would be used if they were to rewrite it today.
Re:Why I Left Google by philsnow on Friday June 01, 2012 @12:41AM (#4052004)
Some parts of it are being rewritten from the ground up, and I know of at least one sizeable portion that's being rewritten in python.

edit: depending on who you meant by 'they', I bet go would be a contender for (parts of) a total rewrite

Re:Why I Left Google by luriel on Friday June 01, 2012 @02:20AM (#4052217)
YouTube is starting to use Go quite a lot. They even released this: http://code.google.com/p/vitess/
Re:Why I Left Google by tempacct4321 on Friday June 01, 2012 @05:14PM (#4055823)
What does "grandfathered" mean? Seen the term in a few recent HN posts as well, dealing with accounts at web sites where they change plans, etc. TIA.
Re:Why I Left Google by srj on Friday June 01, 2012 @03:39AM (#4052406)
The part of the codebase I work on in maps is written in C++, making it the language used most often within my team. I've finished a number of projects in python though, and I don't get any impression that I'm required to program in these languages should I think another is more appropriate.