News for hackers. Stuff that matters.
Re:Hard Part of Computer Science? Getting into Class by amvalo on Thursday January 24, 2019 @10:14AM (#18989328)
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.

Re:Hard Part of Computer Science? Getting into Class by TheCoelacanth on Thursday January 24, 2019 @10:29AM (#18989473)
This 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.

Re:Hard Part of Computer Science? Getting into Class by overthemoon on Thursday January 24, 2019 @10:36AM (#18989546)
It'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.
Re:Hard Part of Computer Science? Getting into Class by mesaframe on Thursday January 24, 2019 @11:00AM (#18989779)
Can'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
Re:Hard Part of Computer Science? Getting into Class by amvalo on Thursday January 24, 2019 @11:05AM (#18989825)
But 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.
Re:Hard Part of Computer Science? Getting into Class by mattmcknight on Thursday January 24, 2019 @01:32PM (#18991452)
No 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.
Re:Hard Part of Computer Science? Getting into Class by amvalo on Thursday January 24, 2019 @10:30AM (#18989488)
Pretty sure the kids paying 60k a year to learn CS at Swarthmore are more elite.
[dead]
Re:Hard Part of Computer Science? Getting into Class by philwelch on Thursday January 24, 2019 @02:35PM (#18992100)
self-describing comment
Re:Hard Part of Computer Science? Getting into Class by fokinsean on Thursday January 24, 2019 @11:54AM (#18990378)
Yup, 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.
Re:Hard Part of Computer Science? Getting into Class by goldenkey on Thursday January 24, 2019 @10:33AM (#18989519)
It'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...
Re:Hard Part of Computer Science? Getting into Class by nradov on Thursday January 24, 2019 @10:43AM (#18989613)
Software development is a skilled trade, like being a plumber. It's not a lifestyle.
Re:Hard Part of Computer Science? Getting into Class by Hupriene on Thursday January 24, 2019 @11:22AM (#18990040)
@sibling maxxxxx

If you think that being a plumber or an electrician or a mechanic never requires creativity and deep knowledge, then I think you are looking down on those professions a bit too much. Much like programming, most of what those fields involve is routine grunt work. But from time to time, the usual ready-made solutions don't work and you'll have some tricky problem to solve.

Re:Hard Part of Computer Science? Getting into Class by maxxxxx on Thursday January 24, 2019 @11:09AM (#18989895)
I 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.
Re:Hard Part of Computer Science? Getting into Class by nradov on Thursday January 24, 2019 @11:50AM (#18990329)
It takes just as much creativity and deep knowledge to achieve the Master Plumber rating (or for any other skilled trade).
Re:Hard Part of Computer Science? Getting into Class by maxxxxx on Thursday January 24, 2019 @12:10PM (#18990555)
Exactly. 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.
Re:Hard Part of Computer Science? Getting into Class by traek on Thursday January 24, 2019 @11:25AM (#18990063)
> 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.

Re:Hard Part of Computer Science? Getting into Class by ck425 on Thursday January 24, 2019 @12:29PM (#18990771)
You really do need privilege. Not everyone has regular access to a computer or internet even these days. And not every is in an environment where it's considered ok to sit and tinker with software all day.

More importantly we need people in our industry who have interests beyond just tinkering with things all days. We need balanced individuals who have skills beyond just code, who can look at problems from a wide array of viewpoints. If we only hire hackers who have been coding since they were young we're hiring an incredibly narrow set of people while trying to solve problems for billions of people around the world. That's not efficient! It's good for our ability to solve problems that we expand the tech community to include diverse individuals, including folk who didn't code as kids.

Re:Hard Part of Computer Science? Getting into Class by woolvalley on Thursday January 24, 2019 @02:47PM (#18992231)
If you don't have regular access to a computer & the internet, then American CS college is miles away by cost comparison.

Like seriously, a $200 chromebook that you earn by working a local minimum wage job, a household that feeds and clothes you and your local public library wifi is what you would mostly need. The requirements for college far exceeds that by a mile.

Re:Hard Part of Computer Science? Getting into Class by ck425 on Friday January 25, 2019 @03:47AM (#18996503)
The poster was walking widely about the industry as a whole not just college. And there are lots of scholarship students who had to work to help put food on the table, who couldn't afford a chromebook and the time to go tinker.
Re:Hard Part of Computer Science? Getting into Class by woolvalley on Friday January 25, 2019 @12:45PM (#19000344)
In many colleges, the cost of one or two textbooks outdoes the cost of a chromebook. If you have to work to put food on the table in college, you can work to put a chromebook on the table too and spend your college time on self study vs college itself
Re:Hard Part of Computer Science? Getting into Class by philwelch on Thursday January 24, 2019 @02:34PM (#18992092)
Isn't it...the opposite of elitism?
Re:Hard Part of Computer Science? Getting into Class by stronglikedan on Thursday January 24, 2019 @10:49AM (#18989671)
I 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.
Re:Hard Part of Computer Science? Getting into Class by saberience on Thursday January 24, 2019 @11:48AM (#18990314)
I don't agree. Most people simply don't work very hard. For a motivated person, 1 year on their own time can easily be enough time to replicate a bachelor's in CS. When I did my bachelor's I was a young dumb kid who partied a lot and wasted a lot of time.

Now, 14 years later and tons of industry experience, I realize how trivial the material in my CS bachelors was and really the big problem is that most students don't really work that hard. Now my work ethic is much, much better, and I've been learning far more advanced material, far faster than I ever did before, because I come home in the evenings and actually study (using online options) and practice.

When I look back at college level CS, it's a joke. Also, the online resources are built to actually be taught well, when I was in school, there was no Khan Academy, Pluralsight, Coursera, Udemy, etc. Most college professors are research oriented at heart and are uniformly terrible teachers. The online moocs and so on are focused on actually making things easy to learn, which gives modern learners a massive advantage.

Re:Hard Part of Computer Science? Getting into Class by invalidOrTaken on Thursday January 24, 2019 @02:52PM (#18992272)
> I realize how trivial the material in my CS bachelors was and really the big problem is that most students don't really work that hard.

As someone who dropped out, worked in industry for a few years, and is now back as an undergrad(though in math, not CS), one thing that I feel is neglected in these discussions is the time-sucking effect of homework.

When I was self-teaching as a dev, I could learn something, play around with it until I felt I had a good grasp, and move on. A college course ties a lot of work to each concept. I have solved way too many matrices by hand in the last few weeks, for instance.

Re:Hard Part of Computer Science? Getting into Class by ummonk on Friday January 25, 2019 @03:55AM (#18996542)
This, so much this. Homework is an insane waste of time. Some people might need that level of tedious repetition to learn a concept, but generally it just detracts from actual learning.
Re:Hard Part of Computer Science? Getting into Class by mattmcknight on Thursday January 24, 2019 @01:35PM (#18991492)
An example of someone going through all of the classes for a bachelor's in CS in one year: https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/
Re:Hard Part of Computer Science? Getting into Class by tayo42 on Thursday January 24, 2019 @12:58PM (#18991084)
Funny to some one else write almost exactly what I feel. I fucked around in college. I almost failed my first cs class, and failed a few others. A few years later I went back with the help of free online classes and found it a lot easier.

There's not even that much cs in a cs degree. Half the classes are gened. There's a lot of irrelevant math.

Re:Hard Part of Computer Science? Getting into Class by amvalo on Thursday January 24, 2019 @10:58AM (#18989758)
A 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.

Re:Hard Part of Computer Science? Getting into Class by stronglikedan on Thursday January 24, 2019 @11:16AM (#18989972)
I 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.
Re:Hard Part of Computer Science? Getting into Class by saberience on Thursday January 24, 2019 @11:53AM (#18990367)
The 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.

Re:Hard Part of Computer Science? Getting into Class by manifestsilence on Thursday January 24, 2019 @02:50PM (#18992251)
I had some prior experience as a hobbiest, mostly messing with BASIC as a kid, but with no formal structure. I majored in music and after a bunch of wasted years in dead-end jobs, became a professional programmer after only 3 months self-study while on unemployment. So depending on your background and passion and luck, a year or two can be plenty. There are several other stories floating out there, like the blacksmith who became a Rails web dev after I think it was one year of study.
Re:Hard Part of Computer Science? Getting into Class by bryondowd on Thursday January 24, 2019 @01:26PM (#18991397)
My experience with a BS in CS degree was that 60% of the classes provided no career value at all. There's all the general ed classes meant to make you well rounded, and then there's classes in the core that are either useless (Calculus, very few CS grads will ever use it) or provide history/background about the field that is nice to know, but not generally useful or necessary.

Out of the remaining 40%, the level of overlap and repetition was just absurd. It seemed like each class spent the first half of the semester re-covering things that were covered in prerequisite classes. So maybe 30% of your actual class time is spent on new concepts, skills, etc.

Of those, probably 1/3 involve very basic things, like bubble sorts and the like, which help you build basic problem solving skills and language familiarity, but not much else. Then you get another 1/3 of CS related stuff, like architectures, patterns, SDLC, etc, which is probably the stuff that separates the degree holders from the self-taught in most cases. Then, if you're lucky, you get a couple of classes that are elective and teach something moderately interesting or useful. As I recall, the only classes I had in that category were a class on Computer Graphics (which ended up just being a bit of Java Swing and a bit of math to explain some of it), Web App Engineering (neat class using ASP.NET MVC), and an AI class that really just covered some solvers and search algos, topping out with Genetic Algorithms and Simulated Annealing.

Point being, I could definitely see someone being able to learn all the same CS stuff in a year, if they were self-motivated enough. A few good programming books, a few good CS concepts books, and you'd be covered. Honestly, you could probably cover CS with both more depth and breadth in a year than I got in my degree, if you put a full-time effort into it.

And all that is ignoring the fact that half my class graduated with virtually no ability to actually sit and write code of their own beyond just copy-pasting snippets from online examples until they had something that worked well enough to pass. The only real value of a CS degree, as far as I can tell, is to signal to employers that you can show up and put in at least a minimal effort at something for years without giving up. I guess that makes for a useful enough filter to keep employers using it and keep colleges in business.

Re:Hard Part of Computer Science? Getting into Class by Wiretrip on Thursday January 24, 2019 @02:30PM (#18992057)
"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.

Re:Hard Part of Computer Science? Getting into Class by metalens on Thursday January 24, 2019 @07:00PM (#18994285)
Spot on.
Re:Hard Part of Computer Science? Getting into Class by cs-holder on Thursday January 24, 2019 @11:07AM (#18989856)
It 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.

Re:Hard Part of Computer Science? Getting into Class by Aeolun on Thursday January 24, 2019 @10:23AM (#18989408)
I 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.

Re:Hard Part of Computer Science? Getting into Class by grkvlt on Thursday January 24, 2019 @02:32PM (#18992073)
i 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...

Re:Hard Part of Computer Science? Getting into Class by towaway1138 on Thursday January 24, 2019 @12:22PM (#18990679)
> 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).

Re:Hard Part of Computer Science? Getting into Class by mamcx on Thursday January 24, 2019 @10:45AM (#18989635)
I'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....

Re:Hard Part of Computer Science? Getting into Class by abecedarius on Thursday January 24, 2019 @11:26AM (#18990084)
Not a class, but it sounds like you might find a stint at the Recurse Center rewarding.
Re:Hard Part of Computer Science? Getting into Class by dahfizz on Thursday January 24, 2019 @02:00PM (#18991799)
You 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.

Re:Hard Part of Computer Science? Getting into Class by rchaud on Thursday January 24, 2019 @12:20PM (#18990658)
> 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?

Re:Hard Part of Computer Science? Getting into Class by bitxbit on Thursday January 24, 2019 @02:51PM (#18992262)
Programming is quite different from studying computer science. You can be a great programmer and be very mediocre in academics.
Re:Hard Part of Computer Science? Getting into Class by exhilaration on Thursday January 24, 2019 @10:34AM (#18989530)
It 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.
Re:Hard Part of Computer Science? Getting into Class by IdiocyInAction on Thursday January 24, 2019 @07:40PM (#18994481)
Doesn'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.
Re:Hard Part of Computer Science? Getting into Class by rement on Thursday January 24, 2019 @10:54AM (#18989716)
I 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.