7 ms·
This article is credentialism at its worst. The best programmers I know are self-taught, because they have a passion for it. I know people working at minimum w
by amvalo 8y ago
This article is credentialism at its worst.
The best programmers I know are self-taught, because they have a passion for it. I know people working at minimum wage, never enrolled in college, who got decent programming jobs after a year or two learning CS on their own.
These people will always (I hope) form the core of the profession.
- Aeolun 8y agoI know people who have taught themselves for 2 years as well. They may be passionate, but that doesn’t necessarily make them great developers. Since everybody and their mother currently needs developers, they’ll still be hired somewhere.
- TheCoelacanth 8y agoThis comment is elitism at its worst. Even if you completely accept the validity of self-learning, there is still a place for formal education. Some people can learn a lot about a complicated field on their own, but there are still plenty of people who would benefit from some pedagogical help.
- amvalo 8y agoPretty sure the kids paying 60k a year to learn CS at Swarthmore are more elite.
- goldenkey 8y agoIt's not elitism because learning how things work "under the hood" at the age of 20, when you've been using tech your whole life, it shows a lack of curiosity. Tech is inherently obfuscated, nail-biting debugging, and a crap ton of reverse engineering. CS is a subset of mathematics. Software development is a lifestyle and an ethos. No degree will provide that in full capacity like being a curious kid who wrote game mods or hacks, and looked into how the things he loves actually work. With something as accessible as software, you don't need privilege or thousand dollar lab equipment. If you don't know how things work under the hood because you waited for college...you're gonna have a bad time...
- nradov 8y agoSoftware development is a skilled trade, like being a plumber. It's not a lifestyle.
- maxxxxx 8y agoI don't think that's true. If your job is checking off Jira tickets maybe it's the case. But there are plenty of areas where you need a lot of creativity and deep knowledge to make progress.
- traek 8y ago> But there are plenty of areas where you need a lot of creativity and deep knowledge to make progress. This is also true for many other skilled trades.
- nradov 8y agoIt takes just as much creativity and deep knowledge to achieve the Master Plumber rating (or for any other skilled trade).
- maxxxxx 8y agoExactly. There are plumbers who just execute exactly what they learned in school but nothing else and there are others who can solve tricky problems. Same for programmers.
- overthemoon 8y agoIt's only elitist to the extent you believe people who teach themselves are somehow superior. Actual elitism is prioritizing the candidates who can afford to spend tens of thousands of dollars at top schools. That's... I mean, it's classic elite. Access to education is a core part of an aristocracy or upper class.
- mesaframe 8y agoCan't agree enough. I am a autodidact, and am still learning. And really every other week I wish I had a mentor/professor. Even though good books somehow covers up for no teacher. But, you can't just read thousand of books before solving a petty problem and there's where a Professor comes. They provide you with a distillation of years of work and experience. and not to mention the resources available for you at Uni
- amvalo 8y agoBut your mentor can just be your coworker! That's how many professions have worked for a long time. I don't get where this idea that academia has a monopoly on difficult skills and knowledge comes from.
- deleted 8y ago[deleted]
- mattmcknight 8y agoNo CS professor I had ever helped me with a problem I had in CS. Now, as a Teaching Assistant I helped tens of other students diagnose bugs in their code, but that's a different game.
- fokinsean 8y agoYup, honestly if I didn't have the structure of university I don't think I would have made it as a self-learned dev. Don't get me wrong I enjoy programming, however I very much needed the formal education process.
- philwelch 8y agoIsn't it...the opposite of elitism?
- exhilaration 8y agoIt doesn't work this way for everyone. It was priceless for me to have my CS101 professor walking around the classroom when we were doing our assignments. When my C code wouldn't compile, he could spot the error with just a glance. I can do that easily now but I never forgot that.
- mamcx 8y agoI'm self-taught. I still learn stuff that probably never will help me to get money (like, how make programming languages). I go to the university and get severely disappointed, and after 3 semester all the passion get sucked and I left. However, I WISH that college/university were way better. Be on a class with others help a lot, and despite I'm not very social at all, be along others with the same interests? that is so rare that is a prize on itself. How make things better and why I get disappointed is other matter that have been discussed on HN a lot, so instead I wanna point that having a good experience in an education setting (that I have in a tech course!) not only is good for the people that like to walk the common path, but also the self-taught! How lovely If I could get into some very rewarding clases, not matter if in a university or in a backyard....
- abecedarius 8y agoNot a class, but it sounds like you might find a stint at the Recurse Center rewarding.
- stronglikedan 8y agoI didn't finish my degree, but I can tell you that "a year or two" is nowhere near enough to "learn CS on (one's) own". On a daily basis, I use the foundations that I did learn in a formal environment much more than any of my self-taught skills. It's a very complex subject that cannot be effectively navigated without some guidance. Otherwise, you may think you know it, but you're just skimming the surface (and likely doing so in a very inefficient way). Now, if you've been self-taught for a decade or more, that's a different story.
- amvalo 8y agoA year or two is enough time to get your foot in the door with web dev. For more advanced stuff, sure, it's an ongoing process. On the other hand, I question the utility of most university CS curriculums. There are usually only one or two classes covering the core "algorithms" knowledge that autodidacts might not have, given how many people squeak through these classes by copying HW, I'm not convinced that anything really sticks.
- stronglikedan 8y agoI agree on your fist point, but I can't speak to the modern curriculum or how it's tackled, since it's been over a decade since I was in uni. I do know that web dev is only a very minuscule subset of CS. A typical web dev may be able to tell me which algos are inefficient for a given task, but I can tell them why.
- saberience 8y agoThe algos you're talking about (BSc in CS) are trivial. I went to a research-focused college for CS and at Bachelors the algorithms you learn are not very complicated, they're only made hard by the students themselves not actually doing any work OR terrible teaching. In fact, I'm fairly sure I could my 70 year old dad the various tree based algorithms, Dijkstras, A* search etc, and he doesn't even know how to program. The intuition behind these things isn't hard to grasp. In fact, I think I could take any random person off the street, and provided they're motivated, teach them algorithms and data structures to BSc level within 3 months. It's not rocket science and any engineer who makes it out to be like "way hard" is just being a bit insecure over their knowledge.
- deleted 8y ago[deleted]
- rement 8y agoI would argue the two CS courses I took is school gave me my passion for programming. I ended up switching majors but because of those classes I had the fundamentals I needed to go out on my own and learn new CS principles and get a good job out of college. I don't think I would have been able to learn what I know without those two courses.
- cs-holder 8y agoIt might make some of the people here who are worrying about competition for their jobs feel better to know that a good portion of CS graduates couldn't code their way out of a paper sack[1]. I have a CS bachelor's from what is considered a very good school and let me tell you, I frequently worked on group projects with complete sloppy bozos who had no idea what they were doing and still graduated. I can't imagine the standards have gone up with the recent flood of students and pressure to improve graduation rates. [1]I know, I know, CS is not about "coding". But trust me, these people were not making up for it with advanced theoretical work or even like, HCI.
- rchaud 8y ago> I know people working at minimum wage, never enrolled in college, If your starting point is "didn't go to college", then why comment on an article specifically about college students trying to enroll in a class? Would you suggest that in addition to a full course load + tuition, students should set time aside to learn on their own? When they already go to a school with a highly regarded CS program?
- towaway1138 8y ago> The best programmers I know are self-taught, because they have a passion for it. This doesn't preclude getting CS degrees--that is often a part of that passion as well. But I agree that the best programmers would get there with or without it. And people who start programming in college are extremely unlikely to ever really get very good at it (in my experience).
- dahfizz 8y agoYou don't think it's possible to be passionate about CS and have a CS degree? That seems counter intuitive. My own anecdotal evidence disagrees with yours: the best and most passionate programmers I know are the ones who cared enough to get a real, formal education. I really can't imagine a scenario where getting a formal education would make you a worse programmer. Having a degree does not necessarily mean you are a great programmer, but your self taught friends would still most likely be able to benefit from experienced and knowledgeable professors.
- Wiretrip 8y ago"year or two learning CS on their own" Sorry, but what they are teaching themselves is not Computer Science, it is programming, which is a tiny subset of computer science or even slightly outside it but intersecting. To get a well rounded knowledge of fundamental things, such a program and data structures, memory management, analysis and design, architectures, how OSs work, cryptography, machine learning, networking and functional programming etc, takes a degree course and possibly a masters or even PhD.
- metalens 8y agoSpot on.
- grkvlt 8y agoi would hope not. in fact, two of the best programmers i know have doctorates in computer science and maths respectively. these people generally do not learn computer science on their own, they learn programming instead. This is useful, but it is not computer science and there is no way that (most, modulo some exceptional edge cases) non college graduates will have the same skills or abilities as someone who has studied maths and computer science at university, as well as software engineering. there is some truth that the core (80%) of the software engineering profession will always be formed of programmers/developers/software engineers who do not need computer science skills, and simply need to be able to write code according to a specification i suppose. but the profession will be advanced by the (20%) rest who have the skills and knowledge of the underlying science...
- bitxbit 8y agoProgramming is quite different from studying computer science. You can be a great programmer and be very mediocre in academics.
- IdiocyInAction 8y agoDoesn't line up with my experience. Many self-taught people I've worked with lacked knowledge in fundamentals and the best people I've worked with all had a degree.