5 ms·
Universities aren't reliably producing CS graduates that can code. If a student enters a collegiate program with some interest or experience in programming, th
by thaumaturgy 5y ago
Universities aren't reliably producing CS graduates that can code.
If a student enters a collegiate program with some interest or experience in programming, then they're likely to come out of it with solid skills and find some opportunities. If an employer has the resources to select from the best that universities have to offer, then they can find great candidates.
But for us that aren't working for FAANG, a university degree doesn't really tell us much, and certainly tells us a lot less than a portfolio of projects or work experience.
This is still fundamentally a hiring problem. There's no way to sort candidates by skill that doesn't involve a ton of labor. A CS degree sure ain't it.
- pc86 5y agoThis is the sweet spot that products like LeetCode or BinarySearch could be used to solve - people who have the academic background, and should know how to code if they're coming out of a good program, but don't have a portfolio of work to show or a catalogue of experience to draw examples and answers from for a typical interview. And all the DSA stuff that is irrelevant for 90% of dev jobs 90% of the time is still fresh in their mind. Ask them 2-3 LC easies/mediums in the language of their choice for them to prove they can actually write code, and that's really all you need. Unfortunately it somehow became "let's have a 5 hour long two-part panel interview where we ask you half a dozen LC hards and oh yeah don't google anything" as a way to hire experienced people who have a decade of work they can talk about the discuss ad nauseum.
- giantg2 5y agoNot going to lie, as soon as you mentioned LC I was disinterested. But your suggestion sounds good. A few easy/medium questions and maybe the ability to Google sounds fair. I sort of enjoy basic fizz bang code screenings.
- pc86 5y agoAnd just to be clear I'm only suggesting it for junior positions. Most of the time I think you can suss out whether someone can code by discussing their direct contributions to previous projects. If not, you can always do one LC problem. I see it as a great way to just run a sanity check that this person who graduated from Random State six months ago can actually code, and as a great way to ensure high quality very senior people refuse to go through your interview (unless you're paying FAANG wages).
- EVdotIO 5y agoI have about a decade of real professional coding experience. Not going to say I'm excellent, or near the caliber of developer FAANG are looking for, but I can write code. I can count on one finger the number of interviews I've got in the past couple years. Zilch. There is a massive disconnect from what you hear on the news, and the reality, where somebody like me is a pariah and the deafening silence of _any_ interest. This is just outsourcing 2.0, this time under the guise of a lack of qualified candidates.
- oblio 5y agoYou either have a location problem or more likely a CV/keyword problem. If you're still breathing and have more than 2-3 years of dev experience you should at least be contacted.
- pc86 5y agoWhat do you mean by "someone like me?" Your reality is not any reality I've experienced. I work for a company nobody here has heard of, working on a boring tech stack. Absolutely nothing I do day to day would make into any blog post, let alone anything on HN. I, and my ~dozen or so coworkers, get at least one cold recruiter contact a week. Obviously most of them are garbage. But we've all gotten the random contact from an Amazon or Microsoft or Facebook recruiter. The interviews are available. YC runs workatastartup.com - I submitted my resume and a two-sentence intro to 5 or 6 companies and I think I got an interview at all but one. The interview is the easy part, and if you can't even get that with a decade of programming experience, you're getting caught in some arbitrary filter. Which is to say, respectfully, you're doing something wrong because that's simply not what the market is right now. Or, you're not quite as qualified as you think you are.
- chrisseaton 5y agoI can't do LeetCode to save my life. I'm not that kind of natural Google-tier genius. But I have a relevant PhD, demonstrable industry experience leading a recognisable project, many papers, lots of experience developing juniors, influential keynotes, blog posts, etc. If you used LeetCode you wouldn't hire me. I don't know if you think that's a loss or not? But it's a data point.
- lukas099 5y agoNothing is perfect.
- pc86 5y agoAt this point in the game hiring based on LC isn't optimizing for hiring people who can code (I think that may have been the case 3-4 years ago), so we don't use it for anyone. Now it's just optimizing for people who have A) heard of LC (who cares); B) have a basic understanding of DSA (good); C) have taken the necessary 0.5-3 months to memorize the handful of patterns that show up (who cares). I can understand why companies like FAANG that get thousands of resumes use it as a filter, though. But I will say in my experience a PhD is a red flag for a developer, especially if you're highlighting your academic experience on your resume. It's just that the skills that make you successful in getting a PhD don't necessarily translate to day-to-day software development and in some cases will hinder you/the team.
- syshum 5y agoUniversities today seem to be focusing on quantity of education not quality There goal is to get as much student loan money that they can, they do not seem to care about the quality of education the students are getting This goes for all levels of universities, and all degree programs.
- idiotsecant 5y agoUniversities were never job training programs, their product has always been the right to engage in class signaling. By paying the university a pile of money you signified to potential employers (and everyone else) that you were a member of at least the upper middle class, with the financial resources (and sometimes family connections) to support making those payments of time and money. Not having that signifier was a signal that you lacked the time and money to dump into that effort, given that you had to spend so much of it surviving. It's the same human impulse that drives people to bind their feet, value bleached skin, engage in conspicuous consumption, etc. It's all an elaborate signal game designed to convince people of your social status. The problem is that we looked at that system and instead of trying to build something better we dumped more money into it in the form of student loans and expected that now more people will be given access to those class signifiers and thereby raise their social status and standard of living. In actual practice, of course, what we did was raise the bar on what qualifies as a class signifier, forcing a generation into wage slavery with little real benefit to them or to society as a whole (other than those institutions who siphon off those extra dollars and use them to metastasize extra layers of administration and management to little effect) What we need is for education to be more job skills training and less social positioning. Funding for adult education should be linked to the success rate of students leaving those programs. If you have the money to burn studying topics that will indicate to your peers how little you need the money, then great. That's apparently the way we've decided to structure things. For the rest of us though let's try to encourage study of topics that will help society work better instead of vainly trying to convince the rich kids club to let us in.
- syshum 5y agoI agree with all of that....
- giantg2 5y ago"Universities aren't reliably producing CS graduates that can code." And companies stereotype all graduates as worth nothing to them. I had a couple simple Android apps when I graduated. Even though they were simple, it would show that I could follow best practices, code, test, and deliver something. I had a decent GPA (3.5), clubs, etc. I still had a hard time finding companies that would even give me an interview. So sure, a degree doesn't mean too much (my masters has done nothing for me). But it seems companies have simply given up and are exacerbating the very problem they are creating.
- kragen 5y agoHow are you on leetcode?
- giantg2 5y agoI believe LC wasn't a thing back then, or at least not mainstream. I don't waste my time on LC now. If I get free time, I'd rather work on a personal project or hobby. Granted, I'm actually thinking of moving into some sort of corporate strategy analyst role since I don't really get to code anymore. The past 2 years has been very little coding or business problem solving. It's mostly been config, infrastructure, prod support, and meetings/paperwork. I'm tired of it. I want to solve problems and build substantial things. I assume I'm rusty when it comes to coding now.
- dcposch 5y agoI've interviewed a lot of software engineer candidates. It's always surprising how often people with impressive resumes, including computer science degrees from good-to-great universities, can't code at all. I'm not talking about trick "do you remember A* search" questions. I'm talking about the ability to write a basic program and to reason about what it will do. I've seen this across the gamut, from new grads to staff engineers. Part of this is selection bias: those folks probably apply to many companies before they slip through somewhere, so they're overrepresented as interviewees. My sense is that it's becoming more common. Undergrad CS has ever more people who are in it for reasons unrelated to enjoyment or curiosity.
- lordnacho 5y agoPlenty of people here on HN will tell you they choke in interview situations. A lot of people just aren't comfortable and it gets to them. That said there are people who really can't code, from my experience working with such folks.
- newsclues 5y agoCurrently in a Canadian college for cybersecurity and the content of the courses are being nerfed and the quality of the graduates are churning out are largely dogshit.
- trinovantes 5y agoI suppose I was once part of the problem back when I marked assignments in grad school. We're heavily incentivized to not fail students. There's virtually no difference in grades between a 10x programmer and someone who can barely code fizzbuzz in their 4th year.
- devwastaken 5y agoThis is in part due to blue politics in universities pushing for more and more genericism in education, suiciding their skill output. The other part is the companies that should be involved in education and funding educational programs simply don't care to. This is the one single way to know if the "shortage" is real: is the company willing to invest in education? The answer has been no. Fewest scholarships, fewest interns, they don't fund programs, and they treat students as cash cows. It makes sense when looking at the numbers. No use in putting money into U.S. education if they don't have to. The law allows them to import workers from elsewhere, parasiting off of their social educational programs and never having to pay a dime to them. The solution is clear, we have to make it more economically viable to invest in the U.S, and that is by removing or severely limiting the mechanisms by which tech companies employ foreign workers. Or alternatively we start actually taxing these companies.
- bigbillheck 5y ago> Universities aren't reliably producing CS graduates that can code Have they ever been?
- 8note 5y agoA cs graduate isn't somebody that can code; those are only loosely related to each other
- thaumasiotes 5y ago> There's no way to sort candidates by skill that doesn't involve a ton of labor. This is the exact concept of an IQ test. They aren't labor intensive.