[HN Gopher] Caltech's CS interview prep course
       ___________________________________________________________________
        
       Caltech's CS interview prep course
        
       Author : b8
       Score  : 116 points
       Date   : 2022-02-27 20:38 UTC (2 hours ago)
        
 (HTM) web link (courses.cms.caltech.edu)
 (TXT) w3m dump (courses.cms.caltech.edu)
        
       | wsh wrote:
       | Other than the course outline, is there any substantive content
       | available?
       | 
       | I saw only a link to the first problem set, and even that
       | requires a Caltech login.
        
       | tzs wrote:
       | I'm a bit confused. The course number on the page and in the URL
       | is CS 11. But the Caltech course catalog lists CS 11 as "Computer
       | Language Lab" [1] and the description is nothing like the CS 11
       | at the submitted URL.
       | 
       | [1]
       | https://catalog.caltech.edu/current/courses/department/CS/20...
        
         | enjoyyourlife wrote:
         | It seems to change topics depending on the term
        
       | im_down_w_otp wrote:
       | Are there other major economic sectors which have circled the
       | wagons around making job applicants do remedial coursework as
       | live performance art?
        
         | darkstar999 wrote:
         | Actuary?
        
         | TrackerFF wrote:
         | I feel that it's mostly a certain part of the tech scene. FAANG
         | companies, startups, and those cargo-culting those. I've
         | actually been to dev. interviews that were 1-2 interviews long,
         | almost zero technical questions.
         | 
         | Now, those places were in now way "prestigious", or paying
         | $250k starting salaries. Just your garden variety F500
         | companies / gov. agencies / non-tech companies.
         | 
         | Also, my experience with "traditional" engineering companies
         | have been similar, 1/10th duration of tech interviews, some
         | fundamental questions related to your trade, then mostly
         | questions on personality, you experience, etc.
         | 
         | The closest I've been to tech, was finance. It's very much a
         | predictable process - you know what kind of questions you'll be
         | asked, what the next round will include, and all that...but
         | still not anywhere near the rigor of prestigious or trendy tech
         | firms.
        
         | barry-cotter wrote:
         | No. Normal economic sectors without decades long explosive
         | growth have some kind of licensing system to keep people out so
         | that insiders make more money. Merely being able to teach,
         | engineer or reason about the law taking into account precedent
         | is not sufficient to get a license for it. In some cases this
         | probably has some attached quality control implications but we
         | know education degrees have no effect on teacher
         | effectiveness[1] so there's at least one case where that's pure
         | rent seeking, where the insiders benefit and everyone else
         | pays.
         | 
         | [1] It's easier to pick a good teacher than to train one:
         | Familiar and new results on the correlates of teacher
         | effectiveness
         | https://www.sciencedirect.com/science/article/abs/pii/S02727...
        
           | mattkrause wrote:
           | I wonder how many "engineering" jobs actually require PE.
           | 
           | Biotech is an another counterexample to this: there's no
           | licensing requirement (though many jobs do require a masters
           | or PhD) and the interviews also (mostly) aren't quiz show
           | lunacy. You usually talk about your past work and answer
           | questions about how you'd approach new problems; no one makes
           | you (say) sketch crystal structures on the board or recite
           | the Krebs Cycle.
        
             | barry-cotter wrote:
             | You can get into software engineering completely self
             | taught or after a (3-12 month) boot camp. If biotech was
             | that open they'd have similar interviews checking for basic
             | familiarity with the field. Must have a Master's at minimum
             | is very different from must pass an interview as a minimum
             | hiring filter.
        
         | zizee wrote:
         | 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 and game the system
         | (wittingly or otherwise).
         | 
         | IMO this is a good thing. It allows people from all walks of
         | life to get into the industry, and has helped it to grow more
         | rapidly. But it does introduce a big issue, that its very
         | difficult to know if someone is an expert, or just trying to
         | fool you (and perhaps themselves) into thinking they know what
         | they are talking about.
        
           | SmellTheGlove wrote:
           | 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 up with similar bullshit to lawyers!
           | 
           | All that said I don't know how to fix any of it easily. Maybe
           | no one else does either, and so here we remain.
        
         | porcoda wrote:
         | I've noticed that people here paint the whole industry with a
         | broad brush that reflects what a handful of giant companies and
         | companies imitating them do. I've been on both sides of the
         | interviewing table at a few places and it's never been the
         | whiteboarding dystopia that everyone talks about here. The last
         | job I took had a long interview process, and at the end of the
         | day someone spoke up and said "oh yeah, we probably should ask
         | you some code question", which I blew since I was exhausted and
         | it was an obscure C++ thing. They laughed it off and I still
         | work there.
         | 
         | HN is a poor barometer for the broader tech industry -
         | everything from hiring practices, tech choices, etc. HN has a
         | tendency to make it sound like all the world acts and smells
         | like a giant tech company or a startup. There are a TON of
         | companies that are not like those.
        
       | neonate wrote:
       | https://archive.is/njEHH
        
         | axpy906 wrote:
         | Thanks could not get main site to load. This should be at top.
        
       | BurningFrog wrote:
       | Idea: Professional CS interviewers!
       | 
       | I'm a good programmer, but not a good interviewer. That makes me
       | pretty typical.
       | 
       | I could spend a lot of time getting better at it, but I would
       | only marginally improve, and it would take time out of the work
       | I'm actually good at.
       | 
       | This feels like a typical problem for division of labor to solve.
       | 
       | Maybe it's already done in done form?
        
         | avl999 wrote:
         | You would not "marginally improve", you would dramatically
         | improve. That's the dirty secret of these interviews they are
         | not that hard to get good at. There are at most a little over
         | half a dozen data structures and about a dozen algorithmic
         | technique patterns that show up in these interviews, once you
         | do enough of those types of problem, you get better at it.
         | 
         | I am willing to bet that spending an hour every day on leetcode
         | you can probably be good enough to pass interviews at most
         | companies in a month or two (assuming you had exposure to DS
         | and Algorithms in college, if not add more time but the general
         | idea applies). Maybe not Google but I would bet you'd be good
         | enough to see double digit increasing in your onsite -> offer
         | conversion percentage. Whether that would be worth it is a
         | different question, the answer for many people who already have
         | good jobs is no.
        
       | Apocryphon wrote:
       | Tech interview discussions always seem to run the same course and
       | hit the same points, so I'll repeat one of mine:
       | 
       | What's wrong with the idea of turning the standard Leetcode
       | algorithms interview into a license that only needs to be
       | completed once, or maybe once every 5-8 years, similar to what
       | physicians must undergo? Much more efficient than having to
       | retake it with _every single company_ during an interview cycle.
        
         | barry-cotter wrote:
         | > What's wrong with the idea of turning the standard Leetcode
         | algorithms interview into a license that only needs to be
         | completed once, or maybe once every 5-8 years, similar to what
         | physicians must undergo?
         | 
         | How far from this is the A level in Computer Science[1] which
         | should take at minimum 20 weeks full time study for the target
         | 16-18 age group? Or the EdX MicroMaster's in Data Structures
         | and Algorithms[2]? If any one of the FAANG companies said "Get
         | this qualification and we guarantee you an interview" that
         | would already be massive, never mind skipping one or two steps
         | of the interview process.
         | 
         | [1] https://www.ocr.org.uk/Images/170844-specification-
         | accredite...
         | 
         | The content of this A Level in Computer Science is divided into
         | three components: * Computer systems component (01) contains
         | the majority of the content of the specification and is
         | assessed in a written paper recalling knowledge and
         | understanding. * Algorithms and programming component (02)
         | relates principally to problem solving skills needed by
         | learners to apply the knowledge and understanding encountered
         | in Component 01. * Programming project component (03 or 04) is
         | a practical portfolio based assessment with a task that is
         | chosen by the teacher or learner and is produced in an
         | appropriate programming language of the learner's or teacher's
         | choice.
         | 
         | [2] https://www.edx.org/micromasters/ucsandiegox-algorithms-
         | and-...
        
           | aiisjustanif wrote:
           | For the non-UK folk you might have to explain A-levels. But
           | your question it's valid.
           | 
           | > How far from this is the A level in Computer Science[1]? Or
           | the EdX MicroMaster's in Data Structures and Algorithms[2]?
           | 
           | Pretty far from being standardized and the key point of the
           | previous comment you replied to is re-licensing.
           | 
           | > If any one of the FAANG companies said "Get this
           | qualification and we guarantee you an interview" that would
           | already be massive, never mind skipping one or two steps of
           | the interview process.
           | 
           | Is it? Network engineers are required to keep up
           | certifications for jobs in the US (CCNP or rarely CCDE). So
           | do Security Engineers/Professionals, Auditors, Cloud
           | engineers/architects/consultants. Government employees or
           | contractors require them for assurance. It's not that massive
           | of a shift imo.
        
         | interview_anon wrote:
        
         | giantg2 wrote:
         | I'd say cert, not license. I don't think anyone should _have
         | to_ pass a LeetCode exam to professionally code. But otherwise
         | a good idea.
        
           | Apocryphon wrote:
           | Sure, I'm using them interchangeably to mean an "officially-
           | decided standard that allows you to not have to retake the
           | same interview at every company." Whether that standard is
           | created by some sort of industry consortium, the IEEE or ACM,
           | CS academia, or some combination thereof, is left as an
           | exercise to the discourse.
        
         | mherdeg wrote:
         | Is this the Triplebyte model?
        
           | Apocryphon wrote:
           | I thought Triplebyte just allows candidates to skip the tech
           | screen step, the on-site can and does still include algo/ds
           | questions depending on the interviewing company.
        
             | closeparen wrote:
             | That's more the way employers treat Triplebyte in practice,
             | and it is probably how they would treat any similar
             | attempt.
        
         | qiskit wrote:
         | One way to bypass these interview tests is networking. If you
         | are recommended by someone or get an interview through someone,
         | you generally won't be given these tests. After my first job
         | out of college, I've never had to do these types of interviews
         | as I got my next jobs via former co-workers who moved onto
         | other companies and personally recruited me to their new
         | company.
         | 
         | I'm not sure if licensing will work. We already have
         | "licensing" via Microsoft/etc certificates. And my experience
         | is that we test these people with certificates even harder
         | because of the poor reputation of these certificates.
        
         | closeparen wrote:
         | "The standard" belies a lot of variation. Some interviewers
         | want perfect code the first time on a whiteboard, some let you
         | go back and forth with a compiler as much as you wish. Some
         | interviews stick to relatively shallow algorithms knowledge
         | like DFS, others will ask you two LC Hard questions in an hour.
         | Sometimes it's about whether you solved the problem, sometimes
         | it's about your thinking and collaboration during even a failed
         | attempt. There are too many opinions and too little hard
         | evidence to sort them out. It's a challenging coordination
         | problem.
        
           | Apocryphon wrote:
           | You're completely right, and this actually is another layer
           | to the whiteboarding technical interviews are broken
           | narrative: there are no objective standards, even if there is
           | huge overlap in the content being interviewed from company to
           | company (or even team to team). A very discouraging aspect
           | about these interviews is that the rubric is completely
           | hidden away from candidates and feedback is almost never
           | provided. At least a licensure or certification test would be
           | more transparent.
        
             | majormajor wrote:
             | There are no objective standards for the _output_ of the
             | software development process. It 's a unique mishmash of
             | building the blueprints and the final artifact at the same
             | time. Not because we _want_ to be a bunch of cowboys, but
             | because the unique ability of it _to be_ that flexible, and
             | to be patched over time, means speed is possible in a way
             | it just isn 't in other fields, and the market has rewarded
             | companies that move fast.
             | 
             | So until that's changed, I find it hard to see how we could
             | standardize developer hiring. My coworkers and I all wear a
             | different amount of hats with varying competence. The
             | number and variation of certs required would be rough! "I'm
             | level 4 backend engineer with level 3 data design
             | [streaming level 1, traditional ETL level 7], level 1 hacky
             | frontend dev, and level 2 devops" - sheesh, now I'm
             | spending my whole time keeping those up to date.
        
               | Apocryphon wrote:
               | You are talking about the nitty-gritty aspects of actual
               | software engineering. I'm talking about doing away with
               | the redundancy of having to retake the industry-wide
               | Leetcode fizzbuzz portion instead of passing it once.
        
               | majormajor wrote:
               | I'm asking that since the job itself is wildly
               | unstandardized, how on earth are we supposed to
               | standardize a single "industry-wide" credential for
               | interviews?
               | 
               | There's no "industry-wide Leetcode fizzbuzz portion" -
               | Leetcode and fizzbuzz are famously on complete opposite
               | sides of the whiteboard spectrum! I've only been asked
               | actual fizzbuzz once, and can't immediately think of any
               | other duplicate whiteboard problems I've seen either.
               | Many of them aren't ones I've seen on Leetcode, and would
               | probably be on the "easy" scale there if they were there.
               | 
               | I couldn't pick out any single problem that would make
               | everyone at all my last few jobs happy, let alone the
               | whole rest of the industry.
        
         | 10000truths wrote:
         | Why would you _want_ a license? The whole allure of software
         | development is in its accessibility, that it 's easy to get
         | started with nothing more than a laptop and an Internet
         | connection. Putting up artificial barriers to entry is anathema
         | to that. What you'll end up with, in practice, is one of two
         | outcomes:
         | 
         | 1. A race to the bottom where licenses become easier and easier
         | to get, until it becomes no more a demonstration of competence
         | than drivers' licenses are to one's driving skills.
         | 
         | 2. Protectionist policies make licenses mandated and difficult
         | to obtain, then the talent pool and innovation moves to places
         | that don't require that license.
        
           | Apocryphon wrote:
           | By license I mean the current Leetcode interview process
           | except you do it once and are good for at least five years.
           | Obviously when candidates are interviewed there would still
           | be technical questions asked, but perhaps those would be more
           | domain-specific. The whole point is to avoid the redundancy
           | of the existing interview process.
        
             | ryandrake wrote:
             | Yea, think of it less as a "government issued license
             | allowing you to do software" and more of a certificate that
             | says "I recently passed a level $LEVEL leetcode grind, you
             | only need to test me for specialized skills or for a level
             | greater than $LEVEL." If it actually worked and couldn't be
             | gamed/cheated (good luck with that), it could reduce
             | interviews to a simple check of domain knowledge not
             | covered by the certificate.
        
             | naiwenwt wrote:
             | > By license I mean the current Leetcode interview process
             | except you do it once and are good for at least five years
             | 
             | Some companies do seem to be offering something similar to
             | this, see CodeSignal's general coding assessment or back
             | when TripleByte was big a few years ago. I think the
             | problem is that even within the specialized topic of LC
             | style interviews, many companies don't agree on a similar
             | strategy when it comes to types of questions and
             | difficulty. There isn't one standard that every company
             | agrees on, so most have their own flavor of it.
        
         | singron wrote:
         | An equivalent idea is to hire anyone who has worked at any
         | well-known company with similarly rigorous interviews.
         | 
         | But people from those places still perform really poorly in
         | interviews at about the same rate as everyone else. I wish I
         | knew if it was a fluke that they bombed this time or that they
         | passed the original.
        
           | ip26 wrote:
           | More likely is that any company big enough to have a
           | reputation is also big enough to have strong & weak
           | departments, and it can be hard to tell which the candidate
           | is from.
        
         | honksillet wrote:
         | As someone who is licensed in a different field, awful idea.
         | 
         | Each state tends to have their own (often quite different)
         | license requirements. They tend to be expensive to get and need
         | to be renewed frequently (more $$$). There are usually other
         | hoops you have to jump through to get both license and
         | relicensed. I would never wish licensure on my own profession.
        
           | cutenewt wrote:
           | I agree on the downsides, but I believe licensing is a good
           | forcing function to get others to 1) gain knowledge and 2)
           | standardize training for a base level of competence.
        
         | gaoshan wrote:
         | I don't necessarily want someone with great algorithm test
         | taking skills... such a cert would be of relatively minor value
         | to me. A single data point out of many and not one with
         | especially great weight. I want someone that can build stuff on
         | time, using the tools our team uses, within budget and do all
         | of this while being a collaborative, reasonable, not unpleasant
         | person to work with.
        
           | Apocryphon wrote:
           | Sure, and perhaps that means you're currently already not
           | asking algorithm questions in your interviews. Meaning
           | candidates grousing about Leetcode wouldn't have similar
           | grievances interviewing with your company.
        
         | shahbaby wrote:
         | Reminder, our field isn't regulated.
         | 
         | Anyone can go online and learn enough to be useful at a high
         | paying entry level job.
         | 
         | At some point there has to be a filter and that's what these
         | interviews are for.
        
           | Apocryphon wrote:
           | The kind of license I'm suggesting doesn't change any of
           | that. It would literally be formalizing the existing Leetcode
           | process so it doesn't have to be retaken many times.
        
           | ip26 wrote:
           | The curse of a field which is both competitive yet difficult
           | to measure. A meritocracy where your true status is opaque.
        
           | bluedino wrote:
           | The trick is proving to an employer what you know. Hard to
           | get a resume past HR when you've worked in other industries
           | and learned all your coding online.
        
         | shagie wrote:
         | We tried that once.
         | 
         | https://ncees.org/engineering/pe/software/
         | 
         | But nobody was interested.
         | 
         | https://ncees.org/ncees-discontinuing-pe-software-engineerin...
         | 
         | ---
         | 
         | I've interviewed software developers who have on their resume
         | "Oracle Java 8 certified", but aren't able to name three
         | different spots where the static keyword appears in Java or the
         | situations where they'd be used.
         | 
         | There are certainly many possible reasons why someone wouldn't
         | retain that knowledge, but I've encountered far too many
         | candidates claiming mid or senior level experience with
         | "enhanced" resumes and certifications from everywhere that are
         | not able to satisfactory do more than follow instructions (e.g.
         | not able to determine steps needed to complete tasks nor able
         | to solve the larger problems and break them down into tasks).
         | 
         | So, with the resume and certifications not things that I have
         | confidence in, asking those questions to try to figure out if
         | the person is able to approach solving a novel problem is what
         | gets asked. If other companies do the same, then that candidate
         | will likely see similar lines of questions in each place.
        
           | Apocryphon wrote:
           | It's interesting how this mirrors the Computer Science GRE
           | subject test being discontinued.
        
           | SeanLuke wrote:
           | This is a test on software engineering, not computer science.
        
             | shagie wrote:
             | I would contend that it makes it _more_ applicable to the
             | general  "what do you do professionally" for most people
             | outside of academia.
        
         | someelephant wrote:
         | For a lot of space-cadet interviewers this would work well.
         | They just want the right answer and aren't thinking about how
         | easy it would be to work on a team with these people.
        
       | TLadd wrote:
       | Last time I interviewed, I thought about how it probably would
       | have benefitted me to take one less class a semester in college
       | and just drill leetcode-style questions in that time. Given how
       | almost all "prestigious" companies use these problems heavily for
       | interviewing, it's likely to increase earnings more than any
       | other course.
       | 
       | I think what caltech is doing here makes a lot of sense and
       | demonstrates an awareness of the realities of interviewing at
       | companies a lot of their students will want to work at. College
       | is also a better time to build up this skill than later when
       | other responsibilities tend to pile up.
        
       | Veserv wrote:
       | For context, this is a CS11 class which is a catch-all small form
       | factor elective (3 units, average class is 9 units, units are
       | supposed to be that many hours per week) that is used to offer a
       | dozen or so small topics that are not extensive enough to warrant
       | a full class. In any given term they will usually offer various
       | CS11s for learning new programming languages and a few other
       | random topics with some being run by grad or undergrad students.
        
       | ozzythecat wrote:
       | Interviewing 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 they going to do? Quit? Ha! If they quit, they have to
       | leave the country. So most of them just suck it up. Many of them
       | had spouses and children. Quitting Amazon meant they'd have to
       | uproot their entire family.
       | 
       | A second order effect the entire industry on how to work around
       | Amazon (and other big tech's) styling of interviewing. What
       | amazes me are all the Youtube channels from Amazon engineers and
       | other big tech companies with this "influencer" persona.
       | 
       | At the end of the day, many of these kids at Amazon are doing
       | shitty migration projects, shoveling legacy code around all day,
       | and dealing with on-call hell.
       | 
       | But we have this entire cult of working in big tech and going
       | through all these gymnastics to get through pointless interviews.
       | 
       | Perhaps Google, Netflix, etc. are much better places to work, but
       | it boggles my mind anyone would invest so much energy in getting
       | a job at Amazon. It's absolutely a shit place to work that
       | doesn't treat people like human beings.
        
         | almost_usual wrote:
         | I've never worked at Amazon but this seems to be a common theme
         | with interview candidates who work there. They talk about to
         | burnout and stressful on-calls shifts. I'm not sure how this
         | unfolds for Amazon in the long run.
        
       | johnnyo wrote:
       | Any way to access the assignments without a Caltech login?
        
       | relyks wrote:
       | I understand part of the point of posting this is to demonstrate
       | the problems with the educational system for CS majors and the
       | hiring practices of the industry, but what is the actual point of
       | sharing it here if the resources aren't open for all of us?
        
       | avl999 wrote:
       | This is absolutely embarrassing for the industry.
        
         | VirusNewbie wrote:
         | Why is it not embarrassing for Caltech's admission department
         | and algorithms courses?
        
           | someelephant wrote:
           | I'd argue it's pragmatic
        
           | avl999 wrote:
           | I agree it is embarrassing for Caltech as well. They are one
           | of the biggest engineering schools in North America not
           | Greendale Community College, this kind of class is beneath
           | them. No major research university should be offering a
           | course like this.
        
       | mkl95 wrote:
       | 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 riddled with dumb
       | queries, questionable code quality, and very often the wrong
       | stack for the problem at hand.
       | 
       | I'd be OK with modern interviews if they reflected the job you
       | will be doing to a reasonable degree. But knowing the state of
       | the industry I feel that they fall somewhere between gatekeeping
       | and a bait & switch scheme.
       | 
       | If you haven't spent enough time practising those problems, you
       | will look like an idiot. If you have spent enough time practising
       | them, your expectations will be high, and you will feel scammed
       | when you read the steaming shit your new employer wants you to
       | improve.
        
         | giantg2 wrote:
         | I went to an internal job interview about 5 years into working
         | for the company. They were asking me all sorts of textbook
         | questions about defining stuff like polymorphism and explaining
         | some sort algorithms. I bombed. Many of these terms and
         | algorithms had never been used during my 5 years, and I forgot
         | many since they hadn't been used since college.
         | 
         | I wanted to ask the interviewer if they actually use these
         | terms in meetings or used the algorithms, but I didn't. Since
         | it was internal, I already knew the answers would be that they
         | didn't, and I didn't want to appear confrontational.
         | 
         | I was internal, a high performer on my team at the time, and
         | you're going to ask me this useless stuff?
        
         | dionidium wrote:
         | 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
         | learned to perform complex tasks on a whiteboard in a stressful
         | environment? That's an intelligence test.
         | 
         | In combination, these criteria measure the famed, "smart and
         | gets thing done" in a way that more practical lines of
         | questioning might not. Or at least that's the theory.
         | 
         | For the record, I've only interviewed at one FAANG company, got
         | to the on-site interviews, did not get an offer (in case you
         | think I'm secretly patting myself on the back here).
        
           | syspec wrote:
           | 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."
        
         | monkeybutton wrote:
         | At least have empathy for your predecessors! How often have you
         | chosen an architecture and stack to solve a problem only have
         | the slow but constant shifting sands of managements'
         | requirements completely undermine the foundation of what you've
         | built, and been given no extra time to migrate and make it
         | right instead of adding on another layer of shortsighted hacks?
        
         | ramraj07 wrote:
         | 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 coding challenges might not reflect
         | the actual work you do, they might still be predictive of
         | success in the job, as much as any other method can be when we
         | look for unbiased markers.
         | 
         | This is similar to how the entrance exams to the IITs in india
         | are pretty much completely discordant to what you actually end
         | up having to know, the rigor and preparation you need to do
         | ends up reasonably selecting for well performing students
         | anyway. Not perfect though. Any system can be gamed but it
         | works alright.
        
           | gwbas1c wrote:
           | > What's your suggested alternative?
           | 
           | I generally give (mostly) simple questions where I explain
           | how to solve them. Assuming you're a competent programmer in
           | the language we're dealing with, you should be able to figure
           | out how to solve the problem in your head in a minute or two.
           | The trick is that I'm gauging accumulated skill, not
           | memorized algorithms.
           | 
           | For example, I'll explain how to use a data reader, explain
           | the constructor for a simple object, and provide a SQL
           | statement. Then you need to write the code that reads a few
           | values from the data reader and constructs and object. After
           | that we discuss edge cases and error handling, and if you
           | should throw an exception or return null. Easy-peasy! (And if
           | it's not easy-peasy, you really shouldn't be here.)
           | 
           | Another example: I'll explain an older API for running a
           | lambda in a background thread, and then an API for running a
           | lambda in the main (UI) thread. (Mac, Windows, iOS, and
           | Android all have the same threading model for their UI.)
           | Easy-peasy if you understand basic scoping and threading.
           | (And if it's not easy-peasy, you shouldn't be working in any
           | job where you have to deal with threads.)
           | 
           | In both cases, the candidate can ask any many questions as
           | they want, and I'll happily steer a candidate.
           | 
           | The point is, I'm not relying on memorized algorithms, or
           | requiring prep. What I'm doing is relying on, and judging
           | accumulated skill. Only a novice will have trouble with my
           | questions; and I wouldn't use these questions when hiring
           | interns or entry-level engineers. If you've programmed with a
           | database before, you should understand the basic concept of a
           | data reader. If you've programmed for awhile, you should
           | understand scope. And, if you've programmed with threads, you
           | should understand running a lambda on another thread. (You
           | probably should understand lambdas, too.)
        
           | game_the0ry wrote:
           | > 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 programming or debugging sessions, it
           | stresses the hell out of some folks and penalizes them
           | unfairly.
           | 
           | So does leetcode. And a candidate that is truly a good fit
           | for the role would be more at ease with the interview than if
           | they saw a leetcode question they haven't seen before.
           | 
           | > Take home tests penalizes people with families and other
           | responsibilities...
           | 
           | So does studying for leetcode for hours.
           | 
           | > ...and probably has a racial bias as well in countries
           | where different races have different societal loads.
           | 
           | Share some sources before making a claim this ridiculous.
           | 
           | > In the end, even if these coding challenges might not
           | reflect the actual work you do, they might still be
           | predictive of success in the job, as much as any other method
           | can be when we look for unbiased markers.
           | 
           | In my 6-ish years of experience, this is false. I have
           | actually tested this theory in practice, and through my
           | anecdotal experience, leetcode is a poor signal for job
           | performance.
           | 
           | I can usually usually accurately screen a candidate for
           | success in about 45 mins. And, unlike leetcode, you can't
           | pretend like you haven't seen the question before, bc I can
           | push the candidate to their limit, which is where you will
           | find hire / no-hire signals. I love talking about this stuff,
           | but I find that my peers engineering peers do not give a shit
           | and would prefer to stay in leetcode hell.
        
           | synthos wrote:
           | grinding leetcode is just as bad, if not worse, than a take-
           | home test
        
             | majormajor wrote:
             | Perhaps not everyone has to grind it so much. (I would
             | wager they're the same people who do regularly find
             | themselves thinking about computational and space
             | complexity, and about using different datastructures and
             | algorithms for problems, vs the ones who never see reason
             | to!)
             | 
             | A take home test requires spending free time for everyone.
             | A whiteboard interview requires variable amounts of free
             | time. I would wager that, on average, the people _inside_
             | companies using these processes require less time to
             | "grind leetcode" than the people _outside_ those companies
             | do.
             | 
             | You gotta be able to convince the folks on the inside, not
             | the ones on the outside. To them, it being hard to "grind"
             | might even seem like a good thing! "It's hard to cram for
             | this compared to other sorts of tests!"
        
           | mkl95 wrote:
           | Take home OR coding challenges is a false dichotomy.
           | 
           | > In the end, even if these coding challenges might not
           | reflect the actual work you do, they might still be
           | predictive of success in the job
           | 
           | They are snake oil. You cannot predict success at some job by
           | asking candidates to prove their ability at something that is
           | only tangentially related to the actual job.
        
             | barry-cotter wrote:
             | General mental ability is general, that's the point.
             | 
             | > The Validity and Utility of Selection Methods in
             | Personnel Psychology: Practical and Theoretical
             | Implications of 100 Years of Research Findings
             | 
             | > On the basis of meta-analytic findings, this paper
             | presents the validity of 31 procedures for predicting job
             | performance and the validity of paired combinations of
             | general mental ability (GMA) and the 29 other selection
             | procedures. Similar analyses are presented for 16
             | predictors of performance in job training programs.
             | Overall, the two combinations with the highest multivariate
             | validity and utility for predicting job performance were
             | GMA plus an integrity test (mean validity of .78) and GMA
             | plus a structured interview (mean validity of .76). Similar
             | results were obtained for these two combinations in the
             | prediction of performance in job training programs. A
             | further advantage of these two combinations is that they
             | can be used for both entry level hiring and selection of
             | experienced job applicants. The practical utility
             | implications of these summary findings are substantial. The
             | implications of these research findings for the development
             | of theories of job performance are discussed.
        
               | cutenewt wrote:
               | Do you have any insights on what kind of "integrity test"
               | they used?
        
               | mkl95 wrote:
               | > General mental ability is general, that's the point
               | 
               | I've seen PhDs melt under pressure at two different jobs.
               | Which tells me that an exceptional IQ or work ethic
               | doesn't necessarily equate with success in the industry.
               | Those two people had something in common, and it was
               | their poor communication skills, both input and output.
               | If your brain cannot process some coworkers feedback
               | efficiently and it cannot spit out feedback efficiently,
               | the logical / mathematical side of your brain is not
               | going to make up for it.
        
           | rmbyrro wrote:
           | > they might still be predictive of success in the job
           | 
           | Basing an assumption out of thin air like this, we can throw
           | the opposite argument: 'they might be predictive of _failure_
           | in the job '.
           | 
           | Writers of bad code and choices mentioned by OP were likely
           | hired out of a fantastic hacker rank score, and yet failed to
           | produce good output.
        
         | samstave wrote:
         | The next big tech interview craze, I have long thought:
         | 
         | Here is a fucked up environment.
         | 
         | Here are logins for each role.
         | 
         | Here is your team.
         | 
         | Here is your role.
         | 
         | Each of you has a chance at each role. There are three of you.
         | So three challenges.
         | 
         | The environment is experiencing the following symptoms.
         | Diagnose, report, fix.
         | 
         | ---
         | 
         | Then throw them at some broken stack with admin rights and
         | figure why its broken and fix it.
         | 
         | Create various stack models to throw at teams based on team
         | skill-set.
         | 
         | Never hire individuals. Hire strong individuals who can work in
         | a team.
        
         | dmkirwan wrote:
         | 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 technical
         | ability in an interview, but that's not the whole picture for
         | an engineer. They need to be able to take feedback well and
         | provide good mentorship also. I think we miss this.
         | 
         | Inspired by some realistic interviews that I did recently, I've
         | been working on something[1] that aims to equip companies to
         | hire engineers using realistic assessment methods. It scales
         | like Hackerrank, but I think it's fairer.
         | 
         | [1] https://devscreen.io/
        
         | WalterBright wrote:
         | > I have had literally no opportunities of applying the stuff
         | I've learnt on HackerRank
         | 
         | I have. Many times.
        
           | game_the0ry wrote:
           | Yes, the opportunities are possible, but exceptional.
           | 
           | For the most part, you will be wiring crud APIs or trying to
           | figure out why your button is misaligned by 12 pixels. Those
           | problems also pay better too, bc those are business problems.
           | The hackerrank problems have mostly been solved.
           | 
           | Think about that - you think Ed Dijkstra or Tony Hoare ever
           | made more than a facebook swe?
        
           | mkl95 wrote:
           | If you are THE Walter Bright, I have no doubt you have.
           | Respect
        
         | adam_arthur wrote:
         | The whole psychology around tech interviews tends not to be
         | focused on the right things. At least in the general sense, a
         | lot of it appears to be people copying others without
         | understanding the motivations.
         | 
         | The theory of interviewing should be to ask questions that are
         | as predictive as possible e.g. success on the interview
         | correlates as closely as possible with success on the job. The
         | strengths needed will vary greatly by the role, company, and so
         | on.
         | 
         | But what you tend to see is, everybody has a handful of "pet"
         | questions that they ask over and over, without applying strict
         | rationale for why its predictive to success.
         | 
         | Personally, any good interview question must both be iterative
         | and highly correlated with actual work. Questions that have one
         | "trick" and judging on that basis is a poor interview.
         | Questions that focus on data structures or algorithms that
         | aren't going to be relatively common are also poor. Questions
         | which lack real world applications, also poor.
         | 
         | At least for me, I have a handful of questions, but one of my
         | basic ones is to implement a certain data structure. And
         | honestly, I care more about seeing the naive solution than the
         | highly optimized one... because I care first and foremost that
         | the candidate can code proficiently. The naive solution is
         | super easy and requires little theoretical strength... but it
         | becomes very obvious how proficient of a coder they are by
         | seeing them write out the solution. How quickly can they write
         | it? Do they make syntax errors? How long to grasp the intention
         | of the question?
         | 
         | Some write the solution in 5 minutes, some take 40 minutes.
         | That gap alone is probably the most strong predictor.
         | 
         | There is a more theoretically optimal solution, but I just
         | followup at the end and we'll talk through what it could be.
         | But if somebody can hammer out a naive solution with good code
         | quality, quickly I weight that about 90%.
         | 
         | But my company also needs strong coders over particularly
         | theoretical people. One of my best coworkers bombed on a tree
         | interview questions I asked... but I could tell from all the
         | supplemental details that he was very strong.
        
         | game_the0ry wrote:
         | Bingo.
         | 
         | It should be telling that there are a number of, usually for-
         | profit, resources for prepping for just the interview process:
         | 
         | * leetcode
         | 
         | * Cracking the Coding Interview
         | 
         | * Elements of Programing Interviews
         | 
         | * Interview Kickstart, which costs like $5500, is a bootcamp
         | just for passing interviews
         | 
         | * educative.io
         | 
         | * algoexpert.io
         | 
         | That being said, I might just play along with the DS / Algo
         | interview game. Having an interview process that is
         | artificially arduous and way outside the expectations of the
         | job duties means that the job market will stay artificially
         | inflated on the demand side. Hiring leetcode monkeys who can
         | barely deploy and manage k8s cluster on AWS means the demand
         | for my skills will be more valuable than if the interview
         | process actually worked. I can complain all day to my bosses
         | about how hard it is to hire (its not that hard) and meanwhile
         | rip their HR budget to shreds when I threaten to leave unless I
         | get paid more (I've done that before, I recently got a
         | promotion and 50% raise on base alone).
         | 
         | So yeah, I'll gatekeep as long as others play too. I hate the
         | game, but I will play it to my advantage.
        
           | majormajor wrote:
           | What is that supposed to be telling? There are a quite a few
           | industries where there are profitable neighbor industries
           | around breaking in to it. Even ones with licensing and blah
           | blah blah instead of whiteboards.
           | 
           | Hell, the cynics would call the entire current university
           | system one! And if not that, than it least the massive
           | industries around _getting into_ better schools...
        
           | mkl95 wrote:
           | > I can complain all day to my bosses about how hard it is to
           | hire (its not that hard) and meanwhile rip their HR budget to
           | shreds when I threaten to leave unless I get paid more (I've
           | done that before, I recently got a promotion and 50% raise on
           | base alone).
           | 
           | Kudos for that. I may be making a similar move soon.
        
           | forum_ghost wrote:
        
       | fermentation wrote:
       | Sometime around my Junior year of college my goals shifted from
       | "I'm here because I want to learn" to "I'm here because I want a
       | job". I was surprised to find that doing well at learning
       | (getting As) not only wasn't good enough for an entry level job,
       | it wasn't even really correlated. The more time I spent on
       | coursework the less time I had to grind through interview
       | questions. I wonder if there are any other industries like this.
        
         | jmchuster wrote:
         | I was also CS undergrad. I see it more as a choice between
         | industry or academia. Junior year i also had to make that
         | decision. For industry, that then meant getting into
         | internships, which then translated into job offers. You needed
         | a minimum level of grades, say, 3.0, and needed to have classes
         | on your transcript that looked more like industry software
         | engineering, say, operating systems, databases, design.
         | Companies cared more about clubs, extracurriculars, side
         | projects, and of course you needed to be able to pass your
         | interview questions.
         | 
         | While, if i was going for grad school instead, then i'd need a
         | 4.0, start taking grad school classes, start talking with
         | professors, try to get a job as a research assistant, try to
         | find a professor that i could latch onto and start working
         | with. And that was a path i had considered at some point, when
         | i really did enjoy taking hard classes, going in deep, and
         | pushing the edges of my learning.
        
         | analog31 wrote:
         | Symphonic musician. The first stage is nailing a blind
         | audition, perfectly.
        
           | fortran77 wrote:
           | Not anymore! Blind auditions are now a thing of the past:
           | 
           | https://www.nytimes.com/2020/07/16/arts/music/blind-
           | audition...
           | 
           | However, since you can't choose your parents or where you
           | were born, there's little you can do to prepare for the
           | Diversity, Inclusion, and Equity goals. (I could probably get
           | a lift by changing my religion. People with the exact same
           | ethnicity and appearance as me but of a different faith are
           | considered "people of color" by most DEI committees)
           | 
           | I started out wanting a career in music but quickly switched
           | to a math major. While I still perform at amateur recitals,
           | I'm glad I didn't try to prusue a professional career.
        
             | beepbeepnewnew wrote:
             | Even though blind auditions are less and less, I do want to
             | add to analog's point that orchestras don't care about
             | anything except for how well you can nail a huge group of
             | assorted excerpts and whether or not you suffer from
             | anxiety that may affect your performance. Plenty of great
             | musicians just never get a job because they get a lot of
             | anxiety or don't have the patience to practice the same 12
             | measures of music for 12 years hoping that the audition
             | they takes asks them for that.
             | 
             | Orchestra excerpts are just leetcode for musicians, and
             | just as lacking in testing the real qualities of good
             | workers, artists, and people.
        
             | madengr wrote:
        
             | gjm11 wrote:
             | That article is behind the NYT paywall but the bit of it I
             | could see appears to be saying _not_ that
             | 
             | > blind auditions are now a thing of the past
             | 
             | but that they _should become_ a thing of the past, so that
             | orchestras can ensure that their makeup (race, gender,
             | etc.) matches that of  "the communities they serve".
             | 
             | There's a big difference between "one person writing in the
             | New York Times thinks orchestras should stop doing blind
             | auditions" and "blind auditions are now a thing of the
             | past".
        
               | shagie wrote:
               | Unlocked -
               | https://www.nytimes.com/2020/07/16/arts/music/blind-
               | audition...
        
               | fortran77 wrote:
               | It is already happening. For example:
               | https://www.nationalreview.com/2021/09/buffalo-
               | philharmonic-...
        
       | turbinerneiter wrote:
       | No clue if this is even remotely true, but here is what I think:
       | the most successful companies can basically pick and chose from a
       | really large set of applicants. Given this luxury, the can, in
       | essence, filter by any kind of metric they want and still get
       | loads of suitable people.
       | 
       | I short: if you have a million applications you can sort by GPA
       | and still have a hundred people to chose from. Sorting by GPA
       | means you will overlook lots of raw talent, but who cares, there
       | is still enough real talent in your funnel as well.
       | 
       | For me, someone hiring for a way smaller and poorer company, this
       | is actually good. These processes overlook lots of great people,
       | which we can snag up.
       | 
       | This observation is based on the behavior of big companies in
       | Germany (think carmakers and similar), not sure how well it
       | translates to the silicon valley situation, but seems similar.
        
         | xiii1408 wrote:
         | Yeah, I'd say this is exactly what's going on at big tech
         | companies. Add to that the need for an interview process that
         | is very standardized for (1) scalability in a large company and
         | (2) legal protection against discrimination (at least
         | nominally), and it makes a load of sense.
        
       | wombat-man wrote:
       | I feel that the interview format heavily already favors new grads
       | who just spent an entire year or more focused on algorithms
       | courses and learning a lot of the theory you might get pop
       | quizzed on.
        
       | [deleted]
        
       | amznbyebyebye wrote:
       | So wait you are smart enough to get into caltech, smart enough to
       | graduate with a degree in CS. And yet the curriculum on its own
       | does not do a good job enough on its own to prepare you for
       | getting a job? Very hard to graduate with a decent GPA in CS at
       | caltech and not be able to thrive as an entry level engineer. If
       | you got B's in caltech CS I'd make you an offer for 200k+ without
       | blinking or even asking you anything.
       | 
       | I have a small friend circle, I would say they're all smarter
       | than I am on raw problem solving and intellect capability. They
       | came out with better degrees from better institutions. All have
       | PhDs and yet they're all facing delays when landing a job. There
       | is something definitely broken. I think the industry has created
       | this problem and the industry should fix it.
        
         | VirusNewbie wrote:
         | Its possible that this is another sign interviewing for
         | software jobs is broken, but it is equally possible that this
         | shows the skills required to excel in high school and be
         | accepted to college are easily gamed and Cal Tech isn't exactly
         | filled with the most intelligent problem solvers.
        
         | kolbe wrote:
         | This is probably because interview questions are more often
         | than not just brainteasers stacked on top of into-level
         | content. Much in the same way that juniors in high school
         | taking Calculus still need to study for SAT math: it's not
         | really consistent with measuring the content of advanced
         | courses at top places.
        
         | ZephyrBlu wrote:
         | > _If you got B's in caltech CS I'd make you an offer for 200k+
         | without blinking or even asking you anything_
         | 
         | Why? This is not necessarily a good signal for competence on
         | the job and also doesn't cover people who have lied or cheated.
         | 
         | Also, this wouldn't help create a less broken job market. You'd
         | just be breaking it in a different way.
        
         | NERD_ALERT wrote:
         | Computer Science is not Software Engineering. A PhD does not
         | translate to real world engineering skills. If you just go
         | through a bachelors CS curriculum, designed to give a survey of
         | all topics in academic computer science, that wouldn't make you
         | a competent engineer. This is especially true now that through
         | the internet, just about anyone with a laptop can get as good
         | as they want at software engineering without ever stepping foot
         | in an academic institution. Sites like Free Code Camp, Kaggle
         | etc. have torn down all of the barriers preventing anyone from
         | learning how to be an incredible engineer. Some of the most
         | important software in industry is open source and anyone can
         | take the time to learn how to contribute to it.
         | 
         | If I had the choice between a Caltech grad who had all A's and
         | no experience or a student from some random state school who
         | had interned every summer and contributed to open source, I'd
         | pick the latter. Many people are locked out from ever attending
         | elite schools in the first place despite competence due to
         | coming from poor backgrounds and underfunded highschool
         | districts.
        
           | closeparen wrote:
           | That's a fair point but the kind of interview this course is
           | preparing you for is a CS test, not a practical software
           | engineering test.
        
             | SteveDR wrote:
             | Yes but the interviews are primarily used to screen
             | candidates for SWE roles
        
           | Firmwarrior wrote:
           | > If I had the choice between a Caltech grad who had all A's
           | and no experience or a student from some random state school
           | who had interned every summer and contributed to open source,
           | I'd pick the latter.
           | 
           | I really wish someone had explained this to me while I was in
           | college.. I had ONE professor who'd actually worked in the
           | real world who explained it, but all the other professors
           | were lifetime academics who just parroted the same idiotic
           | stuff about how important it is to get good grades.
           | 
           | Getting my first engineering job after I graduated was a
           | nightmare.. I ended up having to go with a crappy internship
           | that barely paid enough for me to live in a bedroom in a
           | shared house, with a terrible boss who constantly threatened
           | me and stressed me out. And that's with a 3.8 GPA.. When I
           | told prospective employers that, they were like "What is
           | that? Out of 4? 5? Is that good?"
        
             | mettamage wrote:
             | A lot of talent is wasted by young people doing their
             | utmost best at uni only to find out that no one cared. I
             | applied to FAANG after graduating CS and no one got back to
             | me.
             | 
             | A friend of mine in the HFT world told me "I know how hard
             | some of your courses were. But you can't highlight them on
             | your cv because no one will believe you that they were that
             | hard. And even if they did, they wouldn't believe that
             | those skills are transferable."
             | 
             | Going to yet another job interview, I spoke to my
             | interviewer who had a similar CS specalization but from
             | another uni. He told me "my master was of baaad quality." I
             | responded with: "mine wasn't, and my classmates all feel
             | the same because we've learned practical skills and our
             | teachers prided themselves in giving difficult yet
             | practical courses." He looked at me with disbelief.
        
         | gcheong wrote:
         | The industry recreates the problem every so often with
         | different variants. Previously it was the Microsoft/Google
         | "thought problems" such as "Why are manhole covers round?" and
         | "How would you estimate the number of gas stations in a city?".
        
           | onion2k wrote:
           | Thet change when they realise the current method doesn't
           | actually work. They're not recreating the problem; they're
           | looking for a solution.
        
         | ivanamies wrote:
         | >If you got B's in caltech CS I'd make you an offer for 200k+
         | without blinking or even asking you anything.
         | 
         | thanks, it means a lot you trust my ability so much :)
         | 
         | >All have PhDs and yet they're all facing delays when landing a
         | job. There is something definitely broken.
         | 
         | Everyone agrees it's the leetcode interview format. I agree to
         | some extent, but I wouldn't throw it out completely. For me, I
         | give four problems, and the candidate must solve two of the
         | four with full internet access in an hour. It seriously reduces
         | interview day variation for good candidates. If they can't do
         | graphs but can do text formatting, they get a pass. I'm sure
         | there's still some better way of doing this.
        
         | majormajor wrote:
         | Here we see what the alternative to whiteboard interviews:
         | credentialism. Get into the right school and muddle through and
         | get a guaranteed 200k!
         | 
         | Is there more to you than your high school performance? Push
         | back against this if so!
         | 
         | (Calling the interview Leetcode is misleading IME, since I've
         | rarely been asked something that would be near the upper tiers
         | of that site's difficulty).
         | 
         | Top-tier tech companies face a LOT more competitive pressure
         | than top-tier universities; why should I trust the university
         | selection process more than those corporate hiring ones?
         | 
         | Ask yourself why the rest of the industry isn't happy to simply
         | hire every B student from CalTech/Stanford/MIT/Ivies without an
         | interview?
        
           | yodsanklai wrote:
           | > why should I trust the university selection process more
           | than those corporate hiring ones?
           | 
           | I don't know the US education system enough, but there are
           | some schools out there which are _much more_ selective than
           | any SWE interview process. You can be guaranteed that the
           | worst student from these top schools could nail any algorithm
           | interview with minimal preparation.
           | 
           | But these big companies hire many more people than these few
           | schools can provide, and they do so globally, from countries
           | that may not have such elite schools.
        
             | SteveDR wrote:
             | > You can be guaranteed that the worst student from these
             | top schools could nail any algorithm interview with minimal
             | preparation.
             | 
             | Considering that CalTech offers this course, they must be
             | realllyyyy misguided, or you're talking about schools that
             | are far more selective than CalTech (7% acceptance rate).
        
             | majormajor wrote:
             | Needing to hire more than just the top schools graduate is
             | certainly a reason companies can't limit themselves to
             | university selection processes.
             | 
             | But that's not all that's going on here! CalTech is pretty
             | selective as far as US schools go (6% acceptance rate).
             | Slightly more than MIT, slightly less than Stanford. SAT
             | score stats all in the same 1500+ range.
             | 
             | But they're offering this course, and that makes me think
             | that no, the worst student from these schools _in the US,
             | at least_ cannot nail any algorithm interview with minimal
             | prep!
             | 
             | And that makes sense, from a US perspective! Getting into
             | CalTech or Stanford or MIT is about doing well at _high
             | school /early-college level material_ in high school, and
             | about extracurricular activities, with a dash of being able
             | to afford it and being told it's something you should try
             | for. Most of that high school curriculum - even most
             | college-level CS material - isn't super applicable to a
             | software engineering job. It's heavier on memorization (we
             | have google for that!) and it's heavier on theory than on
             | creative application of things.
             | 
             | I might argue that any test or course where the answers to
             | the exams come straight out of the textbook isn't worth as
             | much as it used to be, since we've got Google and SO and
             | all the books too!
             | 
             | That's a big part of why a lot of these whiteboard
             | interviews aren't simply "write out Dijkstra's algorithm"
             | (boring, textbook!) but are about seeing if you can figure
             | out how to use apply CS in a situation where the way the
             | problem maps to the algorithm isn't immediately obvious.
             | 
             | Creative work has a long history of not aligning well with
             | traditional US university admissions criteria and
             | evaluations.
        
           | [deleted]
        
         | giantg2 wrote:
         | "So wait you are smart enough to get into caltech, smart enough
         | to graduate with a degree in CS. And yet the curriculum on its
         | own does not do a good job enough on its own to prepare you for
         | getting a job?"
         | 
         | This was my first thought too. A course just for passing
         | interviews seems odd. We had two small activities that were
         | part of a business course (business administration minor), but
         | after hours. One was a mock interview to give you feedback
         | about professional appearance, not fidgeting, etc. The second
         | was a mock business dinner to provide feedback about etiquette,
         | customs, etc. These were valuable, but they focused on soft
         | skills that aren't covered in the regular course content.
        
       | dvt wrote:
       | If you don't think modern interviewing practices are a problem,
       | this should be proof enough. Not only do we have an entire
       | programming book sub-genre dedicated to this nonsense, but now
       | we're also wasting class time on memorizing sorting algorithms.
       | Fantastic.
       | 
       | Of course, we're going to see the inevitable arguments that "40%
       | of the people I interview lie on resumes" or "I interviewed this
       | guy once, and he couldn't even write one line of code"--let me
       | pre-empt that by saying if you ever get to that stage, your
       | screening process must absolutely suck and it's still your fault.
       | I've interviewed dozens of people and never had that experience,
       | because I check OSS contributions, professional history,
       | published material, and ask for code samples before I even engage
       | with a candidate in a technical discussion. It's not rocket
       | science.
       | 
       | I've told at least 5 or 6 companies that wanted to white-board me
       | to suck it. It's honestly insulting that I'm forced to white-
       | board when I have two books with my name on them (published by
       | Apress), contributions to Golang (small commits, but they still
       | got me in the AUTHORS file), and OSS projects with hundreds of
       | stars on GitHub.
        
         | ignoramous wrote:
         | > _Not only do we have an entire programming book sub-genre
         | dedicated to this nonsense..._
         | 
         | Mate, wake up: ~billion dollar "interview prep" start-ups are a
         | thing.
        
           | giantg2 wrote:
           | Sell shovels to the miners instead of mining for gold
           | yourself.
        
         | interview_anon wrote:
        
         | santiagobasulto wrote:
         | I agree with you; the whole interview process is broken.
         | 
         | But looking at the bright sight, teaching young people how to
         | "work the system" is not a bad thing. Again, we should fix
         | interview. But in the meantime, a class specializes on "how to
         | beat the man", looks like a fun class where you can learn more
         | than just CS.
        
         | barry-cotter wrote:
         | > I've interviewed dozens of people and never had that
         | experience, because I check OSS contributions, professional
         | history, and ask for code samples before I even engage with a
         | candidate in a technical discussion.
         | 
         | How are you supposed to hire 50,000 people a year with a
         | process like that? It seems unlikely there are much more than
         | 100,000 people with significant OSS contributions in total.
         | Published material isn't going to be much more than that if it
         | b even gets that high. And most people who are good at
         | programming will have nothing for either. If you're not going
         | to spend at least ten, more likely 20 hours calling up
         | references your going to be fishing from a pretty narrow pool
         | there.
        
           | dvt wrote:
           | > How are you supposed to hire 50,000 people a year with a
           | process like that?
           | 
           | This is a straw-man. What company has to hire 50,000
           | engineers a year? Facebook has (in total) ~10,000 engineers
           | (hired over a decade+). Someone has nothing published and no
           | OSS? Great, ask for code samples and the candidate to walk
           | you through the code. It's completely trivial to fix the
           | busted status quo, but people are invested in this nonsense--
           | there are entire companies that serve at the white-board
           | interviewing altar (Triplebyte, Coderbyte, Hackerrank,
           | Leetcode, Turing, Toptal).
        
             | barry-cotter wrote:
             | If it is completely trivial to fix the busted status quo
             | you should be able to make a great deal of money doing so.
             | Those companies you named exist to get people hired. If you
             | have an alternative system that works you will be fishing
             | from a different pool of candidates. That didn't work for
             | starfighter.io. If you can make it work for you you'll get
             | very rich.
        
               | Apocryphon wrote:
               | Did any company even take Starfighter seriously? The
               | companies the previous comment mentioned are at least
               | used in industry. Even Google or ex-Google employees have
               | gotten into this with Byteboard:
               | 
               | https://techcrunch.com/2022/01/26/byteboard-nabs-5m-seed-
               | to-...
        
             | jmchuster wrote:
             | It's pretty simple to get a rough estimate of how many
             | people you need to hire a year. You take your engineering
             | count, say ~10,000, how long engineers stay at each
             | company, say 4 years, and you come out to 2,500 engineers
             | you need to hire every year, assuming you don't need to
             | grow, to maintain the status quo. So then you take a larger
             | company like google, with ~100,000 engineers, and they'll
             | need to hire at least 25,000 engineers a year.
        
             | lhorie wrote:
             | I think the more important overarching point is that most
             | candidates aren't prolific github people like you, and
             | likewise most companies are not going to cater their
             | interviewing practices to woo your preferred flavor of
             | interview style.
             | 
             | Most candidates don't have code samples laying around (e.g.
             | they only write proprietary code for work), so asking for
             | some is a non-starter in a lot of cases.
             | 
             | Another point worth of reflecting, your accomplishments in
             | OSS say nothing of interviewing expertise, they are
             | completely different skillsets. Companies may not hire in
             | the order of 50k people a year, but interviewer calibration
             | in a large org is absolutely a problem that isn't easily
             | solved by just following the opinion of some random 6-digit
             | salary SWE.
             | 
             | As someone who's interviewed in the order of a few hundred
             | senior SWEs, I think there are good and bad ways to go
             | about any interview format, including leetcode-style.
             | 
             | Complaining about how companies don't just throw away their
             | interview practices in favor of [insert pet format here]
             | doesn't really help, since it isn't really actionable.
             | 
             | We talk about the perils of full software rewrites, I think
             | similar concerns exist for hiring as well.
        
         | pthread_t wrote:
         | > OSS projects with hundreds of stars on GitHub
         | 
         | I'm in the same boat, yet most companies don't seem to care
         | about OSS contributions, despite their rhetoric.
         | 
         | They want us to solve a few leetcode medium/hard questions
         | within the span of an interview.
        
         | tuckerman wrote:
         | The class is being taught in the Computer Science department,
         | not the software engineering or programming department. I think
         | the bigger issue is the conflation of CS and SWE.
         | 
         | To your point about how you interview, unless there is an
         | alternative I would never be able to apply to your company. I
         | have no open source contributions or code samples to share and
         | no interest in writing a book. I also have no interest in
         | applying to places with take home exams where the company gets
         | me to spend time interviewing without a commensurate investment
         | of time on their part.
         | 
         | Where does that leave us? I guess it's not ideal but, at least
         | for me, the current process seems like it's at least a local
         | maximum.
        
           | pthread_t wrote:
           | > without a commensurate investment of time on their part
           | 
           | Doesn't grinding LeetCode apply here as well?
        
         | paradygm wrote:
         | > I've told at least 5 or 6 companies that wanted to white-
         | board me to suck it. It's honestly insulting that I'm forced to
         | white-board when I have two books with my name on them
         | (published by Apress), contributions to Golang (small commits,
         | but they still got me in the AUTHORS file), and OSS projects
         | with hundreds of stars on GitHub
         | 
         | That is all commendable but none of that tells me if I can work
         | with you. When I interview candidates I use whiteboarding as a
         | collaborative opportunity to see how the interviewee thinks. I
         | treat it as a similar experience when I am the one being
         | interviewed, which is why I have never understood the hostility
         | toward whiteboarding. How else in the limited window of time
         | that is the interview can I learn as much about the people I
         | would be working with?
        
           | literallyWTF wrote:
           | This is the dumbest excuse for white boarding/l33t code that
           | isn't even applied in real life.
           | 
           | You can be the most pleasant person who's articulating their
           | thoughts in simple and easy to understand ways and if you
           | don't solve the bullshit problem in o(-1) time you'll get
           | rejected.
        
           | pthread_t wrote:
           | > a collaborative opportunity to see how the interviewee
           | thinks.
           | 
           | In principle, this sounds great. In reality, if the
           | interviewee fails to come up with the correct/optimal
           | solution for the duration of the interview, they are going to
           | be rejected.
        
           | gedy wrote:
           | > I have never understood the hostility toward whiteboarding
           | 
           | Maybe you haven't been blown off and treated like an idiot by
           | some interviewer when you couldn't answer their pet question?
           | Even when you're more experienced and skilled than they were?
        
         | carabiner wrote:
         | Do you think companies would make more money if they altered
         | their interview practices? Or is this way of interviewing
         | somehow morally wrong ("insulting")?
        
         | Swizec wrote:
         | The problem with looking at OSS and publications is that this
         | penalizes a lot of people with real lives outside of work.
         | Especially problematic if you're into equitable hiring
         | processes aiming to hire people who aren't in their 20's
         | anymore.
         | 
         | Looking at past work penalizes people who primarily have
         | experience in large systems where their work is NDA'd,
         | impossible to understand without a loooot of background, or
         | simply unshareable for any number of reasons. Also really bad
         | for new entrants into the industry. They don't have past work.
         | 
         | The take-home exam penalizes people who have lives.
         | 
         | The "do smol thing together so we can talk about it" interview
         | penalizes people with performance anxiety.
         | 
         | There is no silver bullet. But if I'd have to choose, I'd pick
         | the least bad typical interview approach that judges everyone
         | based on their performance on a small job-relevant task. At
         | least you avoid a lot of bias.
         | 
         | source: I've interviewed over 100 engineers over the past 18
         | months as we scaled the engineering org roughly 3x. I honestly
         | don't even look at candidates' resumes anymore (this is after
         | initial screens have been made) because it always leads to
         | bias.
        
           | pthread_t wrote:
           | > The "do smol thing together so we can talk about it"
           | interview penalizes people with performance anxiety.
           | 
           | Does this apply to the Leetcode style interviews?
        
             | Swizec wrote:
             | If they're any good.
             | 
             | But really, it depends what people think of when they say
             | "Leetcode style interview". There's a lot of coding
             | interviews that superficially look like stupid leetcode,
             | but the job really does benefit from that.
             | 
             | A basic example: I ask you to model some toy problem as a
             | state machine. Is that a stupid leetcode challenge? Maybe.
             | But many if not most complex UI interactions really are
             | state machines and if you're the kind of person who
             | intuitively thinks in state machines, you're going to write
             | more maintainable code.
             | 
             | My personal blind spot is that thinking in graphs is
             | difficult for me. I just fail to see _"Oh, this is a graph
             | problem!"_. A lot of times the code I write would be much
             | easier to maintain and write had I realized I'm solving a
             | graph problem. Better performance too.
             | 
             | edit: if you mean the performance anxiety party, yes.
             | Several research papers have shown that anxiety induced by
             | the interview context impacts people's performance.
        
       ___________________________________________________________________
       (page generated 2022-02-27 23:00 UTC)