7 ms·
Having worked my way through college working as a full-time Software Engineer in Silicon Valley, many people look down on others who don't have a Computer Scien
by victorhugo31337 11y ago
Having worked my way through college working as a full-time Software Engineer in Silicon Valley, many people look down on others who don't have a Computer Science degree.
Pragmatically, after more than a decade I've seen people with PhDs from top schools who couldn't code their way out of a paper bag. I've also seen "uneducated" software craftsmen who could write the most elegant and clear code.
There is no silver-bullet in the tech industry--yes, having a Computer Science degree helps, but it doesn't guarantee the person will be a good Software Engineer.
- jkyle 11y ago> I've seen people with PhDs from top schools who couldn't code their way out of a paper bag A computer science PhD, in my humble opinion, does not teach how to program anymore then having PhD of Architecture teaches you how to build a residential home. If it did, there'd be much more time spent learning about tooling and practicing programming instead of reading papers and generating novel research. If I were hiring C.S. PhD's, I would not be judging them on the quality of their code or proficiency in any particular language.
- duaneb 11y agoThis is true, and the unfortunate effect of treating all software engineers as equal. However, if PhDs are not expected to write code, don't call them software engineers, call them "researchers".
- noarchy 11y ago>This is true, and the unfortunate effect of treating all software engineers as equal. However, if PhDs are not expected to write code, don't call them software engineers, call them "researchers". Generally, they aren't called "engineers". They'd be computer scientists. But I say that as someone who lives in a place (Canada) where "engineer" is a protected term, of sorts. You can't just slap the title on anyone.
- duaneb 11y agoFair, but not relevant—all the alternate titles (programmer, coder, computer "scientist" without the science... whatever) would also be just as ill-fitting.
- danso 11y agoObligatory link to Larry Page's question about Java while getting his PhD at Stanford: https://news.ycombinator.com/item?id=8587697 https://news.ycombinator.com/item?id=8587697 I consider the ability to perform practical programming a skill of software/computer engineering...In the same way that someone can be brilliant in chemistry and yet have little clue how to perform the kind of chemical engineering needed to efficiently produce chemical reactions...being a great mathematician/computer scientist doesn't necessarily relate to building. It's not that they don't have the intellectual capacity to do it, it's just that building/engineering requires its own experience and field of knowledge.
- jkyle 11y agoHe'd have never passed a Google interview. ^_^
- raverbashing 11y ago> If I were hiring C.S. PhD's, I would not be judging them on the quality of their code or proficiency in any particular language. No, it's not about this It's about a CS PhD that can't program at all. Believe me, they exist
- zzalpha 11y agoSo I'm going to ask you a basic question: do you believe there is no correlation, a positive correlation, or a negative correlation, between a candidate having a degree from a good quality institution (I'm deliberately ruling out degree mills) and candidate quality? That is the only question worth asking. The rest of your post is just useless anecdote. Yeah of course there's candidates with degrees that suck, and candidates without degrees that are amazing. You've said basically nothing of substance by pointing that out. What are the averages? It I'm sifting through dozens of resumes for an initial cull, guess what? I'm using heuristics. "Has a degree" is one (of many) of them.
- gnaritas 11y ago> What are the averages? It I'm sifting through dozens of resumes for an initial cull, guess what? I'm using heuristics. "Has a degree" is one (of many) of them. You'd have a much better experience if you threw out that heuristic, and also stopped looking at resumes. Resumes are generally packed full of bullshit and lies anyway, ignore them. Create a simple test problem and require candidates to submit code solutions to the problem. That immediately filters out all the bullshitters who can't code because they won't bother applying for a job that demands code as a resume. What you'll be left with is just a few submissions from people who can actually code, and most of the them will be shitty but functional solutions to the problem. A small few will submit great code to your sample problem, you'll see it right away, you hire those people. A computer science degree doesn't tell you anything at all about how well a person can program; computer science and software engineering are quite frankly vastly different things and little if any actual computer science is needed by most software engineers. Filtering by it as a heuristic does nothing positive for you, you're just filtering out a bunch of great programmers; it's a terrible heuristic.
- deleted 11y ago[deleted]
- dilemma 11y agoBefore you call someone else's comment useless, consider if yours is any better: You have no evidence supporting your hunch that degreed applicants make better employees, so you're making your most important business decisions based on feels. You have never performed a long-term study or an A/B test of degreed and non-degreed applicants. You run all applicants through a filter that eliminates outliers and produces a mediocre average, before you start looking for people that are above average, able to fit your team. The problem with your hiring process isn't the candidates but that your ties to them are too weak and that there are too many of them, so that you can't put enough time into learning about them. Degrees have nothing to do with it.
- GauntletWizard 11y agoI'm an engineer without a degree and I'm guilty of looking down on those without, but I'd like to justify my actions. Lots of engineers lack the ability to determine not just how to solve the problem (disturbingly common in theoretically competent and seasoned engineers), but the ability to determine which problems need to be solved. Determining how to do the traveling salesman problem in an acceptable time isn't solvable (or if it is to them, they should be doing something better with their time than working with me). Figuring out how to avoid that problem generally is, and I expect candidates to intuit that they shouldn't spend time chasing unsolvable problems. I didn't learn computer science formally, but I did learn it. I don't expect everyone to know exactly what I know, but I do find a degree a useful proxy for some percentage chance of knowing their shit. Industry experience is useful for some additional, knowing what words to put on their resume is part of it too. If they don't pass some combination of the group they're not worth my time, but I have to verify that by interviewing some amount of applicants anyway to check that those are real determining factors.
- rfrey 11y ago> I've seen people with PhDs from top schools who couldn't code their way out of a paper bag. I've seen PhDs in Electrical Engineering who couldn't repair a television. Somehow they missed that class.
- dsharlet 11y agoElectrical engineering is a pretty wide field that doesn't necessarily involve working with actual electronics. Personally, I've built a circuit simulator software package, but I can't actually design or build circuits worth a damn. I had to copy all but the most basic test circuits for my project off of existing designs, and I'd probably fail to build a physical realization of most of them.
- iolothebard 11y agoI've worked with fantastic developers without a degree. Typically, I've had to point out gaps in their understanding of the "why" behind things. I also had these shortcomings because I had an MIS degree. The difference when working with CS graduates is simple business knowledge seems to be their shortcoming. So working in accounting, finance, etc. they have a knowledge gap. No one comes out of college knowing it all, it's just figuring out where your shortcomings are and always trying to fill in those gaps. I'm a mediocre software developer at best. However, I'm better than about 90% of the people I've worked with (IMO). The 10% that are better than me I strive to learn from and discuss topics constantly instead of being intimidated by their expertise. If companies would simply hire good people and make growing them into well rounded developers, they'd have a hell of a lot better return on their investment than simply having a checklist of "employee must have" when hiring. I'm on (failed) startup #8 at the moment with one of these friends. Our primary goal is to hire people that haven't had job experience in the field so we can train them on the proper ways to build software (well, our opinions on what's "right"). Assuming we ever get to the point of replacing ourselves. :-)
- robertcorey 11y agoIf you're better than 90% of the people you've worked with you definitively aren't mediocre. This type of mentality is what leads people to undervalue themselves.