Why can't 99% of computer science graduates actually program?

I work in the industry, doing networking admin/sys admin stuff, so it's not actually something I personally have to do nor are expected to do, but it's a huge problem when we try to hire people for programming related jobs and it turns out that the vast majority of applicants can't program whatsoever. We've gotten to the point where we don't even look at applications that are fresh graduates because nearly none of them can actually do the stuff they supposedly went to school to learn. Conducted an interview with a fresh standford graduate and he took 25 minutes to write a simple fizzbuzz program.

Apparently, this is an issue that plagues the entire industry and not just my company, so what gives? Why are so many computer science graduates so completely incompetent?

Other urls found in this thread:

blog.codinghorror.com/why-cant-programmers-program/
theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/
blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/
twitter.com/SFWRedditImages

Someone once showed me this article but it's still a mystery to me why all these computer science grads are so dumb:
blog.codinghorror.com/why-cant-programmers-program/

CS is not a programming degree.
Hire off of coding bootcamps if you want nothing more.

I agree, though. Getting a CS degree should imply that you can program

Well at least at my school, people payed me to do their homework for them. Don't know why they didn't just learn it. But I made good money. I can assure you plenty of students in my year and the other years passed without knowing a real thing. For tests the just cram memorized the answers to chapters in the textbook and passed knowing those.

People BS their way for longer than should be allowed. They might be so good at BSing they have convinced themselves they are good at it.

Alternately they might not really be as bad as you think. You may have 10+ years of good experience clouding your memory of how bad you really were back then.

Another equally valid option is that the really good ones actually get taken out of the job pool very quickly.

We don't want code monkeys, but we expect that people who went to school for computer science can do what that entails, and understand the theory behind it.

So most comp science guys just get by with rout memorization?

>So most comp science guys just get by with rout memorization?
Depends on the school. Some have better testing than others, but that doesn't last very long because soon all the Women drop out and they look sexist, so they then make the tests easier so that they look more tolerant.

I don't think it's the first option. These guys can't even do basic tasks. The job we're hiring also entails some basic networking knowledge, and these guys claim they know tons about networking but can't even say one basic difference between TCP and UDP, which any A+ certified goof can. They also can't do literally ANY simple programming tasks in the interviews, like the aforementioned fizzbuzz test that 90% of these guys fail

I think it might be that we're only seeing the guys who can't find a job. Competent people don't stay on the market long..

Don't they have to actually do some sort of project before they graduate though? Like code a program from scratch or something? I thought getting a degree involved furthering human knowledge at the end. Or am I thinking of something else?

For her final project, one girl literally wrote a python script gave your astrology reading of the day using small list of pre-scripted predictions. It barely worked, and she graduated.

competent devs should really be paid a lot more. like, 200K+

That sounds like something you'd ask someone to do in their first week of class...

No wonder why comp science grads are so stupid...

competent devs should be paid exactly as much as the labor market decides they are worth

commie

Heh, reminds me of this chick that compared mongodb's use of Lucene indexes to Oracle 12c's

She didn't even know what full text indexes were and why her test was full retard.

To be fair, there were plenty of really shitty capstone projects that were by men.

it's because of commie regulations that are pushing wages down, commie.

theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/

I say compare because she was benchmarking them by throwing them full text based queries. Lmao

Yeah that's your problem

Comp Sci student here.
Can confirm 75% of CS students are totally useless and fail to code the simplest of things. Profs are more worried about making CS attractive than teaching well

Given some of the JUST shit I've seen this is true.

One professor at my school got in trouble for basically failing 80% of the class so they don't fix the fact that basically 80% of the student body can't do it.

The super incompetent ones end up switching to some meme IT/Business hybrid shit degree.

My school has this CIT meme degree where some actual fucking retards (loud speech, drool, and everything you would expect from a literal tard) graduated from.

ex Comp Sci student here.
Most CS students are garbage because Profs are terrible themselves. I learned more about programming and algorithms self-studying once I dropped out than I ever did at uni.

