4 ms·
Agree. I used to be against the technical interview process, but now I wholeheartedly believe in every facet of it (Leetcode, book knowledge, project based beha
by fridif 5y ago
Agree. I used to be against the technical interview process, but now I wholeheartedly believe in every facet of it (Leetcode, book knowledge, project based behavioral questions, system design).
The quicker everyone learns these important concepts, non of which are taught in school or in bootcamps, the quicker one gets to be productive in programming.
- andrew_ 5y agoleetcode/hackerrank is the worst thing to happen to tech interviews this decade.
- fridif 5y agoExplain your reasoning, and I will explain mine. While some of the leetcode questions have tedious edge cases and ambiguous logic, there is no doubt in my mind that lists, trees, arrays, queues, maps, graphs, sorting, binary searching, and memoization are crucial for being an amazing programmer
- andrew_ 5y agoIf you truly believe that the measure of amazing programmer is churning out bullshit exercises on a timed call, I can only state that I'm thankful we don't work together. It's incredibly audacious gate-keeping and I'd dare say, discriminatory. It ignores disabilities, social adjustment conditions, etc that wouldn't impact daily work. I know too many incredible engineers that don't think in the way that those timed exercises require, and these folks are wildly talented and wildly successful.
- fridif 5y agoI do agree with you that the system blocks more people than it should. Personally, I think there should be many more apprenticeships than there are currently. There are many technical roles that can be fulfilled by people of all backgrounds. But, for the most serious roles, there needs to be skill scrutiny and performance under pressure. Think of the difference between a performing artist and a music teacher. Both are vital roles and have related but distinct skill sets. The performing artist must have everything drilled and ready to go on stage, much like a heart surgeon shouldn't be doing research on the operating table.
- andrew_ 5y agoAre we going to ask a symphonic performer to produce scales during an interview, a heart surgeon to suture a laceration? We would not, it would be insulting for a myriad of reasons.
- fridif 5y agoIf a symphonic performer can't run through some scales, or a doctor cant suture a laceration, I would say that is indicative of a major problem. If you owned a restaurant, would you hire a hostess that couldn't operate a telephone, or a cook that couldn't turn on a stove? Similarly I wouldn't hire a programmer that could not turn an array into a linked list.
- andrew_ 5y agoTo quote my original comment: > I can only state that I'm thankful we don't work together I truly pity the folks that have to interview with you.
- confidantlake 5y agoThe vast majority of software jobs do not need performance artist skills. Most of the pressure is deadline pressure, not "stage" pressure.
- fridif 5y agoSay that you own an auto repair facility. You have 10 mechanics who have applied, and all ten have previous experience on their resume. How would you interview them, so as to choose the best candidate the first time?
- confidantlake 5y agoI won't have a great answer since I have no experience in the area. But I would probably ask them to repair something, leave them alone and come back in 2 hours. Pick the mechanic that repaired it the best. I would not stare over their shoulder while they worked. For the music teacher I would have them record the piece, and send in the best take. I wouldn't demand they get on stage and play the piece.
- bpodgursky 5y agoI don't think you quite appreciate the volume of utterly incompetent candidates (with plausible resumes) companies get for every software dev opening. It's a deluge, and no company on earth can deal with interviewing them all. The only realistic alternative to hackerrank is to do strict university filtering, only interviewing candidates who come from ranked universities. This is obviously terrible. Hackerrank, even though it annoys you, is an ENORMOUS leveling of the playing field, giving opportunities to people who didn't have the money or connections or whatever to make it into a top CS program. If you aren't those people, you don't understand what doors it opens.
- andrew_ 5y agoI'm not sure you appreciate the volume of utterly incompetent interviewers and processes now out there. I have 20 years of experience, a sizable catalog of open source work available for browsing, and yet even at this level I'm subjected to the nonsense that is leetcode. Another beef - I have yet to see an exercise which is remotely relevant to the work being done. Shuffling arrays, regurgitating interview preparation exercises, mutating objects, all-out silly exercises like "convert this number to a roman numeral" don't measure a candidate. So where do you set the bar? This goes being annoying - leetcode exercises are pure laziness and a red flag of an inept hiring process for all but the least experienced candidates. The job market solved this problem eons ago - references, references, references. If you have none and you have no portfolio on which to measure your ability, you fall below the bar and sure, then I'll concede that some measure of basic ability is necessary. No one asks for, calls, or contacts references anymore (we do). Want to know if someone is capable? Talk to the people they've been working with. Scrutinize references for obvious softballs. If you actually care about the person you want to work with, and think you want to work with someone you respect, put a modicum of effort in. We've shifted to using tiered collaborative "projects" that we book an hour to two hours to work through with a candidate. We give them the ability to review what we'll be working on together, in detail, before the call so that they can prepare. It's also _not_ about finishing, there is no finish line, it's about collaboration, and we tell the candidates that. We've had many candidates state this was being their ability, and see themselves out. Thats FAR more respectful of a candidate than leetcode for someone who's spent 10 years delivering microservices for a profitable business. It's also far more representative of the work they'll be asked to do: - Being given a description of work - Pairing or collaborating - Stating what they do and do not know - Researching a thing I'd hire someone that failed an array shuffling algo bullshit leetcode challnge, but worked very well with a small group for an hour, and was able to deliver good answers and make progress on a task. > Hackerrank, even though it annoys you, is an ENORMOUS leveling of the playing field, giving opportunities to people who didn't have the money or connections or whatever to make it into a top CS program. I hope I've made it clear that this has nothing to do with leveling the playing field, and nothing to do with getting into CS programs. I mentioned prior that I have 20 years of experience professionally, no degree, and the last 4 people I've recommended for hire had only one prior position, were bootcamp grads (one self-taught), and are excelling in every area. They're wonderful, motivated people. What Hackerrank DOES do is shift the burden of actually caring about the people you're speaking to. If volume is an issue, the process is BROKEN.