Out and about: yeah install something on your phone (or use a self hosted vpn that plugs into pihole? never tried it)
Need to click on sale: You can easily temporarily disable it in the web interface in 1 click
It's a nice way to block ads for any wifi connected device in your house without additional setup. There are probably 10+ ad-serving devices in my house between the TV's, laptops, tablets, and phones.
> use a self hosted vpn that plugs into pihole? never tried it
Not that it plugs _into_ PiHole per se, but rather that the Self Hosted VPN makes your phone use your home DNS server (including the PiHole itself). It works! I use https://www.pivpn.io/ but there are many others.
"I've seen it myself" - So you've sat on FAANG hiring panels that made decisions specifically based on candidates' underrepresented demographics? Or you're just inferring based on people you met while employed at a FAANG? Or...?
I've sat at company hiring panels, and have taken part in discriminatory policies first hand. At career fairs, Dropbox recruiters had us mark candidate resumes with a star for diverse candidates, two starts for "double diverse" candidates (female + URM), and "ND" for Asian male candidates. It turns out "ND" stands for "negative diversity". Literally the first thing we did was bucket candidates by the desirability of their demographics. Recruiters also got higher bonuses for recruiting diverse candidates, along with bonuses for more experienced candidates. The diverse bonus was equal to the difference between hiring an entry level IC1 and an IC6 (senior staff engineer).
Usually discrimination doesn't take place in the hiring panels. Rather it's done by the people given incentives to discriminate, usually recruiters. Recruiters can infer candidates' race and gender with census data on names, and advance diverse candidates to phone screens more often than non-diverse candidates.
I can also detail the company's "opportunistic hiring" plans if you want to hear more.
I would like to hear more, but maybe HN doesn't want to. If you don't care about the risk of downvoting and this being on HN, please write so. But if not, it is ok.
This is the part of the document that described the motivation:
> The Problem Statement
> Based on 177 like tech companies in Silicon Valley (market research and EOO-1 Diversity Statistics data), the percentage of diverse engineering talent is sparse. In short, 4.7% are latino, 2.1% are African American, and 19.2% are female. These candidates are being targeted with all of our top competitors with white gloves tactics, strategic outreach, and engagement strategies, while Dropbox has yet to systematically establish any of these practices to compete for this top talent and showcase our uniquely inclusive, dynamic, and thoughtful culture.
> Opportunity to market DBX [Dropbox] more broadly:
> Moreover, diverse engineers are the most sought after group of individuals on the market today. While the average response rate to engage is high (37%) the rate at which they are interested in moving forwards is quite low (11%). We interpret this in two ways:
> First, due to the small pool and scarcity of diverse talent, companies are motivated to keep their diverse talent happy, well-compensated, and engaged; prospects are rarely on the market, and when they are, it is a highly calculated and careful search based on existing relationships.
> Second, traditional sourcing engagement methods (email, LinkedIn) do not adequately showcase what makes Dropbox special, and because these candidates are so highly sought-after, it would serve us to highlight our culture early on, and to take a more long term approach to courting them.
And here's the proposed solution
> Opportunistic Hiring
> As the business needs shift and open roles become more narrow, it will become difficult to find a home for diverse candidates that we're able to engage and who pass our bar. Wee feel like it would be a disservice to use in the long-term if we miss out on hiring critical talent for Dropbox because of current headcount constraints. To this end, we propose that Eng VP's withhold 20 heads to hire opportunistically.
> When a diverse/URM candidate is interested in interviewing, regardless of headcount, we will put them through the process. If they pass the TPS [technical phone screen] we will bring them onsite and evaluate based on their skillset.
* If the candidate goes to HC [hiring committee], we will proactively find a sponsor/team home for the candidate, and that team would receive a preciously withheld headcount for that hire.
This was announced April of 2019. I've transcribed parts of the document that announced this policy above. I can't speak as to whether or not this is still in place as I have since left Dropbox.
Interestingly, Dropbox already 23% women in tech roles[1] at the time that this was announced - larger than the figure of 19% shown above.
I used to think naively that checking these boxes does nothing:
- "I prefer not to disclose my sexual preference"
- "I prefer not to disclose my race/ethnicity"
- "I prefer not to disclose whether I'm a veteran or not"
Anyway, it is a sad read for people like me who don't get preferential treatment. It seems like I'm being salty, but it is just the reality. People like me studied hours and hours doing Leetcode and sacrificing other things, even sacrificing things that should have helped our career better, such as learning relevant skills like techniques, libraries, etc. It is what it is. Naively think about meritocracies.
If I can just write a huge *sigh here, it is what I'm currently doing right now.
I don't care about downvotes. I just need to rant.
Anyway thank you for the replies! I really appreciate it.
Well that's generalizing isn't it? Not every Asian male sounding name person actually have a good track record in their family, free of abuse, loving both dad and mom, good education, know how to do math to the point of memorizing the entire Pi numbers.
There are people who are outside of the normal as well. Why not give them privilege by hearing their stories as well?
Or better, why not discard the preferential treatment and do it based on meritocracy? I know this can't be done in today's world, just hoping.
Not every white person comes from a rich, educated family either. I'm very familiar with this being a white, uneducated, disabled female from the Midwest US with an uneducated, abusive, lower-middle class family.
Meritocracy does literally nothing to aid less privileged people to get ahead. It primarily helps those who started with privilege in the first place which is mostly limited to select groups.
I'm not sure why pointing out the fact that this forces members of the same race or gender to compete against each other for a limited number of spots is justification. The fact that we're allocating some hiring slots for certain races and genders, while others have to compete for a more limited number of slots is the problem.
Furthermore, this policy announced when the company's tech workforce was already higher than the industry's representation in the metro area. So they were using discrimination to increase an already existing overrepresentation.
Were you required to remove stars already on the resume? If not, then I know just what to do.
Where on my resume should I put the two stars? Are those the traditional hand-written style, with the lines crossing to make a pentagon in the middle? What sort of pen or pencil should I use?
We wrote the stars ourselves - normal 5 point star style. If you wrote the stars yourself recruiters would probably cross them out and write in the stars that correctly reflect your diversity status.
So basically I know a few people who can't even solve an Easy Leetcode questions. They got in as SWE L3/L4, E3/E4 and I also know one L5.
Can you help me in explaining why? I don't have the intention of looking down on people. I'm just gathering data. If I can find a reasonable explanation then I want to take a look at it, and learn from it, and see where did I do wrong, so I can improve and pass the interviews next time.
I knew a lot of people at FAANG that were L4/L5 that couldn't solve Leetcode easies. Leetcode isn't part of the job, just the interviews.
Getting an offer is not just a matter of solving a programming problem. It's about how you communicate. And, of course, if you're a brilliant jerk ability doesn't matter: you're not getting hired.
If you're not getting past the interviews despite being a strong programmer, you may want to really think deeply about how you're communicating with your interviewer. Remember, the vast majority of people who are getting offers aren't women or minorities so that's probably not what's blocking you.
Your experience matches my anecdote. Hence you can imagine my total confusion once I got the interview myself (Google, 2 times, phone to onsite, Amazon one time to onsite, Facebook, one phone). In my latest FB phone for example. I was asked a Medium question that I've never seen before, and nevertheless I solved it. How do I know? Because apparently that was taken straight from Leetcode, and the interviewer didn't even bother to change the question. I copy pasted my solution to Leetcode, run it, pass 100% test cases.
I got rejected....
I asked for feedback from the recruiter. Apparently I needed to do 2 Medium questions in the allocated time. I solve the first Medium question in about 30 mins, and there was only 10 mins left for the 2nd one so the interviewer didn't bother to ask me the 2nd one.
The scenario that I just told you above is not unique. Venture enough to cscareerquestions and Leetcode forum you'll be surprised to see many many worse experience than this.
Keep trying. I hate to say it, but luck is a factor. The process is by no means objective. Sometimes it's just a matter of getting the right interviewer.
Thank you. I am currently pivoting to learning other things that are more practical in the job. I did enough Leetcode that I started to like it (Stockholm's syndrome).
Leetcode premium -> do all the problems for the company you are targeting, sorted by most frequently seen in the last 6 months. Then, you will know what your weak points are (mine were minimax and disjoint set problems), and you can go through questions tagged with those topics. Aim to complete at least 60 problems, you should feel fairly comfortable with any Leetcode medium grades, and DFS implementation. Leetcode hard questions are good challenges which could expand the way you approach problems, but in my experience, did not show up much during onsite interviews.
Also, "completing" one problem in the context of the above does not mean being able to solve it the first time without checking the solution. It means possibly struggling with the problem for 20 minutes, checking the answer, and making sure you can do it the next day without looking at the answer. YMMV.
> Also, "completing" one problem in the context of the above does not mean being able to solve it the first time without checking the solution. It means possibly struggling with the problem for 20 minutes, checking the answer, and making sure you can do it the next day without looking at the answer.
Thanks for saying this. I tried leetcode last time I was looking for work and was thoroughly discouraged. This approach makes a lot of sense for someone who's been coding for a long time.
I worked on a service a year ago that would stream a video from a source and upload it to a video hosting service. A few concurrent transfers would saturate the NIC. Putting each transfer job in a separate lambda allowed running any number of them in parallel, much faster than queuing up jobs on standalone instances
That’s true, the cost needs to be factored into the model. But the near infinite bandwidth scalability allows the service to exist to begin with. If every job saturates your up and down bandwidth and takes 10 minutes, and you have 100 coming in a minute, you would need to design a ridiculous architecture that could spin up and down instances and handle queuing on the scale of thousands based on demand. Or you can write a simple lambda function that can be triggered from the AWS sdk and let their infrastructure handle the headache. I’m sure a home grown solution will become more cost effective at a massive scale but lambda fits the bill for a small/medium project
Right, but without the lambda infrastructure it would be infeasible from infrastructure and cost perspective to spin up, let’s say 10,000 instances, complete a 10 minute job on each of them, and then turn them off to save money, on a regular basis
Isn't that also possible with EC2? Just set the startup script to something that installs your software (or build an AMI with it). Dump videos to be processed into SQS, have your software pull videos from that.
You'd need some logic to shut down the instances once it's done, but the simplest logic would be to have the software do a self-destruct on the EC2 VM if it's unable to pull a video to process for X time, where X is something sensible like 5 minutes.
Airsim also has poor facilities for stepped simulation needed for many RL algorithms (e.g. insert control, advance simulator by 30ms, observe state, repeat). It looks like this is still being worked on: https://github.com/microsoft/AirSim/issues/600
Some of the more esoteric Leetcode medium/hard questions are ridiculous to ask someone who hasn't been specifically preparing for them, I agree, but I think it's fair to ask Leetcode easy's where the algorithm itself is not complicated but demonstrates the interviewee understands complexity analysis, data structures, etc.
Even with easy leetcode, there's still a lot of issues. If a company must do leetcode, it should be like this:
* Both candidate and interviewer enter the room.
* A small script randomly pulls a leetcode easy question from the website.
* They both spend the next hour together working on a solution.
I can already hear the objections from leetcode fanatics, things like I have to know the answer already so I can "calibrate" (basically see how fast they can regurgitate the rote memorized solution). A bullshit reason, so an engineer who solves something 1 minute faster than another is better? Or I need to always use the same question so I can compare candidates. Another bullshit reason, I thought it was about seeing how they reason about a problem, why do you need the same question for that? Whatever question you get, it should be clear if they're good at reasoning or not.
The truth is, it's just a hazing ritual by insecure engineers who want to be the one with the one true answer they can use to feel better than the candidate. That's all it is and that's why I ignore companies with this kind of process.
Algorithm questions doesn't work well if you pull them from a public database, they need to be novel. If you get questions available on Leetcode then they are doing it wrong.
> The truth is, it's just a hazing ritual by insecure engineers who want to be the one with the one true answer they can use to feel better than the candidate.
It is not, I believe they are useful and have seen data showing that they are useful. The question I use was first used on me and I solved it completely in 20 minutes. I haven't had a single candidate solve it in 45 minutes, and I give them huge amounts of help.
I give hire recommendation to those who makes a good attempt and doesn't start bullshitting. Lots of people starts spouting bullshit when they get questions they can't answer for some reason, I guess this kind is what you get if you use publicly available questions.
> "The question I use was first used on me and I solved it completely in 20 minutes. I haven't had a single candidate solve it in 45 minutes, and I give them huge amounts of help."
Honestly it sounds like you're proving GP poster's point here: these interview questions are administered by engineers who want to feel better than the candidate.
Speaking from experience, it's much more enjoyable to interview a candidate who does well than one who does not.
An failed interview is awkward, and then I have to turn around and write clear and explicit feedback about exactly why someone shouldn't get hired. It's probably my least favorite job responsibility.
But at least with calibrated questions, I can be fair and impartial and know how much help the candidate needed. Throw me into a room with a question I don't know, and the same general complaints apply, but now I have to figure it out as we go too, so my focus isn't on feedback and helping, but on understanding the problem.
These interview questions are administrated by everyone at Google, so I just picked one used on me after assuring that it wasn't in any public database. The problem is apparently significantly harder than what interviewers typically get, I didn't know that when I picked it. However I don't think it is a bad question, seeing people struggle with hard problems gives a lot of strong signals as well. Also compared with other interviewers I tend to be on the nicer side of grading, so it is not like getting a hard problem hurts them.
Only if it's directly related to the problems the person will be solving. For example, asking data structure questions that aren't relevant to the position is a waste of time and biases your hiring to skills that aren't what you need.
It's a nice way to block ads for any wifi connected device in your house without additional setup. There are probably 10+ ad-serving devices in my house between the TV's, laptops, tablets, and phones.