Sounds about right.
Hoping Machine Organization drops the turds this semester so I can feel like my peers actually give half a fuck about the field enough to hang on.
Also many Unis are teaching high level and neglect the basics that syntax anal languages (C) really nail into your head

To be honest, just talk to the professors.

Even if the class is shit, usually they will be there for further knowledge. He'll try an independent study and evade the whole shitty classes altogether.

Must be a ton of crap schools or the recent degradation due to massive political correctness.

I remember around 15 years ago at community college in a class that started with html and moved in to java(since at the time java was trying to do website app plugin stuff) and when the java section hit I was the last person in the class.

This. A lot of the time they have no choice but to do things in a way prescribed by the school, if you're bright and intrested they will be happy to some extra work with you. People become professors because they like to help people learn, not because they want to facilitate diploma mills.

Machine organization.... Is that. O lmao the MIPS one. Jesus. The turds will probably shit through that class. It's super easy unless you start getting into the more obnoxious hardware designs and features.

Probably. I didn't have the luxury of going to a decent school because of money problems.

>Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education.
I don't know about regulated, but there are tons of certifications software engineers can get. An apprenticeship is replaced by a shitty unpaid internship and continuing education is almost a must if you plan to remain employable as technology standards change.

3/10 the author is a retard.

Dropping seems a bit extreme. But I can vouch for what this guy says. CS students suck at anything beyond passing classes.

I'm a senior and trying to get any student active is like pulling fucking teeth. The smart ones don't participate in extra work because no one rivals them and the dumb ones wont put in the time.

It really is more of an issue with the curriculum then anything in my opinion. It emphasizes a culture of puff. I know professors who would rather pass a student who did nothing all semester than force them to take the class again. However, the material covered requires so little effort that anyone who can write two papers a semester can pass theory classes.

The gatekeepers at my university are Theory of Computation and Compiler. The obvious reason for compiler is because 50% of your grade is dependent on creating a compiler. However, you wouldn't believe the amount of females I've seem get male students to basically write all programs for them throughout the whole undergraduate period.

My point is: 99% of graduates suck. Hire the ones with active github and research activity.

Because Computer Science isn't 'programming' and nor is a Computer Science degree a preparation for a programming job.

im an aerospace engineer and i program since the CS majors at my school are shit at programming.

Becoming proficient at programming requires you to actually spend some of your free time applying what you learned, by actually programming. Most people do not do this because they have no real interest in the field.

They can't even write a compiler of they were given the knowledge of shit like flex+bison or some other PEG or EBNF tool?

What the fuck. At my school they just made us write a lexer for our compiler class.

Based on what I have seen in universities, the situation is as follows:

1- Universities no longer fail students, instead try to push them along.
2- Students are NOT taught how to solve problems in programming courses any more. Instead, they are taught to copy/paste answers.
3- Students who fail programming... take it again and again till they pass. They do not change course to non-IT.

So you have a bunch of CS/IT grads who are taught to copy/paste, and may have failed to learn even that. They are asked to solve unique problems which cannot be solved by copy/pasting, and they fail.

i see a lot of people whining about girls doing that sort of thing, but honestly, when i see people do that it makes me think that they are management material or something similar

if their skillset is getting people to do work for them, then put them in the field they "studied" in, but instead of coding, having them be the manager on a team, since they've obviously been spending years getting people to do work for them already

>This one guy I interviewed with a Stanford diploma couldn't fizzbuzz! LITERALLY 99% ALL GRADS!

Your story is fake, and your sweeping generalizations are silly. I assure you Google/Zuckerberg/ApLEL and all the other shitty major corps snap up Stanford grads so either you are lying or the guy who applied is lying about his degree.

You can bluff your way through first year undergrad but you aren't bluffing your way through final year projects.

i'm not lying, this story happened

he spent 25 minutes on that basic task

you can choose to disbelieve it, but there are plenty of people that graduate from "good" schools that are utterly incompetent

I get both excited and horrified reading threads like these. Excited that getting a job should be easy for me, and horrified that it probably won't be because my resume will go straight to the trash together with all other new graduates :^(

