My career path in tech so far has been junior engineer -> mid level -> senior -> tech lead. As I've progressed through that path, I have had literally no opportunities of applying the stuff I've learnt on HackerRank, save for a couple of interviews. At this point I'm convinced that the focus of those interviews was entirely wrong. Once you pass those tests and get hired, you will be dealing with tons of legacy code r…
The reason this complaint never changes anything, despite being very popular, is that these interviews serve two purposes that it doesn’t address: 1) they’re an intelligence test; 2) they’re a perseverance/conscientiousness test. Will you take the time and put in the work to pass one of these interviews? That measures perseverance and conscientiousness. Having put in the time, can you recall and adapt what you learne…
Caltech's CS interview prep course
201–210 of 336 posts
Re: Caltech's CS interview prep course
#202Interviewing is broken. When I was at Amazon, it became impossible to hire candidates, and generally the engineers we brought on board were non-US citizens. Typically they're Indians without U.S. residency status, often times U.S. college grads or often even transfers from Amazon's Indian offices. Not only did we pay below other FAANGs, but with these hires, we'd pay them at the low end of our own scale. What are the…
> it boggles my mind anyone would invest so much energy in getting a job at Amazon.
If they can sponsor a visa... just consider the sort of poverty that exists in much of the rest of the world.
Re: Caltech's CS interview prep course
#203Earlier quoted context omitted.
The reason this complaint never changes anything, despite being very popular, is that these interviews serve two purposes that it doesn’t address: 1) they’re an intelligence test; 2) they’re a perseverance/conscientiousness test. Will you take the time and put in the work to pass one of these interviews? That measures perseverance and conscientiousness. Having put in the time, can you recall and adapt what you learne…
They are a memory test not an intelligence test. If you truly wanted to measure intelligence it would have to be based on a priori knowledge and not on the ability to memorize algorithms and their implementation.
Re: Caltech's CS interview prep course
#204Earlier quoted context omitted.
I really think you nailed it, will have to borrow this point in the future. A lot of it is about gauging the candidates aptitude, and of course their willingness to put in the work. It's like those kids in math class that say, "I'm never going to use this in real life."
Those kids are right. School math is mainly an attrition machine. Most students, including in STEM fields, look forward to forgetting all of their school math on graduation day. The math that engineers need is baked into their high level software. Most engineering teams have a "math person" who handles any higher math related problems that crop up. I'm one of those people at my workplace. I was a college math major,…
Because of the usual lack of rigorousness -- e.g. most companies will not require you to prove that the system is going to be up for 99.9999% of the time, the load balancing is optimal, the abstract queue in our system is not going to diverge (when it does inevitably we will just reboot and keep doing it until we get more funding) -- the expectation and targets is also to avoid it.
Most developer positions are doing essentially the equivalent of designing over and over the equivalent in civil engineering terms of one or two story buildings.
There are positions that will exercise one's engineering skills (including math). However, the culture and expectation of "math person" does not promote them. Graphics, cryptography, distributed/byzantine systems (I don't mean using AWS here), optimization, ML (new algorithms/improvements), maps, are some areas that one's cs/math/engineering skills can be used at.
But note that when any X of those areas become trendy there is the gut reaction of an "intro to X for programmers" coming out that is a couple of hand-wavy sketches, some sketchy intuition -- most often wrong in the details -- and an API guide.
Having done my undergraduate in Europe, every year was math heavy -- math was the core not the attrition machine. And I do see this mentality in the U.S. startup industry where a lot of times the Edison approach is taken of trying every single filament width choice on a mock-up instead of doing a quick calculation.
Having taught math to undegrads in the U.S. and from discussions with people that TA'd, I would agree with you that the math curriculum needs to be revised from the ground up as being extremely inadequate. On the other hand, most software "engineer" positions, do not require any engineering to be done.
Re: Caltech's CS interview prep course
#205My career path in tech so far has been junior engineer -> mid level -> senior -> tech lead. As I've progressed through that path, I have had literally no opportunities of applying the stuff I've learnt on HackerRank, save for a couple of interviews. At this point I'm convinced that the focus of those interviews was entirely wrong. Once you pass those tests and get hired, you will be dealing with tons of legacy code r…
I totally agree with you. Some of the content there seems relevant to CS in general, but I hate the fact that you need to study content that you won't use on the job in order to pass an interview. It doesn't make sense to me. I've seen new grads perform as well as senior engineers with these Leetcode-style questions so I've stopped using them to assess engineers. Further, I know we're specifically trying to assess te…
To me, this seems to be reasoning from an unproven premise. As tech becomes ever more lucrative, it honestly wouldn't surprise me that the average competence of new grad hires will skyrocket - supply of software engineers is going to increase and each subsequent generation will have more experience with technology.
Re: Caltech's CS interview prep course
#206My career path in tech so far has been junior engineer -> mid level -> senior -> tech lead. As I've progressed through that path, I have had literally no opportunities of applying the stuff I've learnt on HackerRank, save for a couple of interviews. At this point I'm convinced that the focus of those interviews was entirely wrong. Once you pass those tests and get hired, you will be dealing with tons of legacy code r…
Seems like the consensus is that engineering interview is broken, but no one has come up with a better method? You’d think with the war to get talent these days if there was a better way to screen for candidates companies would use it.
These sort of "consensus"-es appear for most sorts of screening processes where the majority of people are screened out. See: any form of standardized testing.
Re: Caltech's CS interview prep course
#207Earlier quoted context omitted.
What’s your suggested alternative? Please remember that while some of us would do well and prefer some live pair programming or debugging sessions, it stresses the hell out of some folks and penalizes them unfairly. Take home tests penalizes people with families and other responsibilities and probably has a racial bias as well in countries where different races have different societal loads. In the end, even if these…
> What’s your suggested alternative? In my experience, any alternative to leetcode provides a better signal-to-noise ratio. You are better off asking trivia questions. Additionally, this is the common narrative among leetcode advocates - "If no leetcode, then what?" As a hiring manager, you think harder and do better, that's what. > Please remember that while some of us would do well and prefer some live pair program…
Bet you most people would disagree with just trivia.
> So does studying for leetcode for hours.
You honestly do not have to do this to pass the LC interview. I didn't.
Certainly not as much as a takehome test.
Re: Caltech's CS interview prep course
#208Earlier quoted context omitted.
This is largely a result of low barriers to entry into the profession. You do not need to have a qualification from an accredited institution to be a practicing software engineer/programmer/developer. Unlike doctors, lawyers, dentists, civil engineers... So you have a well paying profession, hot demand, good working conditions, and no external framework to ensure a base level of competence. Of course people will try…
Nah it’s still broken. Using lawyers as an example because that was my past career, 3-4 years of law school also doesn’t teach many practical skills. In fact, most of us took what amounts to a semester long course just to prep for the bar exam. And even then, you still don’t know anything! As I shifted into tech, the hiring process didn’t surprise me but for the wrong reason. All I learned was software engineers put…
Re: Caltech's CS interview prep course
#209My career path in tech so far has been junior engineer -> mid level -> senior -> tech lead. As I've progressed through that path, I have had literally no opportunities of applying the stuff I've learnt on HackerRank, save for a couple of interviews. At this point I'm convinced that the focus of those interviews was entirely wrong. Once you pass those tests and get hired, you will be dealing with tons of legacy code r…
I'm always open to hearing about ideas to improve my interviewing, but I find that threads like this are repetitive and not really actionable.
One common misconception I keep seeing is the idea that the interview result revolves around solving the question. IMHO, that's a bad approach (which is unfortunately taken by many interviewers) and in fact it's an incomplete way of assessing candidates, given that most big tech companies have a list of competencies and/or values that are supposed to be evaluated. Big tech companies usually want interviewers to assess on multiple dimensions, ranging from communication quality to specialization fit.
As an interviewer, you're supposed to think of the question as a vehicle to go over these topics, not a pass/fail end goal in and of itself. In my interviews, I pace my hints with the goal of having the candidate complete the question, even if it means dictating answers to unblock them. There's nothing worse that sitting there wasting time feeling smug when the candidate gets stuck on something. Time is short, so it's much better to move on quickly to different topics than linger on something unproductive.
If you're on the interviewer side, my number one advice would be this: question the calibration of the question bank. It's usually a kitchen sink of everything the person writing it could think of, without regards for time. You might already feel that you don't have time to cover everything that the question is supposed to cover, let alone all the non technical criteria that leadership asks for. So instead, cover a few actual technical concepts (syntax, recursion, what have you) to rule out complete incompetence, and then take liberties to go into topics that do cover a wider variety of aspects. For example, discussions about testing, refactoring or debugging can all be productive ways to spend time in a coding interview.
Re: Caltech's CS interview prep course
#210Earlier quoted context omitted.
I really think you nailed it, will have to borrow this point in the future. A lot of it is about gauging the candidates aptitude, and of course their willingness to put in the work. It's like those kids in math class that say, "I'm never going to use this in real life."
Those kids are right. School math is mainly an attrition machine. Most students, including in STEM fields, look forward to forgetting all of their school math on graduation day. The math that engineers need is baked into their high level software. Most engineering teams have a "math person" who handles any higher math related problems that crop up. I'm one of those people at my workplace. I was a college math major,…
This is only true if you’re working in a mature business with stable usage patterns. Even then, using lower level APIs can be easier and more flexible.