5 ms·
It pains me to see another Coding Interview preparation tool. It's such a sad situation in the current industry. Students learn to game the system to get a hig
by songzme 7y ago
It pains me to see another Coding Interview preparation tool. It's such a sad situation in the current industry.
Students learn to game the system to get a high paying job. Students who care about what they are working on will painstakingly try to perfect their projects. They don't have time to game the system and therefore have a hard time getting a coveted job.
Companies want to hire "the best" so they usually hire someone who can ace the company's interview. People who can ace the company's interview are usually those who studied for it.
I recently took over a codebase from an ex-employee who went to Google. People were happy for him but I am so indignant. His code caused me hell. One production bug after another led me to eventually throw out all of his code. His code was written by somebody who did not care and his tests were useless. I'm pretty sure during his time at our company he was focused on leetcoding so he could get somewhere better. I wanted to reach out to him on LinkedIn to give him a piece of my mind hoping it may make him a more responsible engineer but I decided against it. I focused on fixing the features for the users because it was the right thing to do.
I want to work with people who care about the product they are working on. People who care about building great products are not solving coding interview problems.
- amiga_500 7y agoNow zoom back one level. Most of the jobs (not all!) are doing something pointless like increasing advertising revenue.
- Waterluvian 7y agoMaybe that's the point. Make the wall so tall and hard to climb that candidates are convinced what's on the other side must be worthwhile. I'd say 99% of the job postings FAANG recruiters email me about sound brain meltingly dull.
- Koshkin 7y agoHow’s this different from a school exam preparation tool? It won’t teach you the subject; and if it did then what’s the harm?
- songzme 7y ago"The most damaging thing you learned in school wasn't something you learned in any specific class. It was learning to get good grades." http://www.paulgraham.com/lesson.html http://www.paulgraham.com/lesson.html You shouldn't be studying to get good scores. You should be studying to learn and understand.
- collyw 7y agoGrades is what will get you into university.
- patrickthebold 7y agoIt isn't but you shouldn't use those either. Assuming you are taking classes to learn things rather then get a job.
- zozbot234 7y ago> ... His code caused me hell. One production bug after another led me to eventually throw out all of his code. His code was written by somebody who did not care and his tests were useless. ... We just need different coding interviews. Focus them on systems design, common pitfalls and 'fingertraps', good software engineering principles, etc. A "10x" software dev should definitely know her way around asymptotic O(n) analysis, she might also want to know about all sorts of exotic algorithms and data structures, but there's so much more to get educated about in this field, that could be tested for with relative ease.
- md2020 7y agoCurrently a junior in a reasonably well-regarded (and difficult) CS program, this is 100% how I feel. As a result of my genuine interest in the material being taught and desire to do well on course projects, I do not have the time or energy to be grinding Leetcode and HackerRank to the extent that I've read others do. Yet every company I apply to will not even speak to you unless you pass their brain-teaser-esque HackerRank problem, many of which are somewhat ambiguous and have typos in the problem statement. It's infuriating and seems like it only incentivizes the behavior you describe here.
- songzme 7y agoI'm sorry you feel this way. The best advice I can come up with is, either find a product space you care deeply about and see how far you can take it or swim with the wave and start preparing for coding interviews.
- md2020 7y agoInterestingly, the only places I've interviewed with that deviated from the typical SV coding challenge interview have been the national labs (JPL, LANL, Sandia, etc.). The questions they asked were much more focused on my interests as well as evaluating my general software engineering skills. I did an internship at one of them last year and it looks like I might be headed back there this summer too. Hoping I don't get locked into the national labs scene permanently.
- hermitdev 7y agoI was interviewing with a company a year ago that had their own private tests on something like hackerrank. My code met the stated requirements and all of the publicly posted test cases. But, I failed a private test for which they would give me none of 1)the input 2)the expected result and 3) outpput of the program. I would have loved to have debugged it and fixed it, but said fuck it. Ifbthis is how they are in a preinterview, not a place I want to work. So, I told them to get bent when they declined to bring me on site because I couldnt pass their test. Told the recruiter what happened, and he was like "that's fucked up". Coding challenges are one thing, but you better have precise specs and actually give the candidates enough info to work on a tractable solution.
- harikb 7y agoSometime, "good candidates" shop around for more offers. It is not always clear any greater effort would actually yield better candidates. Where I work, the entire interview process is just a filter to remove the absolute worst. Then it is a game of luck - whether we can meet the insane demand of the one we liked and whether we are just another "offer" for them to negotiate elsewhere. I think if companies are better at firing/managing mediocre employees, we wouldn't have so much bad apples trying to make their way in. Part of the problem is the scarcity of engineers. There is an entire swath of great people, by that I mean decent folks who would be great at what-we-do, entirely avoiding the field because of per-conceived notions or some stigma or the other. If there a better and bigger pool of candidates, the bad ones will naturally leave the field.
- omar_a1 7y agoTo your last point, it's actually quite hard to break into this field because of these kinds of interviews. That, and every SWE job posting having a Sr. Prefix.
- Antoninus 7y agoThis is something I've been going through for the past 2 months. The last few years I've been contracting with IGOs and VCs. Going through interview rounds with medium-large companies and some FAANG has had me purely doing algorithm problems instead of actually building or writing. But hey at least I can find the common elements between two graphs and return their values as a lowercase string. Something happened between 2012 and today where you could get by one referral and a conversation with a tech lead. Maybe it's the influx or new grads entering the field.
- AlexCoventry 7y agoWhat's IGO?
- Antoninus 7y agoIntergovernmental Organization.
- scarface74 7y agoWhy should he care about “being a good engineer” if all he has to do is reverse a binary tree on a whiteboard and make more money than he probably ever dreamed of?
- tmoertel 7y agoOn the other hand, the current interviewing trend generates a steady supply of nifty, bite-sized problems to solve for fun. I keep a "practice" repo on Github, where I put my solutions. Often, for an extra challenge, I'll prove the solutions correct or try to write clear explanations of how to solve the problems from scratch. (Proving something helps me to see the hidden structure upon which my intuition rests. Explaining something helps me to lock it in my head.) Over the years, I have learned a lot from this practice and have built up a repo that serves to keep my memory fresh. Here are some fun examples: https://github.com/tmoertel/practice/blob/master/dailycodingproblem_com/find_non_triplicate_int.py https://github.com/tmoertel/practice/blob/master/dailycoding... https://github.com/tmoertel/practice/blob/master/dailycodingproblem_com/first_missing_positive_integer.py https://github.com/tmoertel/practice/blob/master/dailycoding... https://github.com/tmoertel/practice/blob/master/water-holding-capacity/water_holding_capacity.py https://github.com/tmoertel/practice/blob/master/water-holdi... So, in at least one respect, I like the obsession with interview problems :)
- kadoban 7y agoNice. That first one is a personal favorite. Do you do "competitive programming"? You might like it. There's contests of various flavors out there to get a bunch of problems from. Random recommendation: "Looking for a Challenge", a _beautiful_ in every way book of problems. Seriously check it out. Can almost guarantee you'll love it judging from those problems you linked. Google Foobar is fun if you can get your way in. The codejam problems are nice (skip kickstarter mostly). codechef.com and codeforces.com have generally good problems (and fun contests if you're into that aspect).
- tmoertel 7y agoThanks for the great book recommendation! I just ordered a copy from a bookstore in Poland. I am eagerly awaiting its arrival. I don't really do competitive programming, but I enjoy the problems. Thanks for recommending some great new sources to check out!
- duxup 7y agoIt is the environment the industry has created. I'm terrible at code trivia type stuff. My Jr dev job I got from a company that asked me to build something for them. It wasn't big or useful, but it gave me a chance to show my thought process and there we go I got hired. Since then it has been a great ride as I fix things as I make enhancements (I try to leave wherever I work a better place) and even built an application that complements their main application (customers love it). Meanwhile some friends I talked to say they can't find good people .... but their interviews are all trees, and trivia and 'typical' interview type stuff that doesn't really demonstrate being a responsible coder, the ability to work independently, or just common sense.... Pretty sure I'm going to have to dive into that stuff if I ever decide to move on.
- paxys 7y agoWhat's the alternative? Useless behavioral interviews? Sit-down exams and outdated certifications? Agents, middlemen and other leechers? Getting hired only through connections or favors? That's how every other industry in the world works, and I am thankful that the software industry has a somewhat-sane interview process based on actual skill.
- noitsnot 7y agoI had a company give me a Wonderlic test. If the coding interview algorithm game is the standard at this point, maybe we should be thankful.
- scarface74 7y agoCrazy idea: sit someone down to an IDE and let them code. I’ve done this as an interviewer. I’ve created a fairly simple skeletal project with failing unit tests. The coding part of the interview was to make the tests pass by writing the code. It was a pair coding exercise.
- gandutraveler 7y agoI work for a FAANG and this is so true. My colleagues have through so much schooling and gaming in their careers that you hardly see anyone come up with new ideas. Working at these large tech companies feels like going back to school.
- scarface74 7y agoI want to work with people who care about the product they are working on. People who care about building great products are not solving coding interview problems. Unless you are a founder or have significant equity, why should you “care about the product you are working on” more than enough to get a paycheck? It’s naive to think that a profit seeking employer cares about you. If you got hit by a bus tomorrow, they would send flowers to your funeral and have an open req for your position before you are buried. While you may want to work with people who care about building great products, most people go to work every day for a paycheck. Why wouldn’t I optimize to play the game in a manner that increases the amount of my paycheck? That being said, I personally don’t live on the west coast, have no desire to live on the west coast, and haven’t had an algorithm style interview in over 20 years when I was applying for a job doing low level cross platform C. I did get the job and they did need someone with algorithmic knowledge.