7 ms·
Happily employed and had no trouble with coding interviews myself. So my opinion isn’t from some personal angst about passing this bar: I found it easy. That
by porcoda 4y ago
Happily employed and had no trouble with coding interviews myself. So my opinion isn’t from some personal angst about passing this bar: I found it easy.
That said: I’m tired of the attitude that there is no effective alternative to this style of interview. You do know we hired people to do engineering jobs for many decades before the industry started cargo culting what they observed a handful of Silicon Valley mega-companies doing. Plenty of very competent people were interviewed and hired before this “relive your algorithms class final on a whiteboard” style interview process became the thing to do.
These interview processes are not the only way. As I said: it’s cargo culting where insignificant companies try to act like Google or some other giant in hopes that perhaps the billions in revenue will start rolling in if they mimic them. To me this behavior is no different than “founders” who adopted dress styles and presentation mannerisms imitating Steve Jobs a decade or so ago. …And bloggers who can’t resist the “considered harmful” trope.
- Jistern 4y agoWell argued, but you didn't address the need for tests and/or certifications to prevent companies from being overwhelmed by a flood of unqualified candidates. A doctor, lawyer, public accountant, and, well, many types of engineers obtain public or private certifications. As a result, it is much, much, much easier for hiring companies to find and interview qualified candidates. I suppose, in the "old days" universities kind of, sort of, filled this role. A hiring manager looking at a resume might have said, "Oh, he's got an EE/CS from Berkeley, there's a good chance he's qualified.
- eikenberry 4y agoThat's because programming is nothing like any of those professions. How many certificates do you see for musicians, painters, photographers? Programming as at least as much an art as it is anything else and art is very hard to quantify in the types of tests that most certificate systems use. It requires a project based certificate which needs more organization that exists today. IMO it'd require a guild like setup that I don't see happening anytime soon.
- hughesjj 4y agoThe worst part is we often can't share our artistic work with future employers due to IP concerns.
- Quikinterp 4y agoWhen so much of my resume is NDA'd it really starts to feel like "I'm a great painter, I promise, I'm just not allowed to show you any art I've made"
- hughesjj 4y ago100%. On the other hand, open source culture is vastly different from proprietary culture. So many times in proprietary culture I've churned out craptastic code to meet a deadline that didn't matter for a project whose customers were straw-persons. There's definitely some projects or features I've coded which I'm glad to hide from public view. That said, artists can curate their portfolio, and unless they're presenting to a public forum, their turds won't have to see the light of day again.
- MaxBarraclough 4y agoVarious non-software engineering disciplines implement chartered engineer schemes. I imagine there's an element of artistry there too, but they seem to cope.
- eikenberry 4y agoCurious if you'd consider this Wikipedia article on the topic to be a decent representation? https://en.wikipedia.org/wiki/Chartered_Engineer_(UK) https://en.wikipedia.org/wiki/Chartered_Engineer_(UK)
- MaxBarraclough 4y agoThat's the stuff I was thinking of, yes. As a software person I don't know enough about the scheme to comment on the quality of the article, but knowing Wikipedia I imagine it's on point. edit For a broader context than just the UK, see https://en.wikipedia.org/wiki/Regulation_and_licensure_in_engineering https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...
- gautamdivgi 4y agoAgreed. That's what LC is filling these days. It's a kind of "qualification" in an unregulated industry. The doctor has the MD, the lawyer a JD, public accountant CPA, etc. There is no base minimum that a software engineer is required to have. Even tradesmen are required to be licensed which follows some certification. The other aspect I would mention is that the LC style interview has made it possible for a candidate not to bother about their relationships with their existing employer. It is not so for other professions. A doctors career can be nuked by unfavorable recommendations by their existing employer. This is what every "I don't like LC / LC is harmful" post doesn't address. - How do you certify? (and no, a profile of github projects doesn't count) - How do you make the candidate free of any obligation to his current employer? LC interviews are the symptom, not the cause.
- yieldcrv 4y agoI think everyone gets that, and are still saying go get some more inspiration. for example, go back to training people on the job. If the company really thinks they need someone that can hit the ground running they could have trained someone that demonstrated other experience far faster than the same 7 months the job opening was there for.
- erik_seaberg 4y agoBefore the Web, we were paid like accountants and job hopping was frowned on, so nobody was highly motivated to scam his way into a brief stint he wasn’t qualified for.
- hughesjj 4y agoLeetcode was created in part to be more equitable and objective. Before leetcode, we had people asking puzzles which had nothing to do with your coding abilities, like "How many balls could fit on a Boeing 747" or "If you have 9 balls, a see-saw, and one ball weighs more/less than the others, what is the minimum number of weighings to find said ball". Alma matter also used to matter a bunch more, and non-traditional schooling devs were much harder to come by. Leetcode isn't perfect, but it's better than what we had before. That said, I don't think it's the "final form" or optimal template for interviewing. What I would love to see are more constructive suggestions for objectively evaluating candidates that don't devolve into things easily bullshitable or biased. I don't think the certificate days would be much use today, given how fast frameworks change and just how many different technologies are involved with modern development.
- AstralStorm 4y agoHow many times have you been asked to solve a leetcode-like problem at work? Ever?
- Kim_Bruning 4y agoHow many times have you been asked to solve fizzbuzz at work? ;-) And yet you can probably fluently juggle for loops and if statements to your heart's content; and can figure ways to bend them to your will (and to the problems at hand). Similar goes for algorithms (the things leetcode questions ask about.) You'll probably never encounter the exact toy problems that get asked in an interview. The real world is always messy, you you need to be creative and imaginative. Knowing algorithms helps with that because you've already practiced, and have a head start in knowing what works and what not.
- throw34 4y agoMe personally, all the time. In fact, I am taking a short break from a problem that reduces to graph coloring with 2 colors. [1] If you interview with our team we will absolutely ask LC style algorithmic problems because one will definitely use that knowledge with us, a lot. The problem is not LC style interviews per se. The problem is not enough companies tailoring their interview to the role they're trying to fill. [1] https://en.wikipedia.org/wiki/Graph_coloring https://en.wikipedia.org/wiki/Graph_coloring
- mrjin 4y agoThis might actually be much worse than just looking at the academical credentials. Most if not all those tests are utterly useless, at best can only tell how familiar the candidates with the test subject but nothing else. Let the team to review the resumes and do phone screening would be much better than those tests.
- unqualifiedRat 4y agoHonestly, what we define as a flood of unqualified candidates is kind of ridiculous, nowadays it refers to anyone who didn't got to a top state school or top 1% equivalent. The reality is that there are too many qualified people at the lower end of the pipeline and this is because we don't hire enough people as it is for our current positions, why this happens is really simple. It's to save money. There's a reason why we have terms like rockstar developer and heavily advertise the idea of a developer doing 1000x work of another one, which simply put is not true. Most improvements to software and technology occur over time with experience and expertise what we see nowadays is an extremely self destructive behavior, at most top companies it results in heavy loss in expertise as most individuals will leave once their stock options can be sold. In order to maximize their profit while providing little to nothing of value to said companies. The idea we pay developers six figure salaries is inflated and has been a net negative. Resulting in inflated egos and an elitist environment which it is debatable to which provides anything of value or close to little at all. We don't really need certification programs as they're typically used to stop minorities from gaining access to fields due to barriers of entry and the fact they are systemically flawed as it results in people just chasing after their next certification as the "logical" next step instead of actually learning anything of value. Honestly, companies just need to be comfortable with hiring someone with a credible degree and taking a chance on them, it's basically the same thing as hiring with leetcode anyways according to google there is very little positive correlation. Anything else is ripe with corruption. But even this process can easily be corrupted, e.g. hiring only people from elite universities or select ones you have deals with in the area which already occurs in many places.
- 331c8c71 4y ago> Honestly, companies just need to be comfortable with hiring someone with a credible degree and taking a chance on them. I'd be all for it and I have seen some international non-profits hiring like that for junior roles. But its a hard sell for googol and the likes who 1) have excess supply of qualified candidates 2) are so used to perpetuating the narrative of absolute exclusivity among their staff.
- spacetraveler11 4y agoIs there a difference in the interview process between the US and the EU? Wherever I applied to in the EU I was almost always given a small, practical programming exercise relevant to the field I was applying for and for which I had a few days to hand in my solution (usually they were quick to solve, depending on the level of polish you would put in). In the interview itself we would then discuss the implementation and that way I got to know the team I'd be working with and they could see if we were able to discuss and explain code.
- frje1400 4y agoI'm in the EU as well and while I'm quite junior, I felt like I had lots of options during my recent job search. One company gave me a practical exercise (using Spring Boot) and since I'm not familiar with that framework there was simply no way for me to complete it in a reasonable amount of time (we didn't use Spring in the CS program at uni). I had to withdraw my application. I can't preemptively learn every framework that someone might ask you to use in these practical assignments, but I still think that I'm a fairly strong candidate (let's say top 10% of my graduating class). I ended up at a company that asked more generic (but harder) questions that I could actually answer.
- tartoran 4y agoThe company probably was using Spring Boot in their production and wanted to find someone already familiar with the frameworks they use to ensure themselves with an easier onboarding. Of course you can’t preemptively learn every framework out there but chances are that you’d find a place to use the ones you already know, especially if said framework is popular. The alternative you ended up with was a company willing to test your general reasoning and train you on their SW stack. It’s great to have variety and the problem with leetcode is that standardized testing that doesn’t really test for anything practical but for which you have to put in months of preparation.
- villmann 4y agoPutting Polish in your code would indeed considerably complicate the solution.
- jaredklewis 4y ago"There are only two kinds of languages: the ones people complain about and the ones nobody uses." -Bjarne Stroustrup And so it is with interviewing techniques. You say "[leetcode] interview processes are not the only way," which is of course true. But it is also true that all other interviewing techniques are also unpopular on HN and with programmers in general. Of course each programmer has one or more techniques that they prefer, but there is no single technique that has even simple majority support amongst engineers as a whole. Let's review some common techniques and what HN would say. NB: not expressing my opinion on any of these, just compiling common complaints you can find in any HN thread about interviewing. Leetcode problems: rewards rote memorization over real ingenuity, not relevant to job, high stress. Take home problem: company not incentivized to respect candidate's time; bias towards candidates that are unemployed, not engaged at current job, or otherwise able to devote large amounts of time to the task; easier to outsource; basically asking candidates to "work for free" Review of github profile, OS projects, blogs, etc...: bias against candidates that "have a life" and don't program 24/7. Discussion of previous work: highly subjective, susceptible to frauds and/or exaggerators, prone to false positives (complaint usually phrased in a form like: "we did this at my last company and we hired a bunch of people who couldn't code.") “I don't know what the l̶a̶n̶g̶u̶a̶g̶e̶ interview technique of the year 2̶0̶0̶0̶ 2030 will look like, but I know it will be c̶a̶l̶l̶e̶d̶ ̶F̶o̶r̶t̶r̶a̶n̶ unpopular on HN.
- thaneross 4y agoYou're missing my preferred option, pair program on a problem which requires skills relevant for the job. Have the candidate use their preferred tools, ideally their own laptop to minimize discomfort. Make the problem too large to get done within the time block but gives a variety of technical skills for the candidate to show off.
- jaredklewis 4y agoWell this one is not discussed enough in HN interviewing threads (at least that I’m aware of), so I’m not sure what the HN complaints would be. But if this method was widely adopted, I’m certain HN would hate it.
- jjav 4y ago> You do know we hired people to do engineering jobs for many decades before the industry started cargo culting what they observed a handful of Silicon Valley mega-companies doing. Very much this. I worry that those relatively new to this industry may now only have seen the leetcode-style interview disfunction madness and get the impression it's the only way. Absolutely not! It's not how it used to be, it's not how it needs to be. I was closing in on 20 years into my career before ever hearing about this type of whiteboard algorithm memorization-style interview. It's common now, but it's not really normal and shouldn't be. I for one take no part in that charade. I interview a lot of people and have never done a whiteboard algorithm dump question and never will. I don't hire people to memorize algorithms from a book and write them on whiteboards all day, so I'm not going to interview for that irrelevant skill. I'll read your resume and let's have a chat about projects you've worked on and what you'd like to work on.