[HN Gopher] Ask HN: What to do about 'Good at programming Bad at...
___________________________________________________________________
Ask HN: What to do about 'Good at programming Bad at Leetcode'
Over the past few years I've met people who are really good
programmers when it comes to putting together a full back end
system , creating a very nice front end or creating any kind of app
for that matter. Many of these people are fresh out of college and
the 'industry' puts them through leetcode/hackerrank style rounds
that are needlessly hard. I've seen the kind of questions these
rounds have and quite frankly, if I graduated this year, there's no
way I'm going to get a job. Ever since 'Cracking the coding
interview' was released, every company's interview process has
become like Google's and Google didn't have a particularly great
interview process to start with.[0][1] Now, there are several
GitHub repositories that prescribe 3-4 month grinds on leetcode
questions to "crack" the interview. And people do go through this
grind. The people who do manage to crack these rounds are not
necessarily good at programming either because the time they spent
doing competitive programming stuff should have been spent learning
to build actual things. The no-whiteboard companies are very few,
hardly ever seem to have openings and not hiring junior engineers.
What would be your advice be to fresh college graduates, or anybody
for that matter, who are good at programming but not at leetcode?
Surely there must be a way to demonstrate their understanding of
algorithms without having to spend 3-4 months memorising riddles
[0] homebrew creator..
https://mobile.twitter.com/mxcl/status/608682016205344768?lang=en
[1] Zed Shaw gets offered a sys admin job
https://news.ycombinator.com/item?id=93984
Author : mikymoothrowa
Score : 154 points
Date : 2022-05-20 18:08 UTC (4 hours ago)
| daenz wrote:
| Start your own company
| itake wrote:
| Join a startup and move into engineering management asap.
|
| If you can hit director level, they stop asking leetcode
| questions. But if the goal is to eventually get into a Big Tech
| company, they may down level a startup director to be a line
| manager (which may still require leetcode).
| mikymoothrowa wrote:
| All these people I have in mind are fresh out of college, self
| taught probably and aren't old enough to be EM
| itake wrote:
| This would be a 5-8 year plan. Communicating with your
| manager early that this is a career goal will help set them
| up for success in that path.
| tlextrait wrote:
| Please let me know what startup that is so I avoid it at all
| costs.
| anyfoo wrote:
| Depends entirely on the startup I guess? And, I mean, I could
| found a company right now and call myself "CEO" and my friend
| from school who's a brilliant actor with no computer skills
| "director of IT", that does not say much.
| itake wrote:
| Experience depends on how many humans are under you. If
| you're a CEO with 0 full time directs, you would have a
| difficult time moving into an EM role.
| anyfoo wrote:
| That's my point, except stronger, because number of people
| under you is not sufficient. If you've never written a line
| of assembly, you will have problems managing a compiler
| backend team for example.
| glouwbug wrote:
| I wrote my own dynamic garbage collected programming language
| from scratch just to solve leetcode to prep myself for
| interviews.
|
| I still don't feel ready.
|
| If you're curious: https://www.github.com/glouw/rr
| pcthrowaway wrote:
| Why did you think writing a programming language was necessary
| to Leetcode?
|
| I applaud the effort, I'm just curious why you say you wrote it
| "just to solve leetcode", when I'd imagine the skills for
| creating a programming language have limited overlap with
| Leetcoding.
| glouwbug wrote:
| Likely because one would "applaud the effort". If I can't
| prove to the interviewer that I'm capable of going beyond
| leetcode, by building my own language to solve the same
| problem, then I might as well memorize a thousand solutions
| to cheat my way into FAANG. The latter will guarantee
| entrance, but I can't stand the memorization process. I'm a
| professional, and like an undergrad or grad, I shouldn't have
| to memorize homework problems to pass exams
| the_only_law wrote:
| > when I'd imagine the skills for creating a programming
| language have limited overlap with Leetcoding.
|
| FWIW golfing languages are a thing, where a language is
| designed specifically for code golfing type problems and
| usually optimizing for a tiny core language and small source
| files.
| ushakov wrote:
| i have about 1000 stars collectively on my public GitHub repos
| and recruiters still ask me to do "coding interviews"
|
| i take this as an insult and reject instantly
|
| no matter how much money and stock you offer, i'm not gonna
| bend my back over to prove anything to you (that's what resume
| and GitHub are for, fool)
|
| luckily, i have saved enough money to not care about this shit
| linuxorbust wrote:
| Not a programmer, but a sysadmin/devops. Once had an
| interview at about my 15-year mark as a Linux/Unix admin
| working for some household names. Punk kid interviewer asks
| me if I know how to add a user to a Linux server via command
| line and, if so, please take the marker and write the command
| on the whiteboard. Same kid asked me why I would choose Bash
| over the far superior zsh and other nonsense. Kid didn't,
| likely still doesn't, understand that methods don't often
| matter, results do. Needless to say, I didn't want the job
| working with people like him. I found a better job working
| for a government contractor doing more interesting stuff
| working for people who just wanted results, methods not even
| a consideration.
| glouwbug wrote:
| 6000 stars here. It doesn't matter to be honest
| Longlius wrote:
| Software has not improved since LC took off, and in fact has
| gotten worse in many ways. LC is just the newest hiring cargo
| cult (a spot previously occupied by transcripts, internships, and
| 'open-source contributions'). The biggest difference is that,
| unlike previous hiring voodoo, LC has already been gamed before
| it entered the consciousness of HR.
| brhsagain wrote:
| The problem I see over and over is that the new "job relevant"
| interview formats are always way easier than the old interviews.
| It is not even close, maybe as high as by a factor of 10.
|
| People argue that we should make interviews more relevant to the
| actual work you do on the job. But in practice it looks a lot
| like we're really just trying to pass more people. Half the new
| "practical" questions are literally like make an http call,
| iterate through the array of objects and do some basic data
| transformation using map and filter. Or something. The actual
| thinking part is usually about leetcode easy, maybe low medium.
|
| Seriously, any time I see a "modern" non-leetcode interview I
| basically start rehearsing salary negotiations in my head. I
| suppose you could argue that's all that's needed to do 90% of
| modern software development, and so the new questions are
| measuring the right thing... but then doesn't that just indicate
| that modern software development is a joke and the job is not
| actually hiring developers to do anything difficult?
| notpachet wrote:
| > but then doesn't that just indicate that modern software
| development is a joke and the job is not actually hiring
| developers to do anything difficult?
|
| You just said the quiet part out loud. Most of what we're doing
| is just slinging CRUD code. Some of the worst developers to
| work with are the ones who think they're God's gift to
| programming, because they're the ones who twist the codebase
| into knots in pursuit of cleverness points. Guess which type
| leetcode filters for.
| rr808 wrote:
| I'm someone with a lot of YOE but couldn't reverse a linked list
| when asked in an interview (why would you want to do that? I
| remember thinking). After a few years on competitions and LC, I'm
| decent enough to usually pass LC style interviews. I think I
| actually learned a lot by doing this, and it has improved my
| coding skill.
| throwaway1777 wrote:
| I disagree with this take to an extent. Take it to the other
| extreme and you get folks who can't even solve fizzbuzz. So some
| coding bar is good.
|
| Leetcode is a very learnable skill, and I would argue any decent
| programmer can learn it well enough to pass an interview. I for
| years thought I wasn't good at it, then I actually practiced and
| I got job offers at google and Facebook. I have also optimized
| code quite a few times using algorithm skills I picked up
| practicing for interviews so it's not totally a waste.
|
| There is a limit though, and some companies are pushing it with
| absurd questions that you couldn't reasonably solve unless you
| had seen it before.
|
| In summary, algorithms are useful and learnable, but some
| companies take it too far.
| drewcoo wrote:
| Woodworking is also a learnable skill that's completely
| unrelated to on-the-job activity.
|
| Why not ask candidates to build a desk? As a take-home project!
| If you're truly kind, you'll let them keep the desk even if
| they don't get the job.
| fshbbdssbbgdd wrote:
| The algorithm test is standardized. If you make up your own
| weird test, candidates won't play ball. Personally I've
| turned down companies that had a strange interview process
| that required extra preparation. It's not worth it when I'm
| trying to churn through a dozen interviews (without my
| current employer noticing). The leetcode prep process is
| unpleasant, but since I have to do it anyway, adding one more
| company doesn't take any extra studying.
| nelsondev wrote:
| To second this point, part of being a good programmer means
| picking up new skills quickly, and then applying them.
|
| Leet code is very contrived. However, learning leet code, then
| applying it in an interview shows you have the aptitude to
| learn quickly.
| bialpio wrote:
| This argument can be used to justify forcing candidates to
| learn how to do double-entry bookkeeping (or insert other
| skill that you won't use on the job) just to see if they can
| learn. Yes, it checks if they can learn, yes, it is somewhat
| related to the area, but maybe there's a better way?
|
| I've been 10 years in the industry. If recruiter tells me I
| need to prepare for an interview in ways other than looking
| back at the projects I've done, then the interview is not
| testing for what is important on the job.
| NateEag wrote:
| > I've been 10 years in the industry. If recruiter tells me
| I need to prepare for an interview in ways other than
| looking back at the projects I've done, then the interview
| is not testing for what is important on the job.
|
| Some people lie on their resumes.
|
| If they're good at lying in person, it can be difficult to
| detect that.
|
| If they're able to deliver working code of some kind under
| the pressure of a job interview, then they're almost
| certainly about to actually program at least a little, so
| you can trust me of what you see in their background and
| what they tell you about their achievements.
|
| I'm personally skeptical that leetcode really tests what
| most companies need in a programmer, but it's probably
| better than nothing.
| bialpio wrote:
| > Some people lie on their resumes.
|
| My point isn't that I want to only chat about my resume -
| just that the problem you give me should be something I
| may encounter in the new job, ergo I do not need to
| prepare for that since my entire career prepared me for
| those (unless I want to reskill and the new job is
| different than the old one, then some preparation may be
| warranted).
|
| > If they're able to deliver working code of some kind
| under the pressure of a job interview, then they're
| almost certainly about to actually program at least a
| little, so you can trust me of what you see in their
| background and what they tell you about their
| achievements.
|
| Sure! But if the assignment is depending on stumbling
| upon a brilliant idea, instead of solving a problem that
| you may see in your day-to-day job, then I don't think
| it's useful. Think "trim a string" or "split a CSV" [1],
| not "find the longest increasing subsequence". And maybe
| also explicitly stick to ASCII encoding for string-based
| problems (but TBH, if a candidate asks about encoding,
| they probably know their stuff, or at least know where
| the gotchas are)...
|
| > I'm personally skeptical that leetcode really tests
| what most companies need in a programmer, but it's
| probably better than nothing.
|
| Agree that it's better than nothing. Disagree that we
| can't do better. :)
|
| Edit: [1] ... maybe w/o relying too much on standard
| library if those are built into the language you chose.
| SkyPuncher wrote:
| > Leet code is very contrived. However, learning leet code,
| then applying it in an interview shows you have the aptitude
| to learn quickly.
|
| I feel very strongly that this premise is flawed. It shows
| that you have aptitude for a very specific type of learning.
|
| I lead an engineering org at a small startup. We teach our
| engineers to dive deeply into the customer value prop to find
| ways to deliver the simplest technical solution to their
| problem. You don't need leetcode skills when you can identify
| simpler, more accessible solutions to a customer's need.
|
| The reality is outside of very specialized technical
| businesses (or business components), most engineers jobs are
| not to build technically advanced solutions.
| TheOtherHobbes wrote:
| Yes, exactly this. Leetcode isn't just an irrelevant skill
| in these situations, it's the _wrong_ skill. Algorithmic
| optimisations are pointless if you can 't assess how much
| value they generate.
|
| MAANG seems to use Leetcode as a legal proxy for
| conscientiousness and IQ without testing for other relevant
| qualities such as strategic insight, creativity, and other
| skills that are essential for a successful business.
|
| There's no problem with testing for basic coding ability,
| but if you're not selecting for broader skills - preferably
| with some diversity - you get the same old leet monoculture
| causing the same familiar delivery and stability issues.
| mring33621 wrote:
| I think this style of interviewing also serves as a proxy
| for age discrimination and/or to detect personal
| work/life balance values that don't favor the prospective
| employer.
|
| If you aren't willing to dedicate a considerable part of
| your unpaid, personal time to an activity that they
| mandate, you aren't a good fit for them.
| nogridbag wrote:
| I agree. We lost two of our worst performers to FAANG
| companies. They were both junior and came from top schools.
| Communication was a huge problem and both wrote very sloppy
| code. We would assign trivial tasks to them that would take
| an average developer 30 minutes or less and they would
| struggle even with heavy mentoring. I was the mentor for
| one of them and I really tried my best, but there was
| little improvement over several months and luckily they
| moved on.
|
| Now I'm mentoring two devs who didn't study CS in college
| and only completed a coding bootcamp and they're working
| out amazing.
| mountainriver wrote:
| Yup this is a pattern I've seen as well and why I think
| Leetcode is on the way out. People will figure this out
| mikymoothrowa wrote:
| > However, learning leet code, then applying it in an
| interview shows you have the aptitude to learn quickly.
|
| That's not why they were introduced. Leetcode using tools
| like hackerrank were introduced because college GPAs were
| very bad indicators of programming proficiency and a lot of
| people also did not have a CS degree.
|
| The questions weren't this bad before.
|
| And these competitive programmers aren't necessarily fast at
| learning things either.
| ripvanwinkle wrote:
| It also shows you have the time to prepare. Not everyone has
| that luxury - think working parents with some other
| challenging happenings thrown in and you have an advantaged
| and disadvantaged class of people for these interviews
| mikojan wrote:
| Naturally, but how is that a flaw?
| c7DJTLrn wrote:
| The cynic in me says that's intentional. They want young,
| enthusiastic people willing to work for less that they can
| throw away when they're done.
| noasaservice wrote:
| It's more than cynical:
| https://www.britannica.com/event/Griggs-v-Duke-Power-Co
| outlines that IQ tests are unconstitutional due to racial
| biases.
|
| It was out of that judgement, that companies started to
| require degrees for office jobs of all sorts, as you
| could discriminate based on education but couldn't on an
| arbitrary IQ test. And naturally, tests on the topic of a
| job can also be administered.
|
| And I do think you're right - Leetcode does select for
| recent graduates who likely were taught in a throwaway
| language for academic purposes. And selecting for young
| college graduates are highly likely what they're
| searching for, as they also do not know their worth.
| troon-lover wrote:
| tlextrait wrote:
| I had a 3 and 2 year old when I prepared for interviews and
| I did alright enough to get a job at a FAANG (and it's not
| Amazon). I took about 2 months and blocked some time every
| single day. I still managed to cook meals for 4 and put two
| kids to bed, and wake up at 1am and 3am for night time milk
| feedings... yes that's not delegated to a housewife it's
| done by me.
| lfowles wrote:
| Glad that worked out for you. After a day of watching my
| now 1.5 year old the brain fog sets in. I tried grinding
| Leetcode for a while but the pace of progress was glacial
| and nowhere near the recommended pace for BigCo
| interviews. I'm glad I went back to doing my own thing
| even though nothing has come of it yet. Doing Leetcode
| felt like memorizing party tricks that wouldn't even
| guarantee a job at the end.
| mikymoothrowa wrote:
| > algorithms are useful and learnable, but some companies take
| it too far.
|
| This is my take too. So I don't see where the disagreement
| lies.
|
| Except it's not just some companies doing it. All companies
| paying over a certain threshold seem to be taking this to
| ridiculous levels.
|
| And please do share your ideas for what people should do or
| what finally convinced you that you weren't bad at this
| anyfoo wrote:
| > All companies paying over a certain threshold seem to be
| taking this to ridiculous levels.
|
| They can afford it. And assuming they are a tech company,
| they need that in key roles. You cannot write things that
| scale without solid knowledge and intuition in designing and
| analyzing algorithms, something that can be learned and
| furthered through experience.
|
| Now of course it's true that not every job in a larger tech
| company is like that, so there would be some room to adjust
| the interview based on the exact role. And there actually is.
| But overall, if you have a massive amount of people applying
| every week, why take chances, why not take someone from the
| pool who can demonstrate the skill and allow for some
| horizontal movement within the company, into a tech-heavier
| team?
|
| > And please do share your ideas for what people should do or
| what finally convinced you that you weren't bad at this
|
| For me, back then, it was something that was fun for me. Part
| of why I got into computer science in the first place. I
| would be totally lying if I said I didn't study for the most
| relevant of my interviews, beyond what I would have done
| without them.
|
| But I distinctly remember for example freshing up some graph
| algorithm skills not by doing leetcode examples (I don't
| think "leetcode" was already a thing back then), but by
| arbitrarily taking the Debian package database and do fun
| self-made exercises like: Let's find the largest strongly
| connected component in the debian package library, i.e. the
| largest set of packages where installing one will always
| install all of the others.
| mikymoothrowa wrote:
| I work at a mid-large tech company ~5k engineers.
|
| > You cannot write things that scale without solid
| knowledge and intuition in designing and analyzing
| algorithms, something that can be learned and furthered
| through experience.
|
| The point is not whether people need to learn algorithms,
| they of course need to, but that Leetcode questions seem to
| test people's ability to solve riddles more than their
| ability to design algorithms
| anyfoo wrote:
| > The point is not whether people need to learn
| algorithms
|
| No, I said _design and analyze_ algorithms, which is a
| distinct skill from "learn algorithms" (although that
| certainly helps). And which is certainly very riddle-
| like.
| granshaw wrote:
| Bingo - I've seen some of the interview requirements -
| like 20 mins to solve an LC medium, and you can only hit
| "Run" once so you have one shot...!?!?
|
| Basically if you weren't already familiar with the
| question and knew the trick you're screwed.
|
| Plus they're really blatant about it too - the recruiters
| will _actually tell_ you to practice LC, and to try again
| in 6mos/a year if you didn't make it this time!
| mikymoothrowa wrote:
| > the recruiters will _actually tell_ you to practice LC,
|
| Here they do this before you even take the interview for
| the first time
|
| The recruiters actually email me all the leetcode prep
| material and tips
| ardit33 wrote:
| At some point the metric becomes the goal itself.
|
| Ie. Leetcode style programing is/was used to filter out
| engineers that couldn't program. And the problems themselves
| were relatively easy, reverse a tree, build and LRU (which is
| not trivial at all).
|
| But then there is an army of prep information, and people are
| just optimizing for Leetcode style programing. Then companies
| have to raise the bar again, and keep asking even harder
| questions. ie. build LRU from scratch was considered hard, now
| it is just a 'medium' level.
|
| It has taken to stupid levels, where it is not anymore a metric
| of 'is this person a good engineer', but more of a 'how much
| this person did prep'. i.e. it becomes a measure of effort and
| desperation, and not just sheer ability.
|
| That's why you see so many stories, of engineers preping for
| leetcode only, getting in, and not being able to do their job
| and getting piped....
|
| Also, personally, the best thing that I did to make me a better
| engineer was creating an app, a backend, and full service, with
| paying customers. That taught me much much more than spending
| months on leetcode ever did. Brushing up some CS concepts and
| Data Structures, and some coding, does help you to become a
| better engineer. But doing just that, it doesn't make you a
| truly useful engineer at all.
| mikymoothrowa wrote:
| Exactly! 10 years ago, I was a strong proponent of leetcode
| style questions instead of using college GPAs to hire
| engineers.
|
| It's the 'Cracking' idea that has thrown this whole process
| off. People have started over optimising for the metric
| ghaff wrote:
| And it may be worth observing that, as far as I know, this
| sort of thing is totally unique to programming. No other
| branch of engineering does it. I've certainly never had to
| do any unusual prep for an interview--though, admittedly,
| my handful of jobs since just out of grad school have all
| been through people I know.
| colinmhayes wrote:
| Here's the thing, large tech companies aren't looking to hire
| engineers, especially juniors, who are great at being an
| engineer because that's incredibly hard to test for in an
| interview and almost impossible to scale fairly. They're
| looking for people who will devote their life to the company
| and can quickly learn new skills. That's exactly what leetcode
| tests for, so it really isn't surprising at all that every tech
| company does leetcode interviews. Really the answer is either
| commit to the grind or go for a job at a non-tech company.
| AshamedCaptain wrote:
| > Really the answer is either commit to the grind or go for a
| job at a non-tech company.
|
| There is quite a world outside these mammoths
| Google/Facebook/Amazon/(MS, depending on how their IBMization
| is going these days) and their minions/wannabes. Personally I
| would not work for any of these even if they paid me in gold
| bars.
| mikymoothrowa wrote:
| Off topic: what's this IBMization at Microsoft?
| nowherebeen wrote:
| > devote their life
|
| Sounds like they are trying to breed a cult...
| filoleg wrote:
| More like, sounds like the parent comment you replied to
| has no idea what they are talking about.
|
| I worked across a couple big tech companies mentioned in
| the thread, and I've met maybe a couple coworkers at most
| who "devoted their life to the company". And that's across
| almost a 3-digit number of people i worked with in some
| capacity over the years. People take vacations often, they
| work 40 hours a week or less on average (over the year).
|
| One big thing about most teams at big tech companies
| (probably sans Amazon, from what i hear, haven't worked
| there myself) is the work/life balance being an important
| priority. We had a manager giving stern talks to the few
| teammates who would reply to work emails on their days off
| ("you left for a week of vacation in Hawaii, why are you
| replying to work emails or even brought your work laptop
| with you? Please stop doing that and enjoy your vacation,
| everything will be totally fine when you come back.").
|
| I don't even care to defend any company, that's their
| problem. But seeing the whole "cultism" and "expected to
| dedicate your life to the employer" accusations just make
| me feel like I am reading some alternate timeline fiction
| story.
| colinmhayes wrote:
| I didn't mean it in a "cultism" way at all. I was more
| saying that the point of leetcode isn't to discover if
| someone is a great engineer but to discover if they are
| capable of becoming one. Big tech figures if you're
| capable of becoming a great engineer you either already
| are due to experience or soon will be because they'll
| make you into one.
|
| They've decided things like ability to devote time to a
| meaningless skill that is required to get the job,
| attention to detail, and problem solving skills are what
| is required to become a great engineer and see that
| letcode is a good way to test for those things at massive
| scale.
| tfigment wrote:
| They are exaggerating but not all wrong. As hiring manager
| my job is not to train you for your next job. I'm hiring
| for productivity and that takes time. If you are going to
| jump ship before you "pay" back the company then I'd rather
| skip on you. There is no test but I want 2-3 years if you
| take 9 months or more to get going and I'd be foolish if I
| didn't want more.
|
| Lots of programmers think they are 10x but few are. Even my
| best senior engineers took 2-3 months to settle in and
| contribute more than they take and juniors are bigger
| gamble.
|
| The best proxy now is will you spend 1 hour on a simple set
| of tests, if not you are not serious or are shopping for
| counteroffers.
| mikymoothrowa wrote:
| > an quickly learn new skills. That's exactly what leetcode
| tests for
|
| I don't know where people get this idea. Leetcode used to
| test programming proficiency
|
| I feel the only reason companies continue to take leetcode to
| absurd levels is because (a) they think harder questions
| would get them better engineers and (b) other companies are
| doing it
| mountainriver wrote:
| As I understand it, programming is only part of it, a big
| part is just seeing if you will study hard to learn
| meaningless stuff
| the_only_law wrote:
| If they're so interested I have a massive catalog of
| things that can fulfill such a requirement.
| dijit wrote:
| > Leetcode used to test programming proficiency
|
| The discussion is exactly this, that leetcode is _used_ to
| test programming proficiency, but it 's an inadequate bar.
|
| The parent is postulating that it's a lie; that actually
| leetcode tests for malleability, and we're getting bent out
| of shape because we think it's a poor test of coding
| ability.
|
| However it might be a good test of malleability, and that
| might actually be it's intended purpose, but that's not
| communicated.
| nowherebeen wrote:
| I don't know about malleability, but I know Big Tech uses
| it to filter down the number of applicants. They get 200
| applications in an hour so HR needs a way to pick a few
| that won't get them sued.
| mikymoothrowa wrote:
| Understandable when big tech does this.
|
| 200 person tech companies are doing the same.
| tlextrait wrote:
| Not quite but almost: Leetcode doesn't evaluate programming
| proficiency but ability to solve complex and abstract
| problems using programming. Doing so doesn't require being
| good at programming but being good at solving problems, and
| doing so using a programming language. It doesn't require
| knowing a language well, but only well enough to solve the
| problem.
| lupire wrote:
| You mean simple abstract problems, right?
|
| LeetCode problems are solved with under 50 lines of code,
| using textbook models.
| maerF0x0 wrote:
| I've had zero or near zero gotcha string problems in my
| professional career, which are many of the leetcode
| problems.
|
| Find the (gotcha) in this string and emit len(gotcha) ...
| Now do it computationally efficiently (or be able to
| explain tradeoffs to other resources).
| mikymoothrowa wrote:
| > It doesn't require knowing a language well, but only
| well enough to solve the problem.
|
| I guess that really depends on the language. IMHO, if you
| can solve a reasonably complex problem using a language,
| you know that language.
| pxx wrote:
| This doesn't seem right at all. I can kludge together a
| solution to an arbitrarily complex problem in any
| language, but that doesn't mean I'm writing it in a way
| that can be extended and developed upon by other people.
| The latter is also what takes up the majority of
| development time.
| lupire wrote:
| A one-day interview can't test you on things that take up
| the majority of your career time.
| Floegipoky wrote:
| I am on the interview team for the company I work for and
| I wrote what some consider to be our canonical python
| solution (fastest and simplest) for one of the problems
| we use. I had to look up the syntax for a "for loop"
| because I hadn't written python since my first year at
| university. To me, being able to stitch together simple
| concepts present in almost all mainstream programming
| languages doesn't mean I know python, it means I know how
| dynamic programming works. I don't know the python
| ecosystem (history, present, or future), know the
| standard library, know what idiomatic code looks like,
| deeply understand what makes the language unique, have
| the mindset of a python programmer, etc. Maybe I just
| have a high threshold for feeling like I "know" a
| language.
| mountainriver wrote:
| Yup exactly, that's the whole thing. They want people who
| will devote their lives to meaningless tasks
| Hermitian909 wrote:
| > They're looking for people who will devote their life to
| the company and can quickly learn new skills
|
| This doesn't reflect my lived experience in SV. People I know
| who learned leetcode skills and got into big companies
| usually work less than people who passed more practical tests
| and get into smaller companies.
|
| I'd say big companies are trying to hire employees who are a
| "good" mix of:
|
| 1. Smart
|
| 2. Conscientious / willing to work hard on the right things
|
| 3. Existing CS knowledge you know well enough to explain and
| apply.
|
| For some vague handwavy definition of "good"
|
| (2) is probably worth expanding a bit. Many people are
| willing to work very hard on _the wrong thing_ , this extends
| to engineering. As an example, a common failure pattern you
| might see is someone constantly struggling with how React
| works and what they really need to do is sit down and read
| the ~15 pages of documentation. But they never do, and just
| keep putting in 10 hour days with subpar output.
|
| I've met some legit geniuses (think Putnam winner) for whom
| basically no studying was required to pass these interviews.
| Companies paying top dollar are happy to have them. For
| people like who are less smart and need to dedicate ~100-200
| hours of focused studying and practice, companies paying top
| dollar are happy to take our mix of smarts and willingness to
| do that work. But once in the company I haven't noticed any
| expectation to "devote my life" to it.
| colinmhayes wrote:
| Right, I think you've explained it better than me. I was
| just going for the idea that the point of leetcode isn't to
| figure out if someone is currently a great engineer, but if
| they have what it takes to become one. Everyone complaining
| that leetcode isn't related to their day to day job is
| missing the point.
| depr wrote:
| I appreciate the cynicism but isn't it more likely that they
| use it just because everybody uses it?
| samhw wrote:
| Yeah, it's clear these people have never hired for a
| company. I've sat in on a thousand hiring committees,
| helped design these processes, all that boring shit, and
| the idea that someone would say "let's do Leetcode
| challenges so that we select for people who are willing to
| subordinate their lives to our company" - presumably
| followed by a "mwahahaha!" - is fantasy, it's something out
| of a movie.
|
| I mean, look, it sucks when you can't get a job. I've been
| there (when I briefly tried to escape programming for a
| different metier) and it's awful. But pretending that the
| entire outside world is a dark mass of malevolent forces
| arrayed against you.. well, it may be psychically necessary
| in some Freudian, Jungian sentence, to prevent ego death or
| whatever, but in the long run it's neither (a) true
| (obviously), and (b) nor is it going to do your mind and
| mindset any good.
| [deleted]
| spike021 wrote:
| > Take it to the other extreme and you get folks who can't even
| solve fizzbuzz. So some coding bar is good.
|
| Sounds like the epitome of a slippery slope, to be honest.
|
| Some people are going to say FizzBuzz (or similar) are a good
| enough bar.
|
| More people are going to say 2Sum is a good enough bar.
|
| Even more people are going to say Longest Common Substring is a
| good enough bar.
|
| {...}
|
| And the cycle will continue, because people who will have been
| asked such things will (most of the time) feel like 1) they've
| been asked it before, so now they must ask it, 2) they can
| solve it and feel anyone can solve it (in theory this is fine
| but in practice, not everyone can solve a problem in 45 minutes
| that they've never seen or never fully solved before).
|
| Which reminds me of when I was going to college and I
| frequently had professors or TA's say X problem from the
| problem set is an "easy" one. Well, yeah, you're the professor
| or TA (for a reason) and you're the one giving it, of course
| you'd know how to solve it and such.
| paradite wrote:
| If you can leetcode, there's decent chance you can program other
| things well. If you can't leetcode, there's decent chance you
| can't program other things as well.
|
| It's just a simple filter with the usual caveats of false
| positives and false negatives.
| foogazi wrote:
| > What would be your advice be to fresh college graduates, or
| anybody for that matter, who are good at programming but not at
| leetcode?
|
| Were all of your college classes relevant to your career ?
|
| Get better at leetcode - it's a learned skill, if you can pass
| college CS you can pass leetcode
| Mageek wrote:
| The interview process is supposed to measure (or attempt) a whole
| bunch of aspects. Coding / technical skills, but also
| communication skills, reasoning, logical assessment, context /
| intuition, social interaction, decision making under uncertainty,
| systems thinking, testing, etc. No serious interview process is
| going to rely exclusively on leetcode questions to fully vet
| anyone. It requires a balance of many things. Furthermore, good
| interviewers are aware of these multiple dimensions, and are
| evaluating candidates on any many levels as possible.
|
| Yes, leetcode questions are a part of the process, and are often
| an early gate. However, one can perform "badly" but still score
| sufficiently well on the non-obvious metrics and make it through.
| Most interviewers don't actually care if you have the standard
| libs memorized, and get that. You typically have a lot of leeway
| to demonstrate your knowledge, and staying open about what you're
| thinking and doing goes a long way.
|
| If you have sway in how your company interviews, consider being
| clear with candidates on all the dimensions they are being eval'd
| on, maybe let candidates choose take home assignments, ask
| candidates about projects they have worked on, etc. as part of
| the process.
| rosmax_1337 wrote:
| Just practice it. It is a skill in itself just like anything
| else. It is true that it doesn't actually measure your real
| skills, but just like an IQ test can be corollary with lots of
| other mental faculties, leetcode skill can be corollary to
| programming skills.
|
| I highly doubt that we are talking 3-4 months of memorising
| riddles. There are a few recurring concepts that you should
| memorize, sure. But after that, if you have the programming and
| logical thinking skills you claim to have, you should be able to
| think on the spot for the rest of the leetcode question.
| bmitc wrote:
| I'd say just keep on keeping on. I personally have and will never
| work at a place that does leetcode challenges during the hiring
| process. I wouldn't worry about it. It's a self-filtering process
| for places you don't want to work anyway.
| lacker wrote:
| My advice is to get good at leetcode "the right way". Don't
| memorize problems. Instead, learn the underlying algorithms.
|
| Learn heapsort, quicksort, how to find medians, how to
| derandomize and calculate the running time of the
| quicksort/median algorithms.
|
| Learn how hash tables, red-black trees, and b trees work. Learn
| why vectors allow O(1) append but only if you amortize the
| analysis.
|
| Learn depth-first and breadth-first search, learn A*, learn all-
| pairs-shortest-paths. Learn enough dynamic programming that you
| could implement a memoize decorator.
|
| All of this is valuable knowledge. It'll pay off to learn this in
| the long run. Yeah, interviews overrate its importance. It's good
| to learn it anyway. If you learn that stuff and you are good at
| the basics of practical programming like string and array
| manipulation, you'll be able to do well at interviews.
| spike021 wrote:
| I won't argue that being able to apply different patterns to
| problems is incredibly useful, but a lot of these are also
| fairly domain-specific. It really depends on what your typical
| work is like.
|
| I've worked on teams that dealt with messaging queues and
| associated backend systems. In those cases it was rare, if ever
| needed at all, to see or use any kind of graph searching
| algorithms.
|
| Sometimes some forms of memoization were helpful when it came
| to system issues that required a meaningful but efficient
| backfilling strategy. But they were almost never in the same
| form that typical DP interview problems are.
|
| I would argue many of these patterns can be helpful to test
| candidates with but only depending on what roles they're
| interviewing for.
|
| I've seen more "trivial" problems that test for the same kinds
| of answers that interviewers usually want anyway.
|
| Usually the messaging is something like "we want to test that
| you can write code. We want to test that you can iterate over
| and consume/aggregate some data. We want to test that you can
| evaluate this codes performance." You can do all those things
| with simpler classes of problems than some of the brain teasers
| I've seen. And I don't mean the usual stuff like how many
| tennis balls fit in a school bus, but leetcode style, overly
| complex problems.
| 62951413 wrote:
| As much as I agree with your advice in general my interviewing
| experience is completely the opposite. To begin with reading
| algo books/being aware of the topics you mentioned doesn't
| necessarily translate to solving leetcode _puzzles_. The last
| time they simply asked me to implement quicksort was almost ten
| years ago. What is even worse, usually you have about 30
| minutes to solve a puzzle. You won't have time to think even if
| you are capable of thinking under such circumstances.
|
| Where I completely disagree with the original statement is that
| leetcoding hurts mostly experienced developers. What else are
| fresh graduates supposed to know well if not algorithms and
| data structures? Experienced developers are from generations
| when few people majored in CS and spent formative years
| interviewing long before anyone heard about leetcode. And they
| have too much experience with building real software to
| tolerate artificial puzzles.
| whateveracct wrote:
| Become a Haskeller :)
| eatonphil wrote:
| You don't need to completely avoid SV-style companies as some
| people recommend. Check out: https://github.com/poteto/hiring-
| without-whiteboards.
| occupant wrote:
| I like the idea of this list but in practice there seems to be
| a lot of 'hiring without witheboards *if you happen to
| interview with the same team that I did and if the hiring
| manager for that team hasn't moved on since I interviewed there
| 4 years ago.'
| eatoncargocult wrote:
| charcircuit wrote:
| If you are a good programmer you should be at least able to make
| a brute force solution to a leetcode problem. Then it's just a
| matter of seeing enough problems to learn the tricks that are
| used to optimize the time complexity.
|
| >homebrew creator / inverting a binary tree
|
| This is just a traversal of a binary tree + swapping two
| variables. I would expert any good programmer tqso be able to do
| both of these things.
| Shindi wrote:
| People who say they are bad at leetcode sound like the people who
| say they are bad at math. Sure, right now you might be worse at
| learning math than someone else, but there are strategies to
| learning math better
|
| If you are memorizing leetcode you are doing it wrong.
|
| If you are doing more than 60-80 problems, and not applying to
| the most competitive companies, you are doing it wrong.
|
| There is a _strategy_ to learning how to study leetcode, and yes,
| studying leetcode is hard. But you need to make sure you are not
| blindly memorizing solutions or else you 're doing it wrong and
| wasting time.
|
| Let's say you are doing an array problem and there is some trick
| that is necessary for the problem that you didn't know. When you
| get the problem wrong, learn what the trick is, but don't
| "memorize" it. Learn it and learn how it works. Then think deeply
| on what other problems might use this trick. Does it involve a
| loop that goes until `i <= someVar.length` ? What happens if you
| change the code to < instead of <= ? What happens if some other
| edge case happens?
|
| I've seen this happen with binary search. Someone learns the
| algorithm by finding the algorithm online in their language of
| choice, but doesn't spent time fiddling with the code or thinking
| about edge cases.
| ikrenji wrote:
| you learn math by doing lots of problems, the same is true for
| leetcode. sure there are patterns and tricks to it, but you
| have to do enough problems to apply them "intuitively". it's
| one thing to know you need two pointers to solve a problem, but
| a different thing to actually code up the solution...
| andybak wrote:
| My feeling is that people who understand maintainability or
| other architectural concerns are worth more than people who
| master algorithmic underpinnings.
|
| I thought the point of this discussion was how to change the
| industry emphasis rather than how to get good at it.
| billllll wrote:
| How do you understand maintainability and architectural
| concerns without understanding algorithmic underpinnings?
|
| At the base level, leetcode problems and maintaining a
| complex system in practice requires key understandings: what
| your problem is, which tool to use, and how your tool
| works/tradeoffs. It follows what (I hope is) a universal
| truth: if you want to be a good coder, you need to know code.
|
| If you want to change the emphasis, just don't work at
| companies that provide leetcode questions. If your hypothesis
| is true, then all the companies that don't do leetcode
| questions should have an advantage since their engineers are
| better at the practical aspects.
| myth_drannon wrote:
| How can you test someone who can write a well maintained
| code?
|
| Architectural Concerns are tested during System Design round.
| mattlondon wrote:
| Candidates who care about readable solutions, provide
| comments, add unit tests, think about integration testing,
| data validation, bootstrapping/deployment etc are the ones
| who are at least thinking about maintenance.
|
| Incomprehensible one-liner whizz-bang solutions in perl are
| great and all, but no one wants to work with someone
| writing code like that.
| babyshake wrote:
| I do find that dynamic programming can sometimes be tricky,
| especially when I am being watched by a stranger and I don't feel
| relaxed. One thing I've learned is to insist in an interview that
| I may need a couple of minutes after shown a question to quietly
| think and jot down private notes without explaining out loud what
| I am thinking about. Once I have figured out how to design the
| solution I can explain my line of thinking and then narrate what
| I am doing as I am writing out the code.
|
| If they think this isn't OK even with me understanding this need
| and communicating about it upfront, then it's probably not a good
| fit anyways.
| nvdnadj92 wrote:
| Leetcode-style interviews disenfranchise different groups
| (parents, non collegiate education) from succeeding in the
| interview process. Like you mentioned, these assemssments are not
| an accurate proxy for development. I've detailed the various
| flaws of the Leetcode approach, compared Leetcode with common
| alternatives, and propose an alternate style of interview that is
| more accurate and fair here:
|
| https://www.naveed.dev/posts/senior-engineer-interviews-brok...
|
| https://www.naveed.dev/posts/leetcode-alternatives-compared
|
| https://www.naveed.dev/posts/alternative-senior-engineer-int...
| bradlys wrote:
| My advice? Same as ever. Suck it up. Do it - it's hardly the
| worst part of the job and not doing it _will_ mean you make less
| money. You 're very unlikely reaching $500k+/yr by avoiding LC
| compared to how trivial it is to reach once you accept it.
|
| If you think leetcode is the worst part of being in this
| workforce - you live one incredibly privileged life. Wait until
| you have to deal with toxic management that exists in virtually
| _every company_ and in virtually _every_ leadership position.
| Wait until you have to deal with people _who have a personal
| vendetta_ against you because of prejudice and will block any
| achievements you can make at a company. Are you excited for stack
| ranking? It exists at nearly every company and if it doesn 't
| explicitly - it happens mentally. Are you excited to see
| incredibly huge churn in your industry? Are you excited to see
| the best and brightest constantly shutdown due to favoritism (and
| you will likely not be in that in-group)? Are you excited to
| watch people over the years lose all their hope and become
| soulless corporate ghouls who become the shill LinkedIn promoters
| that they themselves condemned a few years previously? Are you
| excited to work 60+ hour weeks to get PIP'd because that's just
| the way it is? (It _will_ happen) Are you excited to put nights
| and weekends in at startups to see a round where the execs lose
| no value but your stock sees 3x+ dilution and no increase in
| value?
|
| These are _common_ problems at companies within SV. Leetcode is
| hardly a problem when you see how fucking terrible the rest is.
| PragmaticPulp wrote:
| > You're very unlikely reaching $500k+/yr by avoiding LC
| compared to how trivial it is to reach once you accept it.
|
| I wouldn't say it's "trivial". It may feel that way once you've
| made it and been promoted up the ranks, but outside of that
| bubble I see a lot of people who have failed out of multiple
| attempts at FAANG interviews (despite practicing LC), burned
| out of FAANG jobs after a couple years, moved away from cities
| with those salaries (not every place offers remote work), or
| simply been unable to get through the promotion process to
| reach the upper ranks.
|
| Don't get me wrong: Practicing LC and grinding at FAANG is a
| remarkably easy way to reach $500K/yr salary compared to other
| options, but we need to stop pretending like it's automatic or
| easy. It's still hard and requires some degree of
| sacrifice/luck/location to get there.
| bradlys wrote:
| In no way am I saying it's easy. I'm saying it's trivial
| _compared to_ other options. Other options are basically
| fucking impossible. At least with FAANG and staff roles -
| there 's a chance. Even if it might be this meme:
| https://www.youtube.com/watch?v=wGdhc9k07Ms
| 2OEH8eoCRo0 wrote:
| > requires some degree of sacrifice/luck/location to get
| there.
|
| Bingo. You can answer everything perfectly and still not get
| it depending on interviewer or other applicants.
| dhanna wrote:
| My problem is that I hate leetcode and I'm also burnt out from
| all the nonsense you mentioned
| [deleted]
| depr wrote:
| So why are you in this industry?
| korijn wrote:
| I don't think they said they currently are. I hope for their
| sake they moved on because it doesn't sound like they had a
| particularly great time.
|
| On topic: there are plenty of great employers in our industry
| but you will have to make an effort to find them. And of
| course it's never going to be perfect.
|
| Maybe this is an odd proposition, but if you can't find no-
| whiteboard employers in SV, why don't you go looking
| elsewhere?
| bradlys wrote:
| Money. Compared to other industries - it's much easier to
| make $500k/yr or more.
|
| I've had jobs where I was at $1m+. This would never happen in
| other industries unless I had X prestigious university on my
| resume or was married to the boss' daughter.
|
| I could've been a surgeon, a lawyer, etc. but most of those
| have even worse hours, more time in college (debt+non-
| earning-years), and tend to not favor my background. (Poor
| rural upbringing) I'm already an outcast in tech in SV - I've
| come from the smallest town, least educated, and poorest
| family of anyone I've met here under 35.
| lupire wrote:
| I would love to be an outcast at work for $1m/yr.
| bradlys wrote:
| It sounds better on paper than in reality. I quit that
| job and took one for a massive paycut. I ended up getting
| divorced partially due to this job.
|
| Is it worth losing your marriage over? YMMV.
| curiousDog wrote:
| We have some that make way more than that in my FAANG
| company
| junon wrote:
| Jobs as a software engineer at 1m/year? Sorry, I simply
| don't believe you.
| bufferoverflow wrote:
| There are software engineers that make much more
|
| https://techcrunch.com/2010/11/11/google-offers-staff-
| engine...
| bradlys wrote:
| Stock appreciation is a hell of a drug. I have worked
| with multiple engineers making _multiple_ millions a
| year. They were all ICs.
|
| To break into the 1% in SV - you need to make $3.6mil/yr.
| Just let that sink in. It's a _very_ rich place.
| runako wrote:
| You need to speak to more senior people who work at
| companies that make their money selling software or
| Internet services. ("Senior" is not 5 years of
| experience. Think engineers in their 30s & 40s.)
| depr wrote:
| I hope that means you can retire at 40? Because otherwise
| I'm not sure if you're aware you're going to die one day
| and you can't bring your money.
| bradlys wrote:
| I know no one who is on my path who wants to be working
| past 50. Almost everyone like myself is trying to find a
| way to save money + pick the right place to work for fast
| returns.
|
| My problem is that I've got a real knack for choosing
| partners that drain accounts dry instead of adding to it.
| (One part where I differ from my peers)
|
| I'd love to tap out by 40 but that ship sailed and sunk.
| simplehuman wrote:
| I don't get why you are working at all :) what do you plan
| to do with all this money ... Only to do leetcode?
| mountainriver wrote:
| Lol exactly, get a mission for Christs sake
| Kranar wrote:
| I'm also someone who entered the field for money. As
| someone who grew up in a family of poor immigrants who
| pushed me to work hard and opened the door to
| opportunities that I'd have never been exposed to in
| their home country, it's really great to know that my
| family will never have to endure that hardship and will
| enjoy one of the highest qualities of life and that I can
| give back to my parents who struggled to give me this
| quality of life.
|
| If anything, one of the challenges I face raising my own
| family is to make sure my kids don't become complacent
| and squander the opportunities available to them.
| naniwaduni wrote:
| It's still paying the bills and 80% of these problems aren't
| industry-exclusive?
| bradlys wrote:
| I agree. A lot of these are not industry exclusive to
| tech/SV. However, we take it a bit further at times _and
| more importantly_ we advertise that we 're different. We
| like to think we're different. Other industries don't try
| to act like they're different. You go into law, biz, med,
| etc... You know what you're signing up for. You need to be
| a little brown nosing subservient ass hat - and everyone
| knows it. And everyone knows when you get to the top - you
| get to subject everyone everyone else to your whims, your
| hazing rituals, and so forth. They know that's the reward
| for getting to the top. Boss says you do X even if it's
| unethical to ask - in other industries you do it anyway. In
| SV, we act like it's okay for you to question it even if
| your boss will still fire you for insubordination.
|
| The difference is subtle but it's that SV at least tries to
| _act_ like it 's different even if they're not. That's what
| rubs me wrong about this industry the most. The virtue
| signaling without any real actions behind it. It is truly
| ghoulish.
| 0x20cowboy wrote:
| > These are common problems at companies within SV. Leetcode is
| hardly a problem when you see how fucking terrible the rest is.
|
| Am I understanding this logic? Are you saying let's keep
| terrible, arguably pointless interview processes and needless
| gate keeping because there are other bad things in this world?
| knorker wrote:
| Sometimes you have to do the stupid thing because the boss or
| the client tells you to.
|
| Some of those times you get to say "I told you so", later.
|
| But the reason you get paid is because someone wants to pay
| you to do it. You can try to convince them to do it right,
| but in the end it's their money. Do you want it?
|
| When you have the control you can try to make the better
| hiring system, but since you're asking i assume you're not in
| a position to dump your balls on the table and say you won't
| play their game, but they should still hire you.
|
| It's a gamble to as your first impression show that you're
| not a team player.
| mountainriver wrote:
| Exactly, yeah let's all keep going along with this nonsense
| cause ya know?
| bradlys wrote:
| No, I'm saying there are bigger fish to fry. LC is easy
| compared to this other shit.
|
| LC makes your job search terrible. The work culture makes
| your _life_ terrible.
| mountainriver wrote:
| Cultures that accept LC are more likely to make your life
| terrible.
|
| I work for a company that pays well and doesn't do LC
| because of all the obvious reasons, and that is a
| representation of the culture.
| bradlys wrote:
| $400k+/yr well for senior eng or "I think it's enough"?
| ethanwillis wrote:
| Sorry, but no. I refuse. The industry can continue to pump out
| subpar solutions with their toxic culture until the VC money
| dries up. Out of principle I will not memorize your LC
| problems.
|
| I won't deny it's a great filter for getting the exact type of
| people that will tolerate, enable, and expand this culture.
| mountainriver wrote:
| Agree, I'll do literally anything than buy into this
| nonsense. You can take your crappy devs that memorized
| Leetcode problems and I'll stick with people who solve actual
| problems and can demonstrate it.
|
| Leetcode isn't a good measure and will be phased out in
| coming years as this is realized.
| hiq wrote:
| > Leetcode isn't a good measure and will be phased out in
| coming years as this is realized.
|
| Given how long it's been around and the lack of credible
| alternatives for hiring at scale, I'm having doubts.
| PragmaticPulp wrote:
| Which is fine! Nobody has to do LC and nobody has to apply to
| companies that use LC interviews.
|
| The reality is that when most people sit down and think about
| the math behind the finances, avoiding LC on principle comes
| with a massive opportunity cost that can exceed millions of
| dollars over the span of a career. Which again, totally fine
| if that's not your thing, but we should still let people know
| what's at stake.
| netizen-936824 wrote:
| The reality is that's only from one super limited
| perspective and fails to consider the ideals of the
| applicant and how they think companies should operate
| ethically. Becoming wealthy isn't the only thing in life,
| this includes considering _which_ companies you 're willing
| to work for based on how they operate and what they do.
|
| If we constantly have people buying into a damaging system
| just for the money, it compounds issues and they get worse
| down the road
| ethanwillis wrote:
| I agree, it is fine if people choose to do this! It doesn't
| change my perspective on it however. There is _definitely_
| an opportunity cost. However, not in _all_ cases. A single
| developer who is talented can take a variety of paths
| outside of this system to make significant or more money.
|
| I'm going to get ahead of the idea of the risk of stability
| and the implication I'm saying a software developer would
| be banking on risk/reward of a technology startup. I'd like
| to say that they can also use all the skills and knowledge
| of a software developer in a non-tech company with great
| success and similar or higher compensation with similar
| risk profiles.
| bradlys wrote:
| > A single developer who is talented can take a variety
| of paths outside of this system to make significant or
| more money.
|
| Please write a post about this then. I'd love to know
| roles that are regularly paying $500k+/yr.
| kjeetgill wrote:
| > their toxic culture until the VC > Out of principle I will
| not memorize your LC problems. I won't deny it's a great
| filter for getting the exact type of people that will
| tolerate, enable, and expand this culture.
|
| Hm. I hope this comes of gently - I don't know you, your
| skills, your background, your experience or your goals for
| that matter - but this feels overdramatic and even a little
| condescending.
|
| If you have your CS fundamentals together it really shouldn't
| be _that much_ effort? I know some whiteboard interviewers
| will ask unreasonably obscure algorithms, but LC hasn 't ever
| been that unreasonable. I really don't get the absolute vitro
| people have. Sure it's not an ideal measure - but hey: eat
| your vegetables. It's not some _unfathomable distant_
| unrelated set of hoops to jump through.
|
| LC questions can be a little bit of a chore but I've never
| spent more than an hour or two brushing up before interview
| cycles if I reviewed them at all and have done pretty well in
| my interviews. I've tanked my share of interviews but it's
| never been so dramatically unreasonable. It's not like
| they're asking you to write paragraph upon paragraphs on why
| you'll be the perfect fit and this opportunity is unlike any
| other for you. Cover letters are _at least_ 70% more
| bullshit.
|
| For context: I joined the industry in 2012 where whiteboard
| interviews were the normal but before leetcode, hacker rank,
| etc. were common, but I've interviewed plenty since then.
| ethanwillis wrote:
| > Cover letters are at least 70% more bullshit
|
| Agreed. And yes, on LC problems they are a chore. I've been
| thinking about this a lot and here is my take on all of
| this from a different direction that re-inforces my opinion
| that it is a toxic culture.
|
| The fact that developers are required to do a dance and
| memorize LC problems to regurgitate them in a timed setting
| is because there is a fundamental lack of trust on the
| hiring side. This is actually offensive.
|
| Now, we might say, okay well LC problem regurgitations
| provide actionable signal. Definitely more than a cover
| letter! But is it a significant signal for software
| production ability? I don't think it is except in cases
| where the domain is well-trod.
|
| I get why we need some kind of signal with the current way
| employment and hiring is structured. We need something
| actionable, something to build trust. But I think that's
| the problem. Trust should come first, otherwise we enter
| this current world where hiring is slow, fraught with
| problems, no one can fill their positions (and I don't
| think it's for lack of a talent pool).
|
| I haven't through all of the implications of this part yet,
| but here is where I'm at. VC backed companies and VC backed
| company copycats will say they are doing all of this to
| avoid false positives. All so they don't waste their time
| on the _Wrong_ hires. How long does it really take to know,
| when actually working with someone, that they are the wrong
| hire? Not long in my experience. Let 's say 1 month. Just
| hire people on a temporary basis, pay them, it's a more
| ethical take home project in a way. And what is the current
| state? Well the current state is filtering so harsh on a
| low significance signal that it takes a company many months
| to fill a position. Are our assumptions about the false
| negative rate so wrong that it's actually very high? I
| think so.
|
| I've had some pushback on the hire fast, fire fast
| methodology before as being bad for candidates. However, I
| don't think it's any worse than the current experience they
| receive.
| boredtofears wrote:
| When the VC money dries up I expect things to get worse, not
| better for candidates.
| angarg12 wrote:
| In the big scheme of things, there are worse things that
| grinding leetcode in order to land a 6 figure job.
| curiousDog wrote:
| Very well said.
|
| To the OP: if you really are a good programmer, then mastering
| LC is just a matter of time and effort and really, the problems
| aren't that hard. You're also hired at most companies to solve
| problems; not just be a code monkey. It's a matter of interest
| and motivation not whether you're good at LC or not.
|
| LC is the best proxy we have for aptitude and general problem
| solving ability at this time. So best to suck it up and grind.
| boredtofears wrote:
| Grinding LC is the definition of being a code monkey.
| sangnoir wrote:
| > The people who do manage to crack these rounds are not
| necessarily good at programming either because the time they
| spent doing competitive programming stuff should have been spent
| learning to build actual things.
|
| I disagree with this, with a disclaimer that I enjoyed
| competitive programming since before I knew of leetcode's
| existence.
|
| That said, salaries for SWEs are increasingly becoming bimodal.
| You can have a fulfilling career without having to do Leetcode-
| style interviews. _Or_ you can have a go at grinding Leetcode for
| a few weeks and have a higher salary for the rest od your career
| - a much greater RoI than a 4-year degree, IMO. Framed
| differently: would you grind leetcode for $100,000?[1] How about
| for $100,000 _every_ year going forward?
|
| There are no wrong answers, for some, the answer is "no", and
| they have my respect.
|
| 1. Assuming you're in the US and aiming for FAANG/FAANG-adjucent
| employers; adjust this figure for your circumstances.
| drewcoo wrote:
| Just keep in mind that the interview is two-way.
|
| They're judging you on your 1337-coding skillz.
|
| It's ok to judge them on their poor judgement. And seek
| employment elsewhere.
|
| You can even be more helpful than most employers are to job
| candidates. Tell them that's why you're not interested. Maybe
| they'll learn from it. Maybe.
| the_only_law wrote:
| > It's ok to judge them on their poor judgement. And seek
| employment elsewhere.
|
| Yeah, somehow I feel the consequences are only going to end up
| on one side
| duped wrote:
| Get good at leetcode because it's not that hard and the best way
| to make tons of money as a young person.
| mkl95 wrote:
| I couldn't care less about leetcode, I literally have done less
| than 10 leetcode exercises in my life. I have been getting hefty
| pay bumps every 1-2 years since I graduated, and there are no
| signs that curve is flattening. FOSS / side projects and soft
| skills seem to be pretty underrated by most developers.
| andrewmcwatters wrote:
| Never dismiss the possibility that your interviewer is bad.
|
| We don't challenge this enough in the industry.
|
| If your interviewer was interviewing a candidate who was a
| prolific software author who published works that had mass
| adoption, 9 out of 10 of them would be nonplussed by it, and it's
| so stupid.
| carabiner wrote:
| Google dropped the college degree requirement but retained the
| leetcode interviews, so it must be working somewhat well for
| them. They have access to more data on this than any of us.
| lolinder wrote:
| It's important to emphasize the last part of your sentence: it
| must be working somewhat well _for them_. That doesn 't mean
| everyone else should be asking these questions, because your
| ideal hires might be quite different from Google's.
| dekhn wrote:
| no, google's interview style didn't work for them. now they
| have the problem of having tons of junior leetcoders and need
| to hire a ton of technically savvy managers to ensure their
| efforts aren't wasted.
| rglover wrote:
| Realize that in a lot of companies most people are mediocre at
| best; nowhere near "leet." It's worth studying psychology to
| understand that many of the swords held over your head in
| interviews/scouting are plastic and held by insecure people.
|
| Doing so takes the pressure off and helps you to realize that
| there's a ton of opportunity out there if you want to get to that
| level.
|
| The truth, though, is to build stuff, practice, and don't stop.
| I've circumvented most of the gatekeeper stuff because I
| intentionally hustled freelance/contract work early on and got to
| a level where I had a portfolio of high-quality work (i.e., leave
| money on the table short-term to make big money easily long-
| term). Now if companies turn me down, they look like fools.
|
| Always worth asking: "how do I circumvent the hoops?"
|
| Also (via Derek Sivers):
|
| > "The standard pace is for chumps." - Kimo Williams
|
| Feel free to email if you want an opportunity to practice/gain
| experience: ryan.glover@cheatcode.co.
| dsr_ wrote:
| Assuming that you have found a real phenomenon where people who
| are ranked poorly on this proxy (but presumably high in some
| other metric) are undervalued, then you should start a company
| that identifies these people and
|
| first-order: employs them to build something at a lower cost than
| the market would expect
|
| second-order: convince non-FAANGy companies that you can identify
| employees who are lower-cost and higher-value, thus starting an
| evaluation and matching business
|
| third-order: write a business book about evaluating people better
| than leetcode-like methods
| [deleted]
| salmonfamine wrote:
| You just have to practice. I used to be quite bad at it, but I've
| improved greatly.
|
| Here's what I recommend: start with a specific topic -- maybe
| HashMaps, Graph Problems, Dynamic Programming, Greedy Algorithms,
| whatever. Start with the easiest problem on Leetcode for that
| category and work your way up to a "Hard" problem in the same
| category. It helps build a mental "muscle" for that type of
| problem, and it will be easier to activate that "muscle memory"
| whenever you have to brush up on Leetcode again for your next
| round of interviews in the future.
| master_yoda_1 wrote:
| I don't understand OP, so you have problem with leetcode, and you
| also have a problem with hire and fire culture (most of these
| companies don't ask leetcode) so what do you want free money? And
| how you decided just after meeting "people who are really good
| programmers"?
| gtvwill wrote:
| Go work in an industry. Any industry that isn't IT, I suggest
| manufacturing and raw resource industries like farming and
| mining. After a year and you get your head around what's going on
| automate some of their business process or collaborate some some
| of their data into a form that's easier to interpret.
|
| Sell back to your employer or their competitor. Congrats you've
| just started your career in coding and you didn't do a single
| whiteboard riddle I interview. Also your doing real work for real
| people and making actual differences in day to day lives. Not
| just some faang companies pleb work, bleeding metrics from the
| masses.
| francisofascii wrote:
| > The no-whiteboard companies are very few
|
| I would disagree. My guess is you are only going after top tier
| companies. It is okay to have a job with a company that is not a
| household name.
| mikymoothrowa wrote:
| I've seen the no-whiteboard list. Almost none of them hire
| "outside their time zone"
| francisofascii wrote:
| The no-whiteboard list represents at best, a small sample of
| the total list of companies that don't require whiteboard
| interviews. Hanselman talked about dark matter developers,
| the unseen 99%. The same principle applies to companies. In
| other words, there are tons of jobs out there flying under
| the radar.
| mikymoothrowa wrote:
| How do I find them? Or how do these companies find me?
|
| I kid you not, I've received messages from 200+ companies
| over the past 3 months and all of them have the leetcode
| round as their first round.
| vippy wrote:
| confidantlake wrote:
| I feel I must be living in an alternate world to everyone here. I
| studied leetcode for around 2 months then tried to get a FAANG
| job. I applied to every FAANG (plus about 10 others who had high
| comp on levels.fyi). Then netted me 2 tech phone screens, which I
| both failed. The way everyone talks I should have had 5 offers
| after 2 weeks of studying.
| sam_lowry_ wrote:
| Don't know if I am a good enough programmer, but I am clearly bad
| at leetcode too. After so many years programming, that is,
| solving puzzles at work, I really hate doing it in my spare time,
| so leetcode makes me instantly mad.
|
| I even avoid board games for the same reason. OTOH, I enjoy
| cooking, construction work... manual labor, that is.
| tlextrait wrote:
| Everyone is bad at everything they haven't tried to do. You can
| be good at anything. I can't ride a bicycle but if I wanted, I
| could be good. Just gotta go and do it. Unfortunately doing
| things is work. Solving abstract problems is the main thing
| engineers do, if you're not doing that then you're not really
| engineering you're just copy pasting text.
| sam_lowry_ wrote:
| This is the thing. I've been solving abstract problems for a
| living well over 20 years by now. Can I have some time off?
|
| I know I can solve many leetcode problems (fizzbuzz? roman to
| arab numerals?) given some time, but I hate doing it.
|
| As software developers, we constantly have to proof
| ourselves. At dailies, in leetcode.
|
| This is fun when you are 25, much less so when you are 50.
| 0x20cowboy wrote:
| "The only winning move is not to play"
|
| My advice as someone who doesn't accept these kinds of interviews
| on principal - and has repeatedly payed the price for my
| insolence - you have three choices: accept and do it, work around
| it, or something I don't know about.
|
| I work around it.
|
| My life isn't special, no one cares what I have to say, and no
| book will ever be written about me, but I get to build great
| software everyday and I am happy.
|
| In not so many words, you have to optimize for what you really
| want.
|
| - Do you just want to build software?
|
| - Do you want to have a lot of money?
|
| - Do you need access to a quantum computer?
|
| - Do you want to live your life learning new things, or focus
| only on one thing?
|
| - Maybe build your own business?
|
| - Do you want to buy and sell people like cattle?
|
| If you've got that right in your head, and you don't want to play
| the game I've found the gigs outside of the valley/US to be more
| often about doing work than about status and position. It's less
| about the "difficult hiring process as a badge of honour" BS, and
| more about building things. I mean, Ex-fannG people are out here
| too so you still run into it from time to time.
|
| So, TL;DR, maybe look at the world as an option instead of
| narrowing in on the typical valley/FANNG path.
| dekhn wrote:
| When you say leetcode, are you talking about leetcode questions,
| or just algorithm/CS questions?
|
| I've been asked a wide range of interview questions from "what's
| a cache" (I answered "would you like to me to cut to the chase
| and implement lru cache in python?"), how many steps does it take
| ants on a stick to fall off
| (https://physics.montana.edu/avorontsov/teaching/problemofthe...
| the interviewer said "it's easy if you just think of them as
| virtual ants that can pass through each other"), "what's the
| average waiting time for a bus that comes every ten minutes"
| (interviewer could not answer some of my starting questions like,
| "what is the arrival distribution- every ten minutes, or is that
| just sort of an average, is it poissonian, are the buses
| interacting with each other, etc", "implement quicksort" (got
| this wrong the first time I interviewed at Google).
|
| When I interviewed at a company recently a junior employee
| administered a question straight out of leetcode, with the data
| inputs and outputs completely unchanged. I exited the interview
| and contacted the CEO directly to say that if that's how they
| interview senior staff, it's not the company for me (I wouldn't
| have complained if they'd changed the inputs/outputs or slightly
| modified the problem, or came up with their own interesting
| variant).
|
| Because we need some signal that a candidate _can_ program and do
| something a little more complicated than fizzbuzz.
|
| The homebrew creator shouldn't have been hired at Google if that
| was his attitude. Also, homebrew sucks and many googlers try to
| avoid it if possible.
|
| My suggestion is to start with the easiest leetcode questions and
| memorize the answers and type out the code and run it with
| various inputs.
| mikymoothrowa wrote:
| I am talking about the kind of questions you would get if you
| went to hackerrank right now and took an SDE interview with any
| random company.
|
| > homebrew sucks and many googlers try to avoid it if possible
|
| Huh? What do they use then? I wonder what makes a Google
| engineer with a MacBook different from any other engineer with
| a MacBook that only Googlers in particular are avoiding brew
| dekhn wrote:
| I've done SDE interviews with random companies (and
| administered them), although normally they are called SWE in
| the bay area.
|
| Many of the questions in leetcode have a skill rating. The
| easy ones- I expect most programmers to be able to figure out
| in 30 minutes and type out an answer. The hard ones- those
| are for people (as you say) doing programming competitions,
| or who are doing CS research and have a lot of prior
| knowledge and skill, or for extreme coders operating at the
| 10X level.
|
| I think many people have moved to macports. In my experience,
| the Googlers mostly do dev in the cloud and don't depend on
| having custom software installed on their machines. Also I
| think the other big problem was that half of homebrew is
| broken any time you try to install something complicated.
| corrral wrote:
| > I think many people have moved to macports.
|
| I did the opposite. Macports reliably broke itself every
| three or four months under ordinary use, and Homebrew's
| package selection was much more useful to me, so I
| switched. I also think the Homebrew CLI is above-average,
| ergonomics-wise.
|
| Granted, that was about 10 years ago, but exchanges
| for/against brew and macports looked awfully similar then.
| But maybe it got better, I dunno.
| dekhn wrote:
| They still both don't work as well as linux packaging.
| corrral wrote:
| I prefer it to all of those that I've used, which is a
| lot of them--for the specific use case of managing the
| tools I use on my workstation.
| zzyzxd wrote:
| I am not sure why people bring up the homebrew author's case
| to justify the argument that "leetcode question = bad
| intervew question". I mean, I hate many of those leetcode
| puzzles, but "inverting a binary tree" is not one of them.
| IMO, this particular question is a good one. It is a simple
| manipulation on a simple data structure. I think at least a
| good programmer can probably discuss with the interviewer,
| take some hints, and write _something_? Instead, that tweet
| gives me a feeling that he didn't like the question and
| refused to think at all. Everyone knows that Google asks
| tricky algorithm questions, did he expect to get some special
| treatment because he created homebrew?
|
| Homebrew is popular, and is indeed a very successful project,
| it is just not very well designed. Let me quote the author's
| own words:
|
| > https://www.quora.com/Whats-the-logic-behind-Google-
| rejectin...
|
| > I wrote a simple package manager. Anyone could write one.
| And in fact mine is pretty bad. It doesn't do dependency
| management properly. It doesn't handle edge case behavior
| well. It isn't well tested. It's shit frankly.
|
| > Is it any surprise I couldn't answer their heavily
| computer-science questions well?
|
| > On the other hand, my software was insanely successful. Why
| is that? Well the answer is not in the realm of computer
| science. I have always had a user-experience focus to my
| software. Homebrew cares about the user.
| barefeg wrote:
| Isn't it ironic that you're ok with getting a job after
| graduating from a multiple-year college program but not after a
| "3-4 month grind on leetcode questions"? If the industry prefers
| experience and the ability to solve algorithmic riddles, would it
| not make more sense if college gave you this?
| vippy wrote:
| bevacqua wrote:
| Interview at startups like Ramp -- we don't care about leetcoding
| at all. There's many others.
|
| https://ramp.com/careers or hit me up nico@ramp.com
| 908B64B197 wrote:
| > Over the past few years I've met people who are really good
| programmers when it comes to putting together a full back end
| system , creating a very nice front end or creating any kind of
| app for that matter. Many of these people are fresh out of
| college and the "industry" puts them through leetcode/hackerrank
| style rounds that are needlessly hard
|
| I'll get downvoted for this but... There's no such thing as
| "leetcode/hackerrank" interviews. It's simply using questions
| that will be familiar to any candidate who took a serious
| algorithm and data structure class [0]. Any serious
| engineering/computer science degree should have at least one. If
| you can figure out algorithms, you should be ok figuring out how
| we built our back-end in whatever language, as the fundamentals
| (the underlying algorithms and data structures) will be evident.
|
| If you're just hiring programmers, don't expect them to be
| familiar with those concepts. But any serious engineer will and
| should.
|
| [0] https://ocw.mit.edu/courses/6-006-introduction-to-
| algorithms...
| ctvo wrote:
| How do you feel about assessments in other professions? For
| example, the bar exam for lawyers? X Engineering Certification
| for the specific fields? Even networking and security folks take
| certification and exams as a means of attesting proficiency. Are
| these things accurate? Is there a better system? No idea.
| Software engineering's processes are more adhoc, but can be
| categorized similarly. We're looking to answer the same question:
| Is this person competent? Resumes / CVs often aren't sufficient
| for the examples above.
|
| We do the dance when we swap jobs, other professions do the dance
| as their licenses / certifications expire periodically. I'm sure
| there's an engineer somewhere that struggles with anxiety when
| attempting their Engineer in Training [1] certification too.
|
| In short, buck up.
|
| 1 - https://en.wikipedia.org/wiki/Engineer_in_Training
| hkon wrote:
| I think your educational merits should carry some weight. Seems
| to almost ignore this is industry standard.
| geebee wrote:
| Upvoted because I think you bring up an important question. In
| many ways, leetcode style whiteboard exams are the
| BarrierToEntry(TM) for our field.
|
| My problem with this analogy is that our field has no examinee
| "bill of rights" that slowly evolved over time (often hundreds
| of years or more) in some of these other fields. We (software
| developers) have no idea who will be conducting our exam, how
| they will be grading it, or whether it will be done
| consistently. We don't know if the graders are competent. There
| is no clear and defined study path, nor do we get any feedback.
| The exams appear very suddenly, when we get an offer for an
| interview, we have very little control over how and when the
| exam will take place. And lastly, we take them again and again
| and again, every time we interview.
|
| I've read that people suggest several hundred hours of prep on
| leetcode to get ready. When I interviewed at Google, my lunch
| interviewer (no coding, just a conversation) told me that when
| he got an offer for an interview, he asked for and received
| well over 6 months to prep, and he studied intensely the entire
| time. Now, for the bar, I'd understand this, because passing
| the bar doesn't require getting hired by a particular firm. But
| if he'd missed google? Well... I suppose there are other
| companies, and the prep would have you ready. But also - these
| interviews can take all day, and there may be multiple rounds.
| Hundreds of hours of study and several all day exams? That
| actually sounds like something approaching the bar - but for
| just one company that can capriciously throw you out, with
| secretive processes and no accountability at all.
|
| Law firms don't run the bar exam. They respect the results, and
| I suppose some might volunteer or work as professionals, but
| Dewey Cheatum and Howe does't run the bar. Also, large law
| firms don't claim that there is a critical shortage of lawyers
| to hire, all while running a makeshift, privately administered
| bar exam that they acknowledge results in an extraordinary high
| false negative rate.
|
| I'm not sure if there is a great alternative to leetcode
| interviews, and I actually do respect the right of high tech
| companies to hire as they please. But I sure have no sympathy
| for companies that rely on these interviews and then wail about
| a shortage of people to hire.
| ctvo wrote:
| Software engineering as a profession is relatively young. I'd
| be very happy if we eventually end up with a license that can
| be revoked. Cause a large data breach? The board investigates
| and revokes your license, much like if you were a civil
| engineer who caused a bridge to collapse due to negligence.
|
| There's tremendous potential in this space for a startup, but
| nothing seems to have stuck, which demonstrates the
| difficulty of getting companies to trust a third party.
| They'd almost always rather trust their hiring process flawed
| though it is.
| lolinder wrote:
| > We do the dance when we swap jobs, other professions do the
| dance as their licenses / certifications expire periodically.
|
| The huge advantage to the latter is that it decouples the
| license exam from changing jobs. This helps for two reasons:
|
| First, it means that the friction of the recertification
| doesn't coincide with the friction of switching jobs. It's a
| lot harder to leave a bad job when you know you'll need to
| review for the "recertification" for a month before you can
| start interviewing.
|
| Second, in these other fields your employer has a vested
| interest in keeping you certified, because you can't keep
| working if you aren't. This should mean that they're
| incentivized to help with the process, rather than it being
| something you have to take full responsibility for and do on
| your free time. In software, not only do your employer and
| coworkers not help you study for "recertification", you have to
| actively keep it a secret that you're grinding leetcode lest
| you tip them off that you're looking to switch jobs.
| corrral wrote:
| If the bigcos had any interest in this, they'd have created
| such a cert/license. At the very least, they wouldn't make
| candidates who'd previously passed their interviews, and
| perhaps those of similar companies, _multiple times_ , do it
| again.
|
| Since they haven't created a cert, and they do make people
| re-test, they're clearly doing it for purposes that aren't
| served by those actions.
|
| For one thing, I don't think they'd be happy about _any_
| change that makes it easier to leave. Imagine what 'd happen
| to comp at these companies if you _didn 't_ have to do yet
| another goddamn leetcode gauntlet every time you switched.
| ctvo wrote:
| I'm not disputing that what we do as an industry can't be
| improved. I'm primarily against the idea that our profession
| is unique, and people should take us at face value when we
| claim expertise. Validation by employers is looked at as an
| undue burden. We have perks in this industry: For the most
| part no one cares about your education background and often
| not even your experience as long as you pass the interview.
| It's hard to have both those perks, and expect some of these
| hoops to disappear.
|
| Should the hoops be a take home assignment? White boarding?
| Pair programming? A new governing body that offers a license?
| Not sure, but something will exist, and your anxiety and need
| to prepare likely won't disappear.
| activitypea wrote:
| In theory, I'd be cool with taking some sort of standardized
| engineering test every N years. In practice, software
| engineering is pop culture and I'm not sure what those tests
| should contain or who I'd trust with creating those tests
| curiousllama wrote:
| My advice? Start memorizing the riddles.
|
| Consulting jobs require case interviews - they're pale imitations
| of actual projects that translate loosely at best. And every
| company uses them.
|
| Trading jobs ask probability questions - they're idealized
| versions of what traders do all day, requiring tangential (at
| best) skills like mental math and memorizing niche formulae. And
| (almost) every trading firm will ask them.
|
| Tech jobs ask leetcode questions - they're vaguely correlated
| with tech skills (you can't learn leetcode without learning to
| program, I guess?). And (nearly) every company asks them.
|
| All of these industries put up somewhat-arbitrary filters just to
| get a manageable signal, however imprecise, on the endless morass
| of new grads trying to break in. They ask them because they work:
| the pool of candidates who pass them are of a higher average
| quality than the pool who fail.
|
| They're biased, arbitrary, and often quite silly. And they've
| persisted for a half century. Get used to 'em.
| diob wrote:
| The worst part is it's biased towards those who already have
| the time / security to devote to it, aka those from the upper
| class. Vicious cycle.
| tsuujin wrote:
| > Get used to 'em.
|
| No.
|
| I've spent the last year or so reinventing the hiring process
| at my tech company to expressly avoid algorithmic puzzles and
| leetcode nonsense, and I was able to do this because I patently
| refused to accept the status quo.
|
| You can do this too. Anyone can. I'm basically a moron and I
| managed to convince our talent team to radically change how we
| do things; if I can do it I feel like the bar is pretty damn
| low.
|
| The only real requirement is that enough of us simply refuse to
| accept how things are today. Right now is a fantastic time for
| the tech industry to adopt change because your talent
| recruiters are probably struggling to find and retain new
| developers and are almost certainly willing to listen to
| suggestions on how to stand out.
| bluedevilzn wrote:
| > I'm basically a moron
|
| Google and other companies are actively trying to avoid
| hiring morons.
| tsuujin wrote:
| I'm not sure if you're just being snarky or you're trying
| to make an actual point here, but I can tell you that this
| kind of commentary reinforces the egocentric interview
| process we currently suffer through.
|
| Solving puzzles doesn't prove that you're smart, and not
| memorizing them ahead doesn't prove you can't do the job.
| Unless you're really on the edge of the industry--designing
| rockets for NASA or surgery tech or something--most dev
| jobs aren't really all that hard, and we should stop
| pretending they are.
| valar_m wrote:
| So what'd you come up with?
| [deleted]
| rodenmonte wrote:
| Would you be able to share the kinds of questions you ask and
| have had success with? :)
| tsuujin wrote:
| We basically adopted the MINASWAN interview, which Jesse
| Spevack can explain much better than myself in his talk [he
| re](https://youtube.com/watch?v=c4K-ORZmrGk&feature=share).
|
| The overview is that for each candidate we spend 20 minutes
| reading through code we provide to them to demonstrate
| comprehension, and then we give them 45 minutes to pair
| with us on reimplementing that same code from scratch.
|
| What that code is doesn't really matter, it's more about
| getting a chance to work with them and start a
| conversation, and starting with trying to explain a
| provided example really smooths the way into the pair
| programming.
| [deleted]
| jupp0r wrote:
| You make the assumption that Google cares about their false
| negative rate when ranking candidates, ie not hiring somebody
| they should have hired. The process is optimized for minimizing
| the false positive rate, ie hiring somebody they shouldn't have
| hired.
| TheOtherHobbes wrote:
| if that's the case, it doesn't explain why Google's software
| and product quality has been declining steadily.
| kansface wrote:
| > if that's the case, it doesn't explain why Google's
| software and product quality has been declining steadily.
|
| Why do you assume that poor products are poor products
| chiefly because of code?
| xmprt wrote:
| The discussion here isn't about code. It's about quality of
| engineers hired. If their software and product quality is
| steadily declining then that says something about their
| team. Perhaps they are incredible coders but don't have
| good business skills or "customer obsession".
| kansface wrote:
| > If their software and product quality is steadily
| declining then that says something about their team.
|
| My understanding is that Google internal politics are
| completely dominated by their promotion process [1]. I
| view the outcome of google products not as the result of
| poor hires, but the inevitable consequence of the
| organization's incentive structure. If pay (doubling or
| tripling) is dependent on launching new stuff, your best
| people will ship new stuff! If pay does not go up for
| maintaining old stuff, it will not be maintained. If pay
| does not go up for improving old products, old products
| will not be fixed. It doesn't matter which people you
| plug into that system, you will always get the same
| results.
|
| 1. https://news.ycombinator.com/item?id=31262428
| tmp_anon_22 wrote:
| User opinion is one of many success metrics that Google
| tracks but it isn't the most important one. Up until the
| recent recession their stock performance indicated that their
| product quality has been doing just fine.
| yakak wrote:
| That's not a valid metric. Every effective monopoly has a
| climbing stock price while it's product quality is
| declining, this is why they have such a terrible time when
| there's finally a market upset, they can have decades of
| bad practices to overcome just to stop their descent.
| mikymoothrowa wrote:
| Come on! Showing 4 more ads per video on YouTube would
| boost their stock price while making me hate YouTube PMs
| even more
| nostrademons wrote:
| [Disclaimer: Two-time Googler here, obviously speaking only
| for myself.]
|
| Sure it does. Collaborative software development is a low-
| pass filter, not a high-pass one. If you put 100 people on a
| team and tell them to develop a product, the product quality
| will track the _least controversial_ ideas, not the best.
| With more people, the set of uncontroversial ideas gets
| progressively smaller, and trends toward the features that
| nobody really cares about because those are the only ones
| that don 't provoke strong emotional reactions. The simple
| fact that you added more people is what made the product
| shitty, not that the people were incompetent or poorly-
| skilled.
|
| I've been in design discussions where we've had a room full
| of incredibly accomplished people, folks who've written major
| open-source projects or launched consumer products with
| billions of users, and the eventual decision was more brain-
| dead than anything that any one individual in that room
| could've come up with. And everybody knew it too, but you
| don't want to piss off highly intelligent and accomplished
| people, so you make the decision that everyone can kinda live
| with rather than the one that will wow users.
|
| The lesson here should be "Don't hire unless you absolutely
| need to", not "Google hires stupid people."
| bryans wrote:
| Surely this is a consequence of management and corporate
| ideology, rather than a natural outcome of having some
| arbitrary number of devs in a room. A good project manager
| doesn't allow great ideas to die on the vine unless there
| is pressure to do so, and that pressure is not coming from
| the team or customers -- it's coming from the top of the
| company.
|
| For all of his and Apple's faults, Jobs aggressively
| fostered a culture of "good is the enemy of perfect," which
| placed the focus on polished features instead of the dull
| hum of incremental development. And that bucking of
| homogenization is what led to such a rabid base of
| loyalists, as consumers tuned in to that momentum of
| (albeit perceived) innovation.
|
| Google, on the other hand, has never really had a fan base
| to speak of, and the few remaining loyalists are rapidly
| disappearing. I genuinely have never met a consumer or dev
| who believes Google is at the bleeding edge of any feature.
| That is wholly reflective of Page and Brin's ideologies,
| who fostered a culture of "over-engineer, refactor and ship
| incomplete," which is exactly what you're describing.
| Angular, for example, is the perfect representation of the
| Page/Brin ideology, and that's why nobody uses it.
| mountainriver wrote:
| Yeah this is so true, I'm experiencing this at my current
| org. Does anyone have advice on how to avoid these
| pitfalls?
| com2kid wrote:
| Don't put 100 people in a room. Put 4 or 5 in a room max.
|
| You need a feedback loop to sanity check features some
| how, but you also need vision and the courage to release
| stuff that not everybody wants. Every good product I've
| worked on has had team members who thought the newest
| features were stupid. Too bad, you aren't the target
| audience, get over it.
|
| Accept that you'll be releasing features that are either
| wildly liked or hated. You are going to be hitting both
| ends of the bell curve more often this way, embrace and
| accept it.
| mikymoothrowa wrote:
| I don't care that Google is doing this.
|
| It's a problem that everybody else is using the same process.
| (I blame it on CtCi)
| throw827474737 wrote:
| Come on, there's enough, far more than enough, out there
| which is not like this.. just change your expectations.
| CoolGuySteve wrote:
| I've started ignoring companies that hire using leetcode or
| whiteboard algorithm questions.
|
| Even if you make it through the interview process, you're
| going to be working for people who cargo cult their business
| practices and surrounded by coworkers who are willing to
| spend vast amounts of energy on stupid things to accomplish
| their goals.
|
| It's a massively negative indicator for company culture imo.
|
| I can't remember the last time I actually enjoyed using
| Google's software or their libraries, I don't know why I'd
| work for a mini-Google.
| fernandotakai wrote:
| one thing tons of people don't understand is that
| interviews are two way streets. companies are getting to
| know you, but you are also getting to know the company.
|
| as you said, i would never work at a company with bad
| interviewing practices because it means that either the
| employees were hired by these bad practices OR the
| practices changed and no one cares.
| adam_ellsworth wrote:
| what does "cargo cult their business" mean?
| CoolGuySteve wrote:
| https://en.wikipedia.org/wiki/Cargo_cult_science
| rapfaria wrote:
| Copying the whole 5-7 interviews thing with leetcode
| stuff because FAANMG does it
| mountainriver wrote:
| 100% Leetcode is now a great metric for me on company
| culture.
|
| Is your company able to back the trend when it's obviously
| wrong?
| cheeze wrote:
| I agree, but in general I've found if you want FAANG
| cash, it's better to just be good at leetcode and deal
| with it.
|
| I prefer money over perfect culture though.
| jstx1 wrote:
| I'm not seeing everyone else doing it. I wish they were
| because I prefer those interviews over something that
| pretends to emulate real work. I want every company I
| interview with to do leetcode and most of them don't.
| Kranar wrote:
| No that's not true, the vast majority of companies/positions
| do not do this.
|
| Most companies that pay very well and are competitive do it,
| and the reason is because we get so many crappy applicants
| that it remains to this day the least risky, cost effective
| way to filter out bad developers.
| mountainriver wrote:
| Sorry but there's a lot of ways to filter devs, you would
| need to back this up with data.
|
| Here's another avenue, show me your OSS work if you have
| it. That give me a far better picture of how you develop
| than LC ever could. Don't have OSS, then a take home test
| also works perfectly fine or a programming exercise that's
| realistic
| bradlys wrote:
| Blaming it on CTCI is like blaming it on needle manufacturers
| for people shooting up with heroin. The issue is more
| fundamental. CTCI is just giving a methodology for people to
| get through the interview process.
|
| The issue is that SV cargo cults extremely hard. A lot of
| startups copy the big companies (and often the founders of
| small companies _are from big companies_ - so they take what
| they know with them). Then everyone is like, "SV is so cool
| and full of money! Let's copy everything they do to emulate
| their success."
|
| That's all it is. I'm not a fan of the author (for personal
| reasons) of CTCI but I don't think she or the existence of
| the book is the issue.
| com2kid wrote:
| Microsoft was one of the first big tech companies to
| popularize these styles of white board coding interviews.
| Back when I was in college, Google had just lowered their
| hiring bar from "must have PhD" to "well BS from an Ivy
| League may be good enough", CTCI was seen as a way into
| Amazon and Microsoft.
| turtlebits wrote:
| Just went through a round of interviews in the past 6 months
| (~20 phone screens, 6 in person loops, 3 offers). Not all of
| the companies do it. If you don't like the process, then
| politely decline the interview. (you probably don't want to
| work there anyways).
|
| The worse to me are the interviews that ask you technology
| specific commands (for ops positions, especially k8s) and/or
| specific language constructs.
| brhsagain wrote:
| I know leetcode hate is a popular theme on this website but
| frankly I think it's overblown. You can basically solve any
| leetcode easy or medium if you understand like ten basic concepts
| (that you should know anyway) and then spend maybe a week reading
| solutions for the more trick questions. Leetcode hards require
| more memorization, but honestly, if we're going to talk about
| pointless studying take a look sometime at what med school and
| law school students have to do.
|
| In perspective, is 3-4 months of studying to get a job really
| that big of a problem? I spent longer than that studying for the
| SATs.
| frontman1988 wrote:
| Yeah people in India/China spend 2-3 years grinding complex
| maths/physics puzzles just to get into a college and Americans
| can't put in a few hundred hours of hardwork to get a high
| paying job. It's probably lack of rigour in American schooling
| system that's behind this entitled mindset.
| widjit wrote:
| SATs are also a very bad way of evaluating anything meaningful
| lolinder wrote:
| I think the hate isn't for the 3-4 months of studying to get
| your _first_ job, it 's the sense that you'll need at least 1-2
| months of studying to get every subsequent job (since you won't
| be touching leetcode-like problems in the course of your actual
| job). That's not a big deal when you're young, single, and
| childless, but it's overwhelming if you don't have a lot of
| free time.
| anyfoo wrote:
| > (since you won't be touching leetcode-like problems in the
| course of your actual job)
|
| That is not universally true.
| rot13xor wrote:
| 2 months of studying every 2 years for job switch is 8.3%
| overhead. Do leetcode jobs pay 8.3% more after-tax than non-
| leetcode jobs?
| cheeze wrote:
| Uh, generally yeah.
| colinmhayes wrote:
| Probably more like 100% more tbh.
| throw827474737 wrote:
| Is this the norm in the US/SV?
|
| Very skeptical of someone who switches every 2 years... you
| also become only really efficient after 6 - 18 months.. not
| only the code / legacy / wider system your stuff integrates
| with, but also socially knowing all the right people,
| context of all the bigger processes, a good chunk of domain
| knowledge ingrained??
| hiq wrote:
| > it's the sense that you'll need at least 1-2 months of
| studying to get every subsequent job
|
| I think it doesn't have to be this way if you focus on the
| fundamentals when you prepare, as it's easier to refresh a
| reasoning that clicked the first time than a complex
| algorithm you understood only superficially. And these
| fundamentals are enough for leetcode problems of medium
| difficulty.
| corrral wrote:
| I'd _love_ leetcode-type tests if you only had to do it once.
| Or even with a smaller every-five-years refresher to retain
| certification or whatever. And then not worry about it at all
| during interviews.
| confidantlake wrote:
| YMMV. I studied zero hours for the SAT and did well. There are
| honestly no hard questions, just a lot of them in a short time.
|
| I have studied at least a hundred hours for leetcode and I
| still have never passed an interview at a well paying company.
| Leetcode hards are legit hard.
| tonnydourado wrote:
| My experience might be biased, but my solution was not working
| for American companies, specially big I.T. ones. I've worked in
| Brazil and Europe and have very rarely even been proposed the
| sort of grinding bullshit interview that seems common on the US
| industry.
|
| Obviously, that's not exactly an easy route, but anyway.
| Clubber wrote:
| This is probably going to be an extremely unpopular opinion, but
| it's based off my experiences.
|
| SV-tech culture was attractive in the mid-late 90s when new
| things were actually being built and innovated, but today it
| seems many are just rent seeking near-monopolists that exist to
| sell ads. Working for a near-monopolistic advertiser with stupid
| hiring practices just isn't something I would want to do, or
| dedicate my life's work to.
|
| If you want to use your talents in a way to make humanity better
| in some small way, advertising isn't it. I would recommend going
| into another industry and company that values tech skills, but
| doesn't cargo cult like SV type companies do. Almost all the code
| you write will probably matter and be used by people. In my 20+
| years of development, I've had a total of one project shelved,
| and that was due to an M&A.
|
| You have a pretty good chance of creating new products as well
| rather than just doing maintenance tasks (although you will do
| plenty of that too). Most SV type companies seem overcrowded and
| mostly out of ideas, at least significant ones. There are of
| course exceptions, but like I said, I see a lot of rent-seeking
| from the big boys.
|
| If you're just into it for the money, SV type companies are
| probably your best bet, at least for a couple of years until
| you're financially set. Also, it helps to have at least one big
| name on your resume. You can earn plenty of money in other
| industries too.
| AndrewStephens wrote:
| I do a lot of interviewing and have never liked the Leetcode-
| style interviews favored by some of the big companies. I feel
| like they favor a certain type of person who can memorize a bunch
| of solutions where they should be looking at general problem
| solving and flexibility.
|
| That said, some coding in an interview is pretty much a
| requirement for any sort of programmer job. If you ever start
| interviewing candidates yourself you will see why - a non-zero
| percentage of applicants are very poor programmers, even those
| that claim years of experience.
| ushakov wrote:
| what if you have code that is available publicly?
|
| doesn't that prove you have experience?
| [deleted]
| karaterobot wrote:
| At my old company, we never did take home assignments or
| whiteboard interviews. We just sat candidates down and pair
| programmed with them for a couple hours on whatever we were
| working on at the time. We paid them the same hourly rate we were
| making, (but didn't charge the clients for it).
|
| If the candidate obviously didn't know what they were doing, we
| ended it early. Usually you knew within 15 minutes.
|
| One candidate hated the interview process, and walked out. One
| candidate, likely a future business leader, argued vociferously
| for a higher hourly rate during the interview, and later with the
| founder.
|
| But I would describe our success rate for finding good
| programmers who were easy to work with as "extremely high", and
| our rate for false positives as "I can't remember ever having one
| in about 4 years of working there".
|
| The overhead for the engineering team to run these was not zero,
| and not everybody enjoyed doing it. But some people did, so we
| had them do it more often. I have no idea why this isn't a more
| common practice, I would recommend it to anybody.
| colinmhayes wrote:
| This is great for small companies, but large companies are
| interested in standardizing the interview process. Leetcode is
| great for that since the outcome is pretty binary.
| MrWiffles wrote:
| Sure, great for metrics, terrible for actually doing the job.
|
| Leetcode can never compete with or allow a candidate to
| demonstrate real multi-dimensional or multi-systems thinking.
| You may be able to write some bass ackwards arcane algorithm
| and prove you're "31337" but can you make that work at scale
| with a data store that you have no information about? How's
| it going to get the data to operate on in the first place?
| Will your data retrieval query cripple a prod database? Read
| from replica? How far behind can that data be without making
| your fancy algorithm useless? How will you parallelize that
| work set? In-request or background job? Multi-threaded or
| single thread? What about changing state in multi threaded
| contexts? Database indexes? Schema design? How will you
| handle failures in your algorithm? How will you handle
| malformed data? And most importantly, does what you're doing
| benefit the user, or just your epeen?
|
| Leetcode is bullshit. It'll never let somebody show you
| they're good at anything other than solving bullshit
| problems. And you'll lose everybody who CAN work within the
| larger context by chasing candidates who's chief skill is
| solving bullshit problems.
| bluedevilzn wrote:
| Leetcode is a proxy IQ test. Anyone who can do leetcode can
| learn how database indexes work (hint: it uses Data
| Structures and Algorithms) but not the other way around.
| charcircuit wrote:
| >can you make that work at scale with a data store that you
| have no information about? How's it going to get the data
| to operate on in the first place? Will your data retrieval
| query cripple a prod database? Read from replica? How far
| behind can that data be without making your fancy algorithm
| useless? How will you parallelize that work set? In-request
| or background job? Multi-threaded or single thread? What
| about changing state in multi threaded contexts? Database
| indexes? Schema design? How will you handle failures in
| your algorithm? How will you handle malformed data? And
| most importantly, does what you're doing benefit the user,
| or just your epeen?
|
| Some of these questions are perfectly valid during LC
| coding rounds. Others would be more appropriate in a system
| design round.
| karaterobot wrote:
| Agreed, but I see the impulse to standardize as the source of
| a lot of the problems people have -- by people, I mean both
| good engineers, and the companies who can't hire them.
| angarg12 wrote:
| Honest question, how would you handle hiring at FAANG scale
| without standard processes?
|
| For reference we had an opening in my team and 1600 people
| applied.
| karaterobot wrote:
| This process still relied on screening, including
| technical screens. The biggest difference is that it
| substituted a day of whiteboard interviews with a day of
| pairing, which we found to produce better results, and
| candidates really liked too.
| activitypea wrote:
| Can you go a bit more in depth about the pairing session? Most
| companies I've worked at, even if the person coming in was
| familiar all technologies we were using, I can't imagine them
| grokking nor just "skipping over" the datamodel and system
| architecture/design. All non-trivial projects I've worked on
| had a "bad" codebase as a result of deadlines, pivots and
| misunderstandings. The code is always steadily improving, but
| never good enough that someone can just waltz in and get to
| hacking on it.
| kornork wrote:
| I can't answer for the parent, but I've done similar style
| interviews. Because the candidate is not familiar with your
| codebase, you must be the expert. Your job is to let them
| drive as much as possible, while you "unstick" them when they
| trip over what they can't possibly know. It is a
| collaboration, which is part of what makes this a good
| interview style IMO. Sometimes a candidate will offer an
| otherwise good solution, but it won't work well within your
| codebase -- in this case you explain why, and then you
| iterate.
| karaterobot wrote:
| Yeah, usually we would give a little bit of context, and then
| look at the sprint tickets in Jira, and take one. The
| candidate was not expected to be familiar with the codebase
| or product at all beforehand, and they weren't expected to
| become an expert on it during the course of the interview.
| But coming up to speed quickly is one of the skills we liked
| to see, since that was part of the job.
|
| They should be able to 'hang', in the sense of being familiar
| with how we approach problem solving as programmers. They
| should ask questions when needed, and answer questions as
| they arose. The goal was to just figure out what level they
| were at in general, and what it would be like to work with
| them. They weren't expected to come up with the best possible
| solution, because usually there wasn't a single right
| solution.
|
| We would ask them questions like "well, you saw the ticket,
| how do you think we should approach this?" or even just
| natural things like "this function we just wrote isn't
| working, what's going on here?". The point is that they are
| working on real problems -- literally real problems -- and
| not abstract CS exercises.
|
| Since we mostly did pair programming every day, the other
| thing you'd get a sense of is how easy someone is to work
| with. Not everybody had experience pairing, which is to be
| expected. You found out quickly who took to it, and who
| wanted to be a lone wolf. We didn't _not_ hire someone
| because they weren 't good at pairing, but we factored it in.
| Some people just did not communicate very well, which is a
| problem.
|
| (This also gave them a good sense of what it would be like to
| work with us, and sometimes people decided not to take an
| offer because they didn't like the way we worked: good
| outcome for everybody)
|
| They would usually do two rounds of this, both on the same
| day. Morning session, then an afternoon session. We offered
| to take them to lunch in between, which exposed them to more
| of the team, and let us talk to them in a more casual
| setting. Part of the interview would also be a private talk
| with one of the founders, and an HR person (in a different
| session).
|
| The people the candidate paired with would provide input
| like: "I would recommend hiring this person" or not, but
| didn't make the decision themselves.
|
| Here, I should admit that we did have a set of artificial
| problems we'd give candidates if we were hiring for a
| skillset that did not have a real project to test them on. We
| did both web and mobile contracts at this (consulting)
| company, so if we were hiring, e.g., an Android dev but
| didn't have an Android project for them to work on, we'd have
| them check out a repository and work on a fake ticket
| instead. Usually this was with a developer beside them, but I
| can remember times when the candidate had to do it solo.
| AnimalMuppet wrote:
| > Ever since 'Cracking the coding interview' was released, every
| company's interview process has become like Google's and Google
| didn't have a particularly great interview process to start with.
|
| > The no-whiteboard companies are very few, hardly ever seem to
| have openings and not hiring junior engineers.
|
| Both those statements are false.
|
| There are plenty of places, both small and large, that don't do
| leetcode interviews. There are places that don't do whiteboard
| interviews at all; there are far more that do have you go to a
| whiteboard but don't have you do leetcode there (my own company
| is such a place).
|
| Personally, I don't grind leetcode at all. I know what I know. If
| a company wants that, fine; if they don't, I'll work somewhere
| else. But I am far from junior. For a junior programmer, it may
| be harder to get the first job, and leetcode may open some doors.
| But the absence of leetcode doesn't close all doors - far from
| it.
|
| What we care about is, can you code at all. We give a problem
| that is a step above FizzBuzz, but not all that far above it. Can
| you write code that does something like that? Can you think
| through the problem? It's not a "you have to find the trick"
| problem at all. We don't care about whether people can find
| tricks. But can you code at all?
|
| We aren't alone.
| sydthrowaway wrote:
| My advice is to start early to avoid stress. Start mid-tenure of
| your current job.
| pflenker wrote:
| I think that as an industry, we are about to move past this.
| Companies slowly realize that these leetcode tests do not assess
| the skills they need. We currently lean towards simple coding
| tasks paired with extensive collaboration slash pair programming
| on close-to-real world scenarios to assess the skills we'd like
| to see in a candidate.
| linuxorbust wrote:
| I'm a senior sysadmin/devops guy. I'm not a programmer per se,
| but I can and do write a fair amount of code, usually Bash,
| Python, some PowerShell. I had an interview not terribly long ago
| whereby the interviewer was asking me as a sysadmin if I could
| write and compile programs in C++, Python, and a few other
| languages. I told him that my role historically didn't include
| these things. I told him I write code to primarily automate
| things. He asked if I could write programs from scratch--systems
| stuff and turn out MSIs. I told him no. End of interview. I've
| never stated I'm a programmer, it doesn't appear on my resume as
| anything other than scripting for automation or writing small
| tools to do something weird or odd that the built-in tools cannot
| do. Anymore, it seems that companies want people to be able to do
| everything. Same guy asked me about how good I was at setting up
| a router and switches from scratch. Networking is voodoo. It
| always has been. Sysadmins typically are not networking guys.
| Networks need to be run by dedicated network admins. It's a full
| time job in and of itself. I miss the late 90s and early 2000s
| when things were more clear cut in terms of roles. Editing to say
| that so many people in "leadership" positions don't understand
| the nature of scripting. They conflate it with systems
| programming. The two are vastly different. I was taught in
| college to keep scripts as small as possible. This has been
| echoed by mentors over the years. One mentor who was a veritable
| scripting rock star who now works at Google told me that if it's
| over a couple of hundred lines, it needs to be in a systems
| language, even things like Python. Compiled programs, of course,
| always run faster. But that's not my world. I live and breathe
| making servers run, tuning, etc.
| manuelabeledo wrote:
| I know my personal experience may not apply here, as I've been in
| the industry for quite some time now, but this is my take: reject
| code assessments.
|
| There is nothing to be gained from them. Candidates waste time
| trying to solve problems that may never face in a real work
| environment. Companies end up hiring people who has prepared for
| the interview, not for the job. Even worse, some companies seem
| to have standardised the same useless process across many levels,
| and end up asking senior candidates to e.g. reverse a binary
| tree.
|
| Personally, never in ten years has a code assessment helped me
| choose the right candidate.
| jaredklewis wrote:
| I feel your advice is more directed at employers than the OP.
|
| As a job candidate, refusing to participate in interviews that
| involve code assessments is going to severely limit your
| career, since the vast majority of companies make use of code
| assessments.
|
| I give lots of interviews. If someone refuses the assessment, I
| have to fail them. HR says we have a legal obligation to
| interview al candidates for a given permission with the same
| format and criteria for evaluation. I imagine most companies
| are the same.
|
| I think there definitely an opportunity for employers who can
| evaluate candidates without code assessments to get talent at
| bargain prices, but IMHO refuse code assessments is bad career
| advice.
| corrral wrote:
| Many--maybe the majority of--software development jobs aren't
| gated behind these kinds of problems. Or, if there are any, it's
| one or two from way on the easy end of the scale.
|
| But most of them merely pay very well, instead of ZOMGWTF well,
| and you'll be writing software in probably Java or C# to help out
| boring but profitable companies, rather than doing flashy startup
| change-the-world (LOL) stuff while burning VC dollars, or being
| in the advertising business.
| watwut wrote:
| > What would be your advice be to fresh college graduates, or
| anybody for that matter, who are good at programming but not at
| leetcode? Surely there must be a way to demonstrate their
| understanding of algorithms without having to spend 3-4 months
| memorising riddles
|
| If leetcode is necessary for interviews in your city, train
| leetcode. DO NOT MEMORIZE. But, do simple exercises and work your
| way up to harder ones. It is learnable, but memorizing is just
| about the worst way of learning it. You don't have to burn
| yourself out either, go by pace easy for you.
|
| Not being good at leetcode is not some kind of helpless unfixable
| state.
| magicloop wrote:
| SV companies are heavily loaded up with engineers that passed
| leetcode style tests. Not everyone though, due to acquisitions -
| engineers get grandfathered in. Leetcode coders implicitly will
| bias to hire other leetcode coders. There will be non-SWE
| departments, Program Managers etc. who might be hired via the
| MBA-tribe. So in the end, you end up with a mix of skills (or a
| mix of stereotypes) in a typical SV company. I think if it were
| strictly just leetcoder types the company would be a disaster
| (but I have no data or examples - I am interested to hear about
| if other folks know examples).
|
| This model of operation feels kooky but it does work on various
| levels (but fails in some also e.g. as panglossian fantasies ).
| The overall hodgepodge results in SV dominance we see today in
| many sectors.
|
| Leetcode is self-fulfilling now. It's like a ticket on to the
| prestige and mega-bucks ride a lot of engineers desire. People
| pay for the ticket with 3-4 months study. Those that cannot make
| the time, say due to family circumstances, are actually part of
| the implicit unfair bias in the system.
|
| I think what works best is when Leetcode is part of the gauntlet
| but not the whole game. A genuinely good person, in terms of
| character, together with good programming skills is what I've
| seen as a company's best asset. An open ended technical focussed
| discussion on specifically what the engineer has done lifts the
| lid on that part of things.
| namecheapTA wrote:
| You should see the LeetStudying medstudents/residents do to make
| $200-350k. Compared to other ways of making it into upper tier of
| income groups, this has to be the easiest.
| leetcrew wrote:
| there are a lot of things in the world that seem unfair or
| unreasonable. often it's because they are. complaining about it
| can be satisfying in the moment, and if enough people complain,
| it might eventually change. but reflecting on how unfair or
| unreasonable something is does not help an individual achieve
| their goals.
|
| as a fresh college grad, you have to decide whether you want to
| work at a company that does leetcode interviews. if yes, you have
| to practice them until you can pass the interview. if no, there
| are plenty of companies that don't do this style of interview.
| they just don't get discussed on hacker news as often. unless you
| are an incredibly well known engineer, there is no third way.
| spamizbad wrote:
| Being good at leetcode just requires grinding out those silly
| problems until you become good at them. That's the sad reality.
| Unfortunately, there's limited carry-over from years of
| experience of Actually Building Things(tm) so it can be
| frustrating. The upside is you're not having to learn language
| constructs or syntax like all the newbies are.
|
| My advice is to just vote with your feet and not work for
| companies that leetcode interview.
| ldjkfkdsjnv wrote:
| I'm at a FAANG right now. Havent interviewed in years, lead
| projects on one of the most critical services at my company. Just
| interviewed at a startup, they asked a design question, and
| immediately nixed me for not having the correct "design process".
| Meaning requirements gathering, scoping, etc. 20 minutes in the
| interviewing engineer basically checked out.
|
| My resume is very good. Its a little scary, because this
| experience is actually common. No one trusts anything, and
| nothing you have done is worth anything, unless you are well
| known. You need to study whatever textbook answer they are
| looking for.
| bogomipz wrote:
| I'm curious if you would share the design question. I have seen
| these very contrived "study guides" with questions like "how to
| design drop box", "how to design FB newsfeed, etc" and they all
| seem to just be lists for rote memorization. Was that what your
| experience was? You didn't satisfy the check list that the
| interview was looking for?
| tlextrait wrote:
| Sounds like they care more about process. Process-centric
| companies tend to not do well in the long run.
| ushakov wrote:
| even if you're well-known you can be rejected
|
| the author of brew (popular macOS package manager) got rejected
| by Google
| stopachka wrote:
| I think learning to excel at algorithm interviews will make you a
| better engineer. It's not memorizing questions, it's learning to
| solve a variety of interesting problems you seldom get in your
| day today. You may think, if "I don't get those problems day to
| day, why learn to solve them?". This is similar to an airline
| pilot saying "Engines work well on my flights; why should I learn
| how to handle engine failures?"
|
| 2-3 months of devoted effort on algorithm interviews has given me
| some of the best ROI / time for engineering growth I've had in my
| career.
| ceejayoz wrote:
| It's more akin to expecting the pilot to know how to replace a
| wiring harness in the avionics bay; someone else handles it and
| they'll never need it in practice.
| naniwaduni wrote:
| The flip side is that a DS&A toy problem grind _is_ an actionable
| item that approximately anyone who can already bear the cost of
| their own training can work on, with legible indicators of their
| progress.
|
| I know it's popular to throw shade on interviewing for "wasting"
| candidates' time on this instead of "learning to build actual
| things", but even if DS&A toy problems aren't the _best_
| -correlated with actual work performance, the fact is that (a)
| they're well-enough correlated, by the standards of scalable
| interview assessments (b) contrary to popular belief around these
| parts, presenting "actual things" is _much_ easier to bullshit
| your way through than a few hours of talking through toy problems
| (c) _every job opening gets a deluge of bullshitters_.
| luxuryballs wrote:
| It's my impression that just doing enough grinding to hopefully
| remember how to solve a specific problem is different from having
| enough experience to be have gained the aptitude to solve them
| without it feeling like a grind or cram session.
| [deleted]
| bluGill wrote:
| You are not expected to get them all. We want to see how you
| think and that you can think at all. There are a lot of people
| out there who claim they can write code, but can't even write
| "hello world" in the language of their choice. I'm not interested
| in your ability to answer trick questions, and we have a standard
| library that has optimized implementations of the basic
| algorithms everyone uses. I need to know you can write at least
| some code though - in some cases we have let some go with no
| affect on the teams productivity, you need to be better than
| those people.
|
| We have so far had one person get all the answers in the allotted
| time, without any help, and he is working on his second PHD.
| Dudeman112 wrote:
| >We want to see how you think
|
| Should publish a paper and instantly get yourself a bunch of
| awards then.
|
| People love to spout that. It's nonsense. Psychologists with
| _way_ more resources and time in their hand have consistently
| failed at even the most basic levels of achieving that.
|
| And then some dudes hiring for a company say they can do it in
| an hour with some silly tasks and a little talk.
| timr wrote:
| That might be true, for you. But I've interviewed many times
| across the industry -- including most of the big names -- and
| I'm here to tell you that if you can't perfectly solve a half-
| dozen leetcode medium questions on a whiteboard while talking
| and tap-dancing backwards, you aren't going to get an offer.
| I've been writing code since I was in elementary school. I've
| shipped multiple products, including some I mostly/entirely
| wrote myself. If it were as simple as "proving I can code", I'd
| have no problem getting offers at every single place I
| interview.
|
| I think you're right that _reasonable interviewers_ behave as
| you describe. But we 're so far down the rabbit hole now that
| reasonable interviewers are few and far between, and most
| people are cargo-culting the interview process they themselves
| have experienced.
| bluGill wrote:
| I wouldn't be surprised if you were right.
| ravenstine wrote:
| It's pretty shameful how macho people are being about
| leetcode.
|
| Yeah, leetcode is "fun" when you're 23 and don't know better.
| It probably won't be at 33 when you're tired of all the
| bullshit.
| neoCrimeLabs wrote:
| The problem isn't leetcode so much as how it's interpreted.
|
| Goodhart's Law: "When a measure becomes a target, it ceases to be
| a good measure."
|
| Leetcode questions are a useful measurement in the interview
| process
|
| What they are not is a useful goal to hire someone by.
| taurath wrote:
| Let's not forget the emotional element of these interviews where
| you're being asked questions that mean very little about whether
| you can perform in the role. but many pretend that they are. For
| me the day long "technical" interview loop is a flashback to
| gradeshool hell. It tests my anxiety levels at least 5x more than
| my skillset.
|
| It's a common thought among my circles that interviewing is the
| hardest part of being a software engineer - once you're in
| somewhere it's a lot easier.
|
| There needs to be something better.
| mikymoothrowa wrote:
| > It's a common thought among my circles that interviewing is
| the hardest part of being a software engineer - once you're in
| somewhere it's a lot easier
|
| I've heard a similar sentiment from my circles too. But lately
|
| I've also met people for whom it's the exact opposite: they can
| clear the first round of the interview and they fail in the
| subsequent design rounds (which in my opinion are a lot less
| challenging)
|
| I've also met people who manage to get hired but are soon
| overwhelmed with the real work that they have to do and some
| even get pip'd
| comprev wrote:
| It's often the hardest part because many people think they can
| hit the ground running after following a Udemy programming
| course.
|
| Engineers are expensive to start with and inexperienced/over-
| confident engineers even more so due to the potential damage on
| the product.
|
| Tough interview stages like leetcode are a simple method HR can
| employ to establish a baseline competence.
|
| Personally I have zero interest in grinding for months solving
| riddles and when interviewing I always check what the stages
| involved are. On numerous occasions leetcode has been dropped
| upon request - no harm in asking!
| [deleted]
| nomemory wrote:
| I am not particularly good at competitive programming, but at
| some point I did invest quite some time into it. Contrary to my
| username I have a pretty decent memory and I can remember easily
| if I've solved something similar.
|
| At some point I've interviewed for a company who gave me four
| exercises to solve in an hour. Normally, it would've been
| impossible to solve them without previous knowledge. Funny part
| is that I knew the idea for all 4 and the only difficulty was to
| write things quick enough so I can finish everything in time. 57
| minutes later, I was finishing all of them, to the surprise of
| the interviewers who were watching me coding.
|
| I had the all time best score for that company, and everyone
| thought of me I am some kind of genius, which was certainly not
| true, because I know my limits, and I am far from it.
|
| Nevertheless, everyone was a little disappointed by me in the
| next 6 months. I was quite junior, and had junior problems.
| PragmaticPulp wrote:
| I haven't done whiteboard coding interviews for a long time,
| but this was a problem back when we did. We started by using
| generic coding problems that someone got from somewhere
| (probably a popular book or website). Occasionally someone
| would show up and basically recite the solution from memory.
|
| Having 4 different problems is usually an okay defense for this
| because you can spot when the candidate recites some answers
| from memory but then struggles through relatively easy
| questions they obviously haven't solved before.
|
| The fact that you had all 4 memorized defeated that heuristic,
| of course. The smart companies are careful to rotate their
| problems and customize them in ways that will trip up most
| recited answers.
|
| > I had the all time best score for that company, and everyone
| thought of me I am some kind of genius, which was certainly not
| true, because I know my limits, and I am far from it.
|
| > Nevertheless, everyone was a little disappointed by me in the
| next 6 months. I was quite junior, and had junior problems.
|
| I mentored college students and recent grads for a while. A lot
| of them had been convinced by the internet that they just
| needed to memorize enough LeetCode problems to squeak through a
| FAANG interview and then they could relax for a decade or too
| until early retirement. It was like all of the Reddit memes
| about CS careers collapsed into a single narrative.
|
| I spent a lot of time reminding them that high paying companies
| have high expectations and it's not as simple as collecting
| $300K/year to do nothing. Of course, they didn't really want to
| hear it from me.
| jgerrish wrote:
| It's amazing how much things change in interviewing, with the
| arrival of remote and other things.
|
| Similarily, five years ago, our sympathy may have been with
| Spirit and our heartstrings deliberately pulled by that sad rover
| comic by XKCD. But it'd be awkward to bring it up in the middle
| of some comment now.
|
| I digress.
|
| Sometimes you have to do things to survive. Whether that's
| leetcode exercises or whatever.
|
| Sometimes you realize your other actions are helpless because of
| operant conditioning in the farking outside world.
|
| Maybe I could never imagine being a single Mom, but I could
| understand feeling financially insecure with someone, so yeah,
| practice. I'm not brave, like them.
|
| What else. I own my mistakes, that's about all I own. And I'm
| happy managing my mistakes but not something bigger?
|
| Is that what you're looking for?
| nwiswell wrote:
| The question answers itself, doesn't it?
|
| If you care primarily about your salary, become good at leetcode.
|
| If you don't, join a startup.
| bovermyer wrote:
| My salary is very good. I've never joined a company that does
| leetcode interviews. Only two of the companies I've worked for
| have been startups.
| nwiswell wrote:
| Very good compared to Google and Facebook, or is that a
| subjective statement?
|
| But to be honest, your answer is not likely to change my
| opinion. For the vast majority of new grads leetcode is the
| obvious recommendation to maximize income. People grind for
| 3-4 months because it actually works, that's the reality.
| bovermyer wrote:
| Very good in that it puts me in the top 10% in terms of
| earning potential on the planet.
|
| You have a different target employer than I do, and that's
| fine. I optimize for a different set of requirements.
| [deleted]
| nwiswell wrote:
| Sounds a lot like you actually are one of the many
| individuals who do not optimize for salary.
|
| Maybe OP is, too. If he isn't, I think my suggestion is
| appropriate.
| Ekaros wrote:
| I wonder if that itself is certain type of filter. For
| people who are ready to spend lot of unpaid hours for job.
| Might this also expand to their work?
| nwiswell wrote:
| Yeah, I think that's actually part of the intent of the
| whiteboarding in the first place. How type-A and career-
| obsessed are you? Enough to spend months learning
| tangentially relevant material to pass an interview?
| linuxorbust wrote:
| I've worked for exactly one startup on a devops team of
| three. The coders next door to us were mostly fresh out
| of university and most of them thought they were the
| cat's pajamas. They worked for a fairly crusty former
| military cyber dude who had likely forgotten more about
| programming then they would ever know. Military dude told
| us that code checks were an eye-opener for these guys.
| There's boot camps, university, and then the real world.
| The real world is often not what these kids think it is.
| Same kids were shocked when I told them the company ran
| the back end on Bash and Python. They were incredulous we
| weren't using Golang, Haskell, or some other flavor-of-
| the-month language. I told them to go ask what runs their
| bank. None of them had the faintest idea it was COBOL.
| The one COBOL programmer I know is in his 60s, already
| retired and comes out as needed for the princely sum of
| $200/hour every couple of months for contract work. Beer
| money as he calls it. Guy retired a millionaire from
| COBOL but you'd never know it looking at his modest house
| and hatchback car.
| digisign wrote:
| Many startups cargo-cult these poor hiring practices.
| nwiswell wrote:
| The good news is that that's a predictor for a shitty startup
| (or at least a predictor for a startup that isn't focused on
| building things)
| TameAntelope wrote:
| Practically speaking? Get better at leetcode. It's a skill, you
| can train, you can improve.
|
| Lots of options for improving, but I suggest if you're feeling
| stuck to pay for a coach.
|
| Also, stop focusing on FAANG type companies. There are tens, if
| not hundreds, of thousands of jobs, and if you're a new grad
| you're as mobile as you'll ever be. There are too many jobs to
| care about specific hiring trends; there'll be a job for you out
| there somewhere.
| phibz wrote:
| As an engineer who learned programming prior to the proliferation
| of coding tests, my struggle has been with my own ego. "How dare
| they use some simple test to judge me and ignore my body of
| work." This has gotten me a few times. Especially when I wasn't
| expecting a coding test. Adjusting my attitude and getting more
| okay with the idea that some companies will want to screen with
| this sort of thing, has helped. I also felt more empowered by
| recognizing that I can always decline an unreasonabpe test and
| that doesn't always mean I will be excluded from consideration.
| Like most things in life, it's easier if you practice. Focus on
| good communication skills, and sell yourself the best way you
| can.
| bovermyer wrote:
| Work at older, non-tech companies that have tech departments.
| Almost every single one of my jobs has matched this pattern, and
| none of them included a coding exercise as part of the interview
| process.
|
| Silicon Valley and its satellites seem to disproportionately
| favor code interviews compared to the rest of the US market, for
| some ungodly reason.
| dottedmag wrote:
| Do they pay comparable money?
| anyfoo wrote:
| You can't have your cake and eat it, too. If you want to get
| paid as a developer who has to design algorithms as part of
| their job, you should know how to design algorithms.
|
| Doesn't mean that pay grade is fully correlated with skill,
| of course. There are other industries that pay more and don't
| require anything like that.
| vmception wrote:
| > You can't have your cake and eat it, too.
|
| But the thing is... you can
|
| Most of us are not designing algorithms, most of the time,
| or any of the time
|
| Many engineers are just filling seats in places that are
| just in the business of sucking up talent from the market
| instead of having a bunch of entreprenuers running around
|
| Rest and vest
| bovermyer wrote:
| Sometimes. Particularly in the financial industry.
|
| However, something to note is that while money is important,
| it's not the most important thing in life. Or it shouldn't
| be, anyway.
| duped wrote:
| > Silicon Valley and its satellites seem to disproportionately
| favor code interviews compared to the rest of the US market,
| for some ungodly reason.
|
| It's all the money that they're making compared to everyone
| else. Even in a crash like we're seeing now, they have
| extremely high revenue per employee.
|
| The other US markets don't "get it" yet imho.
| vdnkh wrote:
| > Silicon Valley and its satellites seem to disproportionately
| favor code interviews compared to the rest of the US market,
| for some ungodly reason.
|
| I work at a well known SV tech company with about 3k ppl and we
| got over 50,000 job applications last year. Code interviews
| suck, but they're a scalable way to assess skill with minimal
| bias.
| postalrat wrote:
| There could be an argument made that most code interviews
| have a bias twords younger less experienced developers. They
| are the ones that take the time and study these questions.
| Years of experience probably won't help since the questions
| don't represent day to day problems most developers are
| solving.
| mmcru wrote:
| I interview at FAANG and we do take this into account by
| holding pretty much anyone over ~2 years of experience to
| the same standard with respect to leetcode questions.
|
| A fresh grad is expect to be able to solve ~medium
| problems.
|
| Someone with ~2 years of experience is expected to be able
| to solve ~hard problems.
|
| Someone with 10 or 20 years of experience is still only
| expected to be able to solve ~hard problems.
|
| The standards for a more experienced candidate are of
| course higher for other attributes: Leadership skills,
| communication skills, etc.
| [deleted]
| anyfoo wrote:
| Tech companies favor deeper tech skills greater than non-tech
| companies do, is what I'm reading, and it does not sound too
| surprising.
|
| You are also less likely to deal with the "leetcode" subject
| matter (e.g. design and analysis of algorithms) at a non-tech
| company, so if you don't want to deal with that, applying at a
| non-tech company is a good idea. Does not mean that a job at a
| tech company won't be like that, though. They have CRUD SaaS
| apps, too...
| bitwize wrote:
| Older, non-tech company with a tech department employee here.
| And uh, yeah, we do code exercises with candidates. Nothing
| ridiculous, we just put a basic, relatively straightforward
| problem in front of the candidate (two notches above fizzbuzz)
| and ask them to solve it, or at least talk us through how they
| _might_ solve it.
|
| We've had a problem with candidates who seem impressive on
| paper and during the first phase of the interview, and then
| can't solve this exercise without being seen to glance at
| Google or SO results on camera -- or worse, being caught
| copying a worked example directly off the web!
|
| There are plenty of people who can talk a good talk about their
| technology experience but can't write a line of code to save
| their lives! Entire majors at universities are devoted to this;
| when I was in college, all the people who couldn't cut it in CS
| because math, fell back to MIS -- Management Information
| Systems -- whose courses had big colorful textbooks I call
| "Richard Scarry books" because they're packed full of busy-
| looking illustrations. MIS helps you learn _about_ technology
| in a business context, but prepares you very little for
| actually _doing_ technology and building the systems with it.
| The coding exercise helps screen out the people who can 't
| actually do what's needed of a developer.
|
| I guess people reach for leetcode because it's easy, but it
| misses the point of the coding exercise. The point is to screen
| out people who can't program at all, not to select for the
| programming equivalent of NES speedrunners. So it needs to be
| set at a very low bar and administered by forgiving
| interviewers.
| Techonomicon wrote:
| This is an extremely interesting subject. I understand the "hate"
| for leet code, or simply live coding exercises in general, though
| so far the majority of "hate" I've heard for this comes from the
| candidates who haven't had to do a ton of hiring. Or they've had
| the ability to hire slower and take their time evaluating fewer
| people over a longer period of time without a ton of inbound
| pressure. Or they've set some arbitrary bar for inbounds that
| many people also disagree with (such as only talking to people
| from top ranked CS schools, or only candidates from well known
| companies, basically some other metric they can use for
| themselves as some abstraction on competence).
|
| I do believe having someone do paid work / pair with the team for
| a few days is likely the most valuable, and I do actually think
| the best people are ok with this because they use it as a way to
| evaluate a company. But this strategy simply isn't scalable and
| can take a lot of company man hours without extremely good up
| front vetting.
|
| I've found coding exercises, of some sort, they don't have to be
| leet-code-esque, to be one of the very few "put your money where
| your mouth is" activities to perform. The amount of folks that
| can speak forever and in-depth about what they've worked on, and
| then will completely fail at writing for-loops in their favorite
| language has astonished me. I don't believe live coding exercises
| have to be adversarial, I believe candidates should be offered a
| more accessible often if it's too high pressure for them, but I
| don't believe coding exercises are inherently bad or evil. I do
| believe there are bad or evil exercises that can be chosen.
|
| A practical coding exercise that requires no more than 8-10 lines
| of code done live has generally served well in my experience for
| assessing candidates. I've seen similar pure failure rates from
| practical exercises as I have from "perform a dfs" style
| exercises, in the above 60% range.
| softcactus wrote:
| Firstly, don't get discouraged just because the questions are
| hard. A lot of these concepts were cracked by dudes like Von
| Neumann who spent years trying to figure out stuff like graph
| theory and backtracking. Calculus seems hard at first but after a
| while derivatives seem trivial-- even though it took thousands of
| years of the greatest minds in math to arrive at the
| understanding of the Fundamental Theorem of Calculus. We all
| stand on the shoulders of giants.
|
| Second, it sucks but the only way to get better is to practice. I
| recommend Python since it's the most efficient least verbose
| option for Leetcode. There are also a lot of shortcuts for
| learning as efficiently as possible:
|
| Learn and internalize the 14 patterns:
| https://hackernoon.com/14-patterns-to-ace-any-coding-intervi...
|
| Then practice with either the Blind 75, Neetcode 150, or the Sean
| Prashad leetcode list: https://seanprashad.com/leetcode-patterns/
| There is a lot of overlap between these lists, and most of the
| problems are slightly more complex versions of a previous
| problem.
|
| You also need to be able to talk about your solution and explain
| why something is O(n). Talk out loud to yourself while you are
| coding, you'll feel like an idiot but it really is helpful.
|
| I know that it sucks but unfortunately this is the price to pay
| for the insanely high salaries for fresh grads in tech atm. On
| the plus side I think that Leetcode made me a better programmer
| in the sense that I became more intimate with the language I
| chose (Python) and am able to write code more quickly since I
| unconsciously internalized the syntax.
|
| Lastly when facing rejections, don't take things personally. Luck
| is a huge factor and if a tech company doesn't want to hire you
| it has nothing to do with your value as a human. I applied to
| hundreds of companies and went through about 10 on-sites just to
| receive one FAANG offer. Keep in mind that on forums like Blind
| or Reddit, or personal blogs, you are mostly going to be reading
| stories with high survivorship bias and embellishment. Everyone
| wants to brag about their six-figure offer from Google, fewer
| people are going to write about the excruciating toll that hiring
| practices took on their mental health.
___________________________________________________________________
(page generated 2022-05-20 23:01 UTC)