Computer Science is not Software Engineering. A PhD does not translate to real world engineering skills. If you just go through a bachelors CS curriculum, designed to give a survey of all topics in academic computer science, that wouldn't make you a competent engineer. This is especially true now that through the internet, just about anyone with a laptop can get as good as they want at software engineering without ever stepping foot in an academic institution. Sites like Free Code Camp, Kaggle etc. have torn down all of the barriers preventing anyone from learning how to be an incredible engineer. Some of the most important software in industry is open source and anyone can take the time to learn how to contribute to it.
If I had the choice between a Caltech grad who had all A's and no experience or a student from some random state school who had interned every summer and contributed to open source, I'd pick the latter. Many people are locked out from ever attending elite schools in the first place despite competence due to coming from poor backgrounds and underfunded highschool districts.
> If I had the choice between a Caltech grad who had all A's and no experience or a student from some random state school who had interned every summer and contributed to open source, I'd pick the latter.
I really wish someone had explained this to me while I was in college.. I had ONE professor who'd actually worked in the real world who explained it, but all the other professors were lifetime academics who just parroted the same idiotic stuff about how important it is to get good grades.
Getting my first engineering job after I graduated was a nightmare.. I ended up having to go with a crappy internship that barely paid enough for me to live in a bedroom in a shared house, with a terrible boss who constantly threatened me and stressed me out. And that's with a 3.8 GPA.. When I told prospective employers that, they were like "What is that? Out of 4? 5? Is that good?"
A lot of talent is wasted by young people doing their utmost best at uni only to find out that no one cared. I applied to FAANG after graduating CS and no one got back to me.
A friend of mine in the HFT world told me “I know how hard some of your courses were. But you can’t highlight them on your cv because no one will believe you that they were that hard. And even if they did, they wouldn’t believe that those skills are transferable.”
Going to yet another job interview, I spoke to my interviewer who had a similar CS specalization but from another uni. He told me “my master was of baaad quality.” I responded with: “mine wasn’t, and my classmates all feel the same because we’ve learned practical skills and our teachers prided themselves in giving difficult yet practical courses.” He looked at me with disbelief.
This is partially why same alumni hire each other as they already have a priori knowledge of the education the other has received e.g. whether or not a course is difficult/easy etc.
Back in undergrad, I was talking to a hiring manager who was an alumni from my school that said if he will hire anyone no questions asked if he sees anyone with X course on their transcript/resume (listing the project from the course)
>Computer Science is not Software Engineering. A PhD does not translate to real world engineering skills.
OP is not comparing a caltech grad to someone who contributed to open source. OP is comparing caltech grads to someone who studied algorithm interviews.
I agree. Degrees and accreditation are sort of gateway policies to conduct deliberate filtering and maintain a class based social hierarchy. There is some merit as it does take a brutal level of hard work and intelligence to get into caltech.
However, algorithms are the exact same type of filter, both are pretty much divorced from any relationship to the job at hand.
> If you just go through a bachelors CS curriculum, designed to give a survey of all topics in academic computer science, that wouldn't make you a competent engineer.
True, but it's probably not a worse predictor than most interviews.
It's not the interview that counts but the interviewer (or, in some degenerate cases, the "hiring committee").
A good interviewer can assess a candidate's competence even with crappy questions / question bank. A bad interviewer will often make wrong hiring decisions even if they asked good questions.
To the extent that companies test CS fundamentals to screen SWE roles, however, we can reasonably argue the implementation of the CS fundamentals test.
It seems to me that four years worth of coursework and exams provide a better assessment than a couple hours of on the spot performance.
That is basically impossible. Becoming a good engineer requires learning from the consequences of decisions you yourself made years ago. Doing internships will not give you that no matter how many you do.
If I had the choice between a Caltech grad who had all A's and no experience or a student from some random state school who had interned every summer and contributed to open source, I'd pick the latter. Many people are locked out from ever attending elite schools in the first place despite competence due to coming from poor backgrounds and underfunded highschool districts.