Get certs, they reinforce your CV

Yes you can. If someone else on the team does all the work.

do some sort of internship if you want to avoid that problem

Writing an eye-catching and memorable resume is a skill, too. Practice that, and you will get a job if your programming skills are good.

define 'basic task'

This

Some people just want to go for their CCNAs and have their toilet paper degree to show for it.

fizzbuzz...

Nice GET

And I meant to quote him

Fuck repeating integers

I don't want to come off as bitter about it. I've offered and helped several people in my program including females. I'm not sure the point I was making there. I'm a bit buzzed.

I think fizzbuzz is "hard" for some programmers because (#1) it doesn't fit into any of the patterns that were given to them in school assignments, and (#2) it isn't possible to directly and simply represent the necessary tests, without duplication, in just about any commonly-used modern programming language.

one trick is, a lot of HR people just control f for certain buzzwords they've been told to look for, and if the resume has it, it gets sent to the "look at" pile, most of the time they don't actually look at the resume, they have some sort of hr program that does it

take a bunch of buzzwords that the position is looking for, and just splatter them in your resume in the same color as the paper so that the software will put it up and it'll get put in the "look at" pile

because coding is a high autism job that probably only 5% of the population can do properly

Lol

Will PostScript/PDF even preserve textual data that matches the background?

Because if it does, this is a pretty humorous idea.

Just hire pajeets then

I like to think I can program but sometimes wonder if I was a retard all along. What do you need to know to be considered someone who knows how to program?

That's what they're doing innit?

If you're going to hire retards who can't program at least get them for cheap and get diversity points

5% ? lol

thats WAY too generous

>when the java section hit I was the last person in the class.

That sounds comfy. Full attention of the professor. All questions answered promptly and no retarded questions being asked.

The standard job interview process further weeds out all the autists who can program as most of them have garbage social skills. People who can program worth a damn and who have good social skills are extraordinary rare.

Machine Organization is as low level as the curriculum goes unless you take tech electives or a 4** class. Our uni makes this course especially difficult.
But ive seen other unis teach is woth basic concept so I guess it depends whereabouts

You can't blame the school for failing fizzbuzz. It should be solved easily right after babby's first "hello world!". They can't pass it because they've never programmed before in their life.

isn't FizzBuzz a meme ?
I mean, it shouldn't be that hard right ?

public class FizzBuzz{
public static void main(String[] args){
for(int i = 1; i

this.
I'm a mega dumbass that is trying to get into this, but sometimes forgets simple concepts, and even i can deduct it's a simple conbination of for and if.

>java

settle down, pajeet

I have seen "programmers" fail at "count down from 700 to 200, in decrements of 13".

They cannot program.

it is a meme. Even though your solution is a little ugly, it works fine. If a person who claims to have graduated with a degree in CS can't solve this problem then they are a fucking liar or you should automatically reject people from that uni from then on.

I'm new to programing, and starting with python. I still don't get classes or methods fully, especially the designation self.

But does this do what you're asking?

start_value = 700
while start_value >= 200:
print(start_value)
start_value -= 13

Oh, they can solve the problem, but it takes them upwards of 15 minutes

I'm going through a CS program right now after spending about 2 years working with production code

They are not taught real world skills
They are not taught real world concepts
They are hammered on algorithms algorithms algorithms
You want somebody who can interface your application with a small MongoDB?
Too bad! He spent 4 years rewriting and implementing his own inefficient version of double linked lists!

If fizzbuzz is something you can actually do you can program.

Maybe being able to take a problem and break it up in to smaller sub problems till each of those sub problems is no problem.

The problem is software engineering doesn't require certification or apprenticeship.

And yes, it's fucking engineering, when you hire code monkeys to do an engineering job, you end up with shit like antivirus software on voting machines.

for (i = 700; i >= 200; i-=13)
Am I missing something? There has to be a catch to it, right?
Please tell me they had to at least print 200 if the next iteration put them under 200.

Assuming you did not google and copy/paste: Congratulations, you are better at problem solving than ~90% of programming-job applicants.

I've noticed pretty frequently that American universities teach things that are totally divorced from what would actually be useful in the real world

It's like they get offended when someone has the AUDACITY to suggest preparing their students for the real world..

no, lol.

I was going to write in pseudo-code, but it was basically that fucking answer without the proper indentation, so I opened atom and did that.

although, I did spaghetti it up and start with an if statement, instead of while.

I hope this is true. It would be nice to solve easy filter problems and get a job.

You are missing nothing. There is no catch. Copy/pasta:

---

It is not hard.

It is like this: You are hiring a new pianist for your orchestra. An interviewee walks in, so you take them to a room with a piano, a drum, and a guitar.

"Point out the piano".

If the interviewee cannot point out the piano, what is the point of continuing the interview? So it goes with FizzBuzz, or "Count down from 700 to 200 in decrements of 13."

---

There are people out there who call themselves programmers, but cannot do FizzBuzz. Dozens of them? No! Millions of them! That is why FizzBuzz is so easy!

Because you want to end the interview as soon as you hear: "Well, I have played lots of pianos in uni, but I gotta confess, my piano-identification skills are a bit rusty. Can you give me about 15 minutes to check out these three items so I can make sure I figure out which is the piano? And I can I google? Also, I am sure I can learn how to expertly and professionally identify which is the piano if I can read pianooverflow for 3 weeks."

I refuse to believe this

It is true. The knife that cuts the people who can from those that can't doesn't have to be very sharp.

There have been other ones listed very simply that just show variables and the state of them after certain points.

It is more about being able to actually care about the minutia of the problem.

blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/

> 8% of students didn't give a damn and left the answers blank.

>Why can't 99% of computer science graduates actually program?
Because they never really practice programming. And half follow the Microsoft philosophy of simply copying existing code and retrofitting it to do the job.

FizzBuzz is meant to filter out non-programmers. It is not meant to guarantee a job.

The truth isn't so black and white. The idea that most programmers who apply for interviews can't even program such basic things (fizzbuzz, etc) is a meme. There are a lot of factors to consider.

Implementing algorithms is supposed to teach problem solving skills. If you have basic knowledge, can program and know how to solve problems you can learn anything. If you are only taught specific implementations you can only do those. They don't teach 'real world' things because the field changes so fast, it'd be outdated by the time you're out.
Also real world things are for projects not courses

Degrees used to mean something before universities shifted focus onto careers instead of broadening a student's knowledge and thinking skills.

If you want 200K, negotiate your contract. If you can't persuade or bargain a deal and your communications skills are really bad, you're SOL.

a rope

>MongoDB
>Not taught real world concepts
You can say that again, there are very few scenarios that ever call for using a NoSQL database. Many people use shit like MongoDB, use it as a crutch because they do not know how to properly implement or design a database.

python guy again
I seek the validation of others

I gave a shot at fizz buzz

num = 1
while num

It's supposed to, yes, but they end up just being slowly explained in a lecture while everybody copies down step by step what it is and then spitting it back out.
Most of the people in my classes couldn't put together a basic file parser last semester.

I've had three encounters with Mongo and I have hated every single one of them.
I honestly can't think of an instance where it would be superior to even sqlite

Use a for loop dumbass. This is disgusting

Program how to figuratively "rope" your computer so that it is hung by the figurative neck until dead.
Babby mode: post a Windows method.

having an iterator that does the same thing in each if is pretty terrible but the rest is right

This also if a number is divisible by 3 and 5 then it's divisible by 15.

I think that algorithmic courses teach the students with an innate gift for programming a shitload, and teach those who don't almost nothing. So you get 10% (or less) really good guys and 90% shitters, while if you teach implementations you get like 50% competent students and 50% shitters

i will hire you but we need to get you acquainted with for loops senpai.

He is using a loop.

What can I do to make sure this doesn't happen when I leave uni?

I enjoy the work and the course but I dont know how to further myself in my own time. Can I get some advice please?

He says for loop you dingus, that guy is using a while loop

>while num

I'm guessing you're part of the 99%.