5 ms·
> The gap between CS majors and software jobs is misleading. You don't need a CS degree to become a decent programmer. Conversely, you don't need to be a decen
by zwegner 14y ago
> The gap between CS majors and software jobs is misleading. You don't need a CS degree to become a decent programmer.
Conversely, you don't need to be a decent programmer to get a CS degree. It's a shame that in the age of the internet and self-directed learning, degrees are so heavily weighted in the job market.
- paranoiacblack 14y agoI basically came here to say this. Often HN is frequented by those who are go to top CS schools, but I do not think they are in the majority of most CS schools. It is really possible to escape a university with a BS and MS without knowing how to develop and learn beyond your scope of knowledge. At our university, for example, we are supposedly taught C++, but I still find myself having to explain basics like STL Containers such as Sets and Maps to 3rd and 4th year students. This is after they've run into bugs with something that would essentially take two or three lines using one of the above structures.
- TheAnimus 14y agoAnother problem is that CS is often very, ahem, academic. In the UK, we have the British Computer Society (BCS) who give accreditation. If your doing a CS corse without BCS accreditation everyone knows it will be a bit suspect. However, the BCS you've probably never heard of, they aren't exactly at the forefront of anything, they are also quite stuck in the past. In a world where dynamic or at the very least JIT'd languages are the norm, teaching Pascal or Delphi I really doubt is in the best interests of the students. Yet in 2003 that is what I was taught for first year. So the idea that a CS graduate will be able to go in to software development immediately is a bit missleading. It's more a case of someone who has a CS degree will have demonstrated they have the aptitude to become a software dev. tl,dr: its education, not training.
- paranoiacblack 14y agoI really do agree with your point, but it sounds like an excuse from academia. I can assure you that many students, when starting in their Freshman year in college, expect to be able to build the cool things they want to build or be competitive in the job after their 4 or 5 year stay is over. However, as you state, it is not necessarily the case and the problem is with the archaic nature of academia. Yet, you don't learn the things that many would define as essential knowledge in current technology. In my university, for example, I have not once ever heard about design patterns or ever seen different coding paradigms other than OOP. What I've learned is how to solve trivial or nuanced problems in poor ways in languages not really suited for it. In job interviews, I've only passed through because of things I've personally self-taught myself due to projects I've worked on. So what's the point of an education if you have to teach yourself most things?
- base698 14y agoAnd yet all of the glorious self learners can't describe when to use a hashmap, what a hash is, or even the difference between a list and set... I'm not talking even knowing the algorithms, I mean a guy that writes list.contains(condition) in a loop and it brings the server to a halt because every call to contains runs through the entire list, when a hashset.contains(condition) would run in milliseconds. * no I did not go to a top tier school and only have a CS Minor, but I did read the books to make sure I didn't have gaps in my knowledge. It's just rare in my experience to find people that know the basics who also claim they were self-taught. People get all pissed off if you ask them what a HashMap is, which should be the most basic thing in programming.
- deleted 14y ago[deleted]
- dreamdu5t 14y agoSounds like someone from Stanford.
- zwegner 14y agoYawn. I would say the same about the glorious PhD professors that attempted to teach me. Even the best professors, who were actually pretty knowledgeable, would never really code at all, pushing that off to the grad students. Some people just don't fit into the way academia works, and making silly judgments like yours about them does nothing but entrench the status quo.
- base698 14y agoI agree, but you still have to read the book. Coding can not be learned by copy and pasting other people's code. All I was trying to say is for every 20 people that say they are self-taught only one of them can write a feature from scratch from a blank slate and explain the trade offs of why they used a hashset vs a list. The other 19 may be able to get something working by copy and pasting another section and spending a week shoehorning it, but the competent person would bang out in a day without looking anywhere else.
- dinkumthinkum 14y agoOne thing about people that make this argument that I don't understand is do you all know about libraries? You know they've been around for a long time. I'll grant you search engines make some parts marginally easier but to get the fundamental knowledge, you don't have to have that. So why is the Internet the great panacea for this ... Or is it that autodidactism is not really that common but it's much easier to call casually watching a YouTube building a blog engine as learning?
- zwegner 14y agoI guess I'm mostly going from my own experience. I have actually learned some cool stuff from library books (not in a while though), but it's mostly from the internet. The internet facilitates learning a wider variety of information without even leaving your house, allows you to download software/code, and also allows you to find communities where you can ask questions and get feedback on your progress.