4 ms·
Interviewing. I spent about 3-4 months this year working on my interviewing and competitive programming skills via LeetCode, reading The Algorithm Design Manual
by jsgoller1 8y ago
Interviewing. I spent about 3-4 months this year working on my interviewing and competitive programming skills via LeetCode, reading The Algorithm Design Manual, and taking classes at Bradfield School of CS in San Francisco. I feel like it's made a world of difference. I know Hacker News tends to hate on programming interviews, but it really pays to be good at them (and trust me, it's a learnable skill). I do agree that the algorithms-and-whiteboard method can be highly problematic, but I've come to firmly believe that the time for criticism is when you're designing the interview for a candidate, not being interviewed.
- seanmcdirmid 8y agoYou spent 3-4 months honing your interview skills, that sounds very expensive. Are you claiming that this practice made you a better programmer overall or just better at interviews? It isn’t just hackernews hating on the current way of doing programming interviews, it’s a widespread sentiment in the industry. The current way of doing interviews seems both excessive (requires 2 months of practice) and easily games (with 2 months of practice...). Who is winning from this?
- jsgoller1 8y agoBoth - my interviewing skills got better mostly from doing mock interviews and exposure to the questions that would be asked during an interview, but I'd say my programming skills got better from learning more about algorithm and data structure design, as well as carefully thinking about edge cases so as to beat the battery of test cases that each LeetCode problem has.
- seanmcdirmid 8y agoWe really have to be careful here, because many CS programs have or are planning CS courses specifically designed around LeetCode problems as a way of giving their students a leg up in the interview process. If these kinds of interviews become more widespread (and there are a lot of companies trying to copy google here), this will only intensify and possibly begin push out other CS courses with more useful content. That kind of future would be very dystopian for the field.
- scarface74 8y agoFrom a very pragmatic standpoint, the most useful courses in college are those that help you get a job.
- seanmcdirmid 8y agoTaken to an extreme that can get ridiculous (eg if colleges start teaching courses titled “fake it until you can make it”).
- scarface74 8y agoWhat’s the difference between “faking it until you make it” and “learning on the job?” I don’t think I have had a single job in 20+ years where I didn’t spend the first six months in Imposter Syndrome territory.
- seanmcdirmid 8y agoMaybe that is what the big corps think? Then why not just replace CS programs with boot camps that focus on passing the tech interview?
- scarface74 8y agoCould someone pass the LeetCode style tech interview without understanding computer science terms? For the record: I see nothing wrong with having a two year degree that spends the first year focusing on algorithms and the basics of computer science and the second year focused on a practical emphasis where graduates can hit the ground running. Whether that be embedded programming, game development, big data, web development, etc.
- seanmcdirmid 8y agoMostly, sure. They could definitely do it with just a two or three of classes from the program I went through (a first quarter theory course + the algorithms course + the data structures course). You could compress those into a couple of classes really easy. My first year also included digital logic, computer architecture, and compilers. None of that would help with LeetCode, so get rid of it. My second year in the program consisted of Programming language paradigms, operating systems, data structures, and final year advanced digital logic, advanced computer systems, and an independent capstone project...again, not relevant to LeetCode. I never bothered with the algorithms course (my plate was full, it was an elective) because LeetCode wasn't needed for interviewing back then (but most algorithms don't seem foreign to me either). This was (and still is) a top ten world-ranked CS program. You could totally master LeetCode taking only a few non-major courses and then augmenting that with math courses. Heck, you could master LeetCode by singularly focusing on mastering LeetCode in a 6 month bootcamp.
- jacques_chester 8y ago> You spent 3-4 months honing your interview skills, that sounds very expensive. Assuming a 25% pay bump, it more or less pays for itself in a year. Not counting the effect of compounding. Bumps are typically by percent, so every point you chisel out early in your career is valuable.
- seanmcdirmid 8y agoAssuming you couldn’t get that job any other way, sure. However, even most Googlers would think that is excessive (even if they did it themselves, most of them would not admit to it).
- slow_donkey 8y agoI'd also argue it's more like a 2x pay jump if you're early career. I'd love to know about companies who paid that well and didn't require leetcode
- scarface74 8y agoThe current way of doing interviews seems both excessive (requires 2 months of practice) and easily games (with 2 months of practice...). Who is winning from this? While I have never had a leetCode style interview, I’ve also far removed from Silicon Valley. That being said, if that’s what my local market required, that’s what I would do. “The [job] market can stay irrational longer than you can stay solvent”
- titanomachy 8y agoAgreed! It's definitely annoying to train something which doesn't seem particularly related to our jobs, but it's worth the effort. The career impact of becoming a better programmer or leader is tiny compared to the impact of moving to a better company. If you're a free agent and you're not interested in interviewing or working for big companies, then I would say the top skills to learn are listening/negotiation and maybe time management, unless you're already great at those things. Same advice if you're already at one of the best companies and don't need to interview :)