Is this really prevalent at Google?
edit:quotes
184 karma · joined February 19, 2017
Is this really prevalent at Google?
edit:quotes
> Imagine two plants growing side by side. Each day they will compete for sunlight and soil. If one plant can grow just a little bit faster than the other, then it can stretch taller, catch more sunlight, and soak up more rain. The next day, this additional energy allows the plant to grow even more. This pattern continues until the stronger plant crowds the other out and takes the lion’s share of sunlight, soil, and nutrients.
I never seem to find a quick good answer for this.
Maybe I just almost never work on REAL hard things.
So my question to you, HNers, is :
What is the hardest technical problem YOU have run into?
I am really interested to know what you would consider 'hardest'.. It's probably not going to be something like 'I changed the css property value from "display: block" to "display: inline-block"..'
it is probably something like : 1. go to upwork
2. find a 2-3 hours task (eg: scrape entire site [sitename].com, design a logo etc. etc.
3. give the same task to 5 different candidates
4. choose the best one
5. make profit and gain upwork cred
6. send a "thanks but we chose a different candidate" email to all the candidates
7. repeat
(edit:formatting)
edit2: you can even let candidate X make a code review on candidate Y.
step 8: automate the process and go public
That's just unfair, inconsiderate and unsustainable, and is also a red flag (ie: I would not go to that company).
Giving up a week of your life for an interview ?
and for free ?
And most importantly - what if ALL companies did this ? you would have to spend months working from home, for free, just to get to the next level of the hiring process .
I don't know what the solution IS, but I know for sure that it IS NOT a 1-week work-from-home-for-free task .
(edit:formatting and some grammar)
Edit2: people will actually pay good money for a yelp (or craigslist/etc/etc) clone on places like upwork. And they asked you to do it for free .
> Hours doing homeworks: 33
I would prefer this to be the opposite: more homework, less talking . That's what the job is going to be like, anyway ..
(edit:Formatting)
Same probably goes to %99.9 of all investors as well, otherwise those %99.9 would have been rich from buying Google after their IPO.
Being short sighted is a humans' thing, probably. not a tech CEOs' thing..
'feeling like' is not a good way to convincing me to short something. nor long. nor anything ;)
> ..., but I feel like the multiplied probabilities of both make it as clear a bet as you ever get
So you 'feel' like it would be a 'clear bet' ? sounds like a big maybe to me.
How about NOT shorting/longing at all ? I feel like this is the clearest bet for me ;)
(edit: spacing)
But for example - on map based apps I would personally prefer to have the map with as little distractions (icons, buttons,text inputs, labels) as possible.
In Google's Android Chrome the url box is hidden once you start scrolling down. I like that . And they probably have the data to show you that other people like that as well, because this 'hide-when-scrolling-down' feature is there at least a year or so, If I remember correctly.
Don't do what specifically ? and why not ? and what should I do instead ?
All of these answers are missing in your comment.
WhatsApp is doing something quite similar - displaying a small search icon. When you click on it - the search box expands to 100% (with animation, of course) and the keyboard input pops up.
Is this a common pattern in the bugs world ? publicizing a critical bug after 90 days of no response ?
Also, every time (for the first 5 times) that he clicks on the 'submit search' button/icon - make an animation that will minimize it, allowing him to see how it actually becomes smaller and more compact.
Also, when you get to the point of showing only the minimized search box - you can show him an animated tool top that will point to the small button. Again, you can do that only on the first X attempts .
Also, you can track and analyze the 'learning success rate' of your users. If they actually keep forgetting how/where to look for the search button (after they made x successful search attempts) - then YOU are probably right.
But this requires to be more data driven - try something and then measure its ssuccess etc.
After a few attempts you should (hopefully) see one way of doing it that is by far more effective than the others. But again - this requires data analytics.
divide your use cases into two:
a: first x visits (or first visits until the first click on the search box, which means the user now knows it's there)
b. all the rest of the visits after he tried it for the first time
explanation:
a.on the first x visits, or until the user REALIZES that there is a search box - try making it extremely visible. even a blinking animation for a few seconds might do the trick. another nice thing is to animate a text, char-by-char . I have done this on android apps and it even looks sexy to the eye (like those old games) Try to get his attention to the search box at any means possible.
b. once the user actually realized that there is a search box and he actually tried to use it - he is now educated. he knows there's a search box. In this case, you can minimalize your search box to a tiny search button. remember - the user already knows it's there. if he needs it - he'll know where to find it
Any feedback/criticism will is welcome.
(edit: spacing)
* if the reducers/actions/action creators/action types/sagas are UNIQUE to the component and are not being used elsewhere then it should sit together in the same folder .
* if they are more generic/being used in more than one place then I would put them all in a separate folder, since all of those parts are actually doing more or less one thing - manage a specific sub-section of your app's state.
This sub-section of your app's state can then be shared by many more than one entry point, which is extremely useful for me.
A REAL example:
I took the redux-login-saga-flow (https://github.com/sotojuan/saga-login-flow/tree/master/app), changed the folder structure so now i can just import the login state management into every entry point i want, and bam - it just works, since all of that state sits under 'login'.
I can now create a new webpage and add all of the login complexity in only a few minutes of work .
I Hope I was clear
(edit: some cleanup and spacing)
> export default class AppUpdater { ......
why is this a class ? just so it can auto-exececute without being called ?
i would prefer an 'export default function init(){ // init code'
exactly this. Just cancel his subscription the NEXT month, and you solved the problem, financially and technically :)
And who would HATE this proposition ? the spammers :) now they won't be able to do what the OP has suggested they might do (pay -> get support -> cancel ):)
(edit: spacing.
7.5(the average of your 5-10 emails per day)*30(days) /7000=~0.003 =%0.3
how would you explain the fact that only 0.3% of your customers send you an email/month ? What contributes to it being so low ?
If you cancel the subscription, you won't get support. I don't understand your point :)
You gave me an idea for a business model - Let's say you offer a pingdom-like service (to monitor your site availability and reliablity) -
You can just do the following:
1. Offer the service 100% Free, at your own risk
2. Offer a $x/month subscription . if you don't pay - you won't get any customer support.
Or, you can will still offer free support for non-paying customers, but without any priority (their tickets will be handled only after the paying customer's tickets)
Does anyone know of a company that is offering this type of model ?
(edit: added missing words and spacing)
This is why i asked for clarifications. the OP said 'Google is incapable of hiring the engineers I want to work with', which implies that the engineers he is looking to work with are NOT there. Google is incapable of hiring them, and since they are top quality devs, someone else (more capable) did.
> Do I have to explain why that's not a good argument?
Yes, please explain. Because you only took the first sentence of my argument. the second sentence was that those "many people" are going to do what it takes, even if it means taking 'stupid' tests, smuggy interviers, and some other large corp bureaucracy (which to me personally is more concerning, but is not specific to Google, rather to any large corp). And why ? My guess is that it's probably so cool,curious, challenging to work on something like Google Maps/Balloons/Self driving cars that they will be willing to make a lot of sacrifices and tradeoffs. THAT was my argument.
> Other people don't mind shitty treatment, so what?
please explain, i didn't understand your point
(edit: spacing)
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)