As someone applying for a front-end position and made it all the way to the on-site, doing the on-site interview soon. Can you explain to me what you mean with js being "so different" inside of Google?
Also that sounds like you learned A LOT. How does that affect your work/life balance?
- Strongly typed everything. I get it now, I really do, but I was resistant to compiled and strongly typed Javascript at first and didn't like writing JSDOCs all the time, I'd say 30-40% of my development / code review time came from those issues.
- goog.struct.* instead of <normal JS way on StackOverflow>. There are a ton of internal libraries that improve on basic JS objects and have different APIs than the standard library. So you get used to using the internal version of Map/Array/Set etc., plus a lot of binding, etc. Basically the whole "Stack Overflow the question and adapt the answer" strategy doesn't work quite as well inside here. There's also a fragmentation of front end frameworks, so there isn't a lot of deep documentation or examples in any given framework.
- Readability. Once you've gotten code review from your team members someone with "readability" has to approve your code as conforming to the Google style guide. If no one on your team has readability in the language you are working in (which happens) then you get bogged down in lengthy back and forths which can be stressful when you're under shipping deadlines. Definitely one of my least favorite parts since I prefer to hack a solution together and refine it afterwards.
The interview process is really bad at getting front end engineers, in my opinion. I think the best way to get hired as a front end engineer is to be really good at algorithms and data structures. I was essentially a data engineer on my last 3 jobs and picked all of the front end stuff up on the fly. It would have been much easier if I had known any framework before I came here and hit the ground running.
I think it was a lot to learn but it seems to be expected around here. Work/life balance has been a big struggle with me this year, the perks are insane and it makes it really easy to stay late. I think if you really want to get ahead and climb the ladder at Google you'd better be young, single, and unattached.
Best of luck on your interview, it's a wonderful and strange place.
Thanks for your answers! My recruiter told me the front-end engineering interview is a bit different and would also focus on HTML/CSS. I guess it's still going to be algorithm heavy hm?
But yes, focusing really heavily on algorithms. I still have a couple of weeks to work my way through "Cracking the Code interview". Practicing a few hours a day on my whiteboard! :)
As someone who did an on-site, I wouldn't worry too much about that. 95% of your interview is going to be on your whiteboard skills solving algorithm-heavy problems. Spend as much time as you can practicing for that.
Technically I was brought in for mobile/ios, but I was asked almost nothing about my mobile experience. It was pretty much just whiteboard question after whiteboard question and then a (do you have any questions for me?) at the end of each one-on-one.
I don't trust what recruiters tell me for preparation much anymore after a recruiter told me "oh, don't worry, they're desperate for people, they just need people with any programming experience!" for the Mortal Kombat team, and on the phone interview they grilled me about 3D graphics (I had only made 2D games at that point), giggled quietly at my unprepared answers, and told me they weren't interested while still on the phone call. I would have done much better if I had brushed up, but I was lulled into a false sense of security by that recruiter.
Also that sounds like you learned A LOT. How does that affect your work/life balance?