7 ms·
The reason I won't work at Google is because Google is incapable of hiring the engineers I want to work with. It's not a matter of whether I could pass that int
by roguecoder 10y ago
The reason I won't work at Google is because Google is incapable of hiring the engineers I want to work with. It's not a matter of whether I could pass that interview; it is whether I want to work with the code of people who can pass that interview. Whether I want to get code reviews from people who can pass that interview. Whether I want to rely on the code of people who can pass the interview not to break down in interesting and novel ways.
I have seen the worst apps written by "Very Smart People" who obviously had never built an Android application before. It doesn't matter how smart you are, the first time you do something it will suck. I have had catastrophic failures caused by premature optimization, because locking a tool into a fancy algorithm before you know where the actual bottleneck is is a recipe for disaster. I have seen so many problems caused because people couldn't take feedback or didn't ask for help, because they were so wrapped up in being The Kind Of Person Who Knows The Answers.
Frankly, passing algorithm questions is a great way to signal that I probably don't want to have to deal with your code.
Personally, I love working with people coming out of the good agencies because building 15 or 30 applications from scratch in an environment with strong mentorship and rapid feedback is, in my experience, more likely to produce a good programmer than all the smarts in the world.
- perfmode 10y agoBut Google's code quality is quite high...
- ingsoc79 10y agoHave you ever worked with the Android SDK?
- perfmode 10y agoIn my opinion, Android's code organization is a result of questionable architectural constraints applied early in the development of the platform.
- JangoSteve 10y agoIsn't that exactly the point roguecoder made? > I have had catastrophic failures caused by premature optimization, because locking a tool into a fancy algorithm before you know where the actual bottleneck is is a recipe for disaster. EDIT: Or, are you saying that it was from the decisions made before Google acquired Android?
- CaptSpify 10y agoI think that highly depends on what you value in code.
- korzun 10y agoThat's a bit biased.
- yawaramin 10y agoI don't know about their code quality, but we consume some of their data via APIs and they periodically randomly change their non-nullable data types to nullable. Fun times hotfixing those in prod.
- perfmode 10y agoWhen data comes in over the wire, you probably shouldn't be making assumptions about what's nullable. You should write a parser that fails gracefully if it receives unexpected input. It's the robustness principle. https://en.wikipedia.org/wiki/Robustness_principle https://en.wikipedia.org/wiki/Robustness_principle
- Drdrdrq 10y agoYou're missing the point. Sure, you should make it fil gracefully on unexpected input. But Google shouldn't change APIs in a way hat causes 3rd party apps to fail at all.
- perfmode 10y agoThird party apps wouldn't fail if they were correct in the first place. Failing gracefully on unexpected input is the way a competent engineer would structure their program.
- deleted 10y ago[deleted]
- ethbro 10y agoIs there a functional difference between "my production code suddenly stopped processing work because it rejected a newly nullable input value" vs "my production code suddenly stopped processing work because it crashed on a newly nullable input value"?
- protomyth 10y ago
- lettersdigits 10y ago> The reason I won't work at Google is because Google is incapable of hiring the engineers I want to work with That's a very bold (even arrogant, sorry) statement about 57,000+ (googled it) employees. So 57,000 are worse devs then you ? This is what i hear from your statement, correct me if I am wrong .. Many extremely talented people want to work for Google. They will take the tests, even if they don't agree with the hiring system at all . Maybe they want to work at Google despite its incapability (according to you) in the hiring and testing process. > it is whether I want to work with the code of people who can pass that interview Have you found any correlation between poor code and being able to pass Google's interview ? (edit: new lines)
- unknown2374 10y agoI don't think he/she means that they are worse. We all want to work with developers who can help us learn and get better. From what I understand, he/she just means that their process of hiring has no correlation to the quality of code that they produce. Their hiring process is incapable by design of hiring those people BASED on those skills he/she is looking to work with, but sometimes they do end up hiring capable engineers with no credit to their process.
- countryqt30 10y agoJust as a matter of correctness: only 1/3rd of Google employees are engineers/development guys.
- DonHopkins 10y agoSince Google is an advertising company that even hires their own chefs, I would not expect 100% of their employees to be software developers. It's more on the order of 20k developers, not 57k. https://www.quora.com/How-many-software-engineers-does-Google-have https://www.quora.com/How-many-software-engineers-does-Googl... >Have you found any correlation between poor code and being able to pass Google's interview ? cough cough Angular 2
- walshemj 10y agoBack in the day I worked for a company that had in a single division more engineers that google has employees :-)
- ceronman 10y agoHow many Google Engineers do you know? I know quite a few of them. All of them, without exception, are incredibly brilliant engineers. You might think this is just anecdotal evidence, that's correct. But also think that Google Engineers are responsible for many top quality, world class software projects. How could that be possible without really good engineers? Yes the interview process is tedious and can be frustrating. But negating the fact that they have some of the best software engineers in the world is just silly.
- DonHopkins 10y agoQ: How many Google engineers does it take to screw in a lightbulb? A: Build great content. https://twitter.com/dr_pete/status/623981710003187712 https://twitter.com/dr_pete/status/623981710003187712
- coldpie 10y agoI don't get it.
- DonHopkins 10y agoIt's the standard Google answer to every question.
- biztos 10y agoWhat are these "agencies" you speak of, and how do you tell the good ones from the bad? (This is a serious, non-ironic question: I don't know what you mean, but it sounds interesting.) Edit: I guess you mean recruitment agencies? How does one find the "good ones," other than through bitter experience and/or luck?
- alaskamiller 10y agoHe means dev agencies that contract for projects. Agencies act as general contractors, augment your staffing, or provide consulting services. Agencies build whole or partial products, often times for stuff that you use on a daily basis. For example, there's an agency with relationships with many YCombinator companies and builds most of their mobile app or web apps.
- biztos 10y agoThanks. Any idea how one finds the "good" agencies? Is it a networking thing?
- alaskamiller 10y agoYou hire agencies the same way you hire people.
- hota_mazi 10y ago> It's not a matter of whether I could pass that interview Rrright. > Personally, I love working with people coming out of the good agencies What does that mean? What agencies? What makes these people good to work with? I'm seriously flabbergasted by most of the points you make.
- teperpencoli 10y agoI certainly wouldn't want to work with you!
- misiti3780 10y agoamen!
- fpig 10y ago> Frankly, passing algorithm questions is a great way to signal that I probably don't want to have to deal with your code. Wow that's some serious sour grapes.
- laichzeit0 10y agoWhat is it with developers and their code-centric view of employment? Any idiot can "write code" in 2017. It's not particularly difficult. You might do it slightly better but still your profession is not by a long shot "difficult". Can you work in a team? Can you communicate? Do you dress in a presentable manner? Can you explain technical ideas simply? Do you know anything beyond cutting code? It's simply not good enough to be some lone-ranger ubercoder anymore. Coders are a dime a dozen. I'd actually rather take someone with a degree in statistics or physics, let them learn to code on the job, and I'd be able to apply them to an order of magnitude more problems than your typicall mathematically illiterate self-styled genius who can write a bit of code. Programming is the easy part, stop deluding yourself into thinking what you do is difficult. It isn't.