
Obtaining a Thorough CS Background Online - philk10
https://spin.atomicobject.com/2015/05/15/obtaining-thorough-cs-background-online/#.VVYRG3gK4x8.hackernews
======
dikaiosune
The idea of a mostly free online CS education seems quite popular on HN.
However, I remain skeptical re: employ-ability. Has anyone done any kind of
study or survey to see whether these types of rundowns improve a self-taught
programmer's change of gainful employment? How does self-taught compare to
degree-holding, and how do they both compare to this kind of pseudo-degree?
How does one list "cobbled-together CS education" on a resume?

If I sound grumpy it's just because it's before noon, I'm genuinely curious as
to whether this kind of pursuit is a viable alternative to the degree I'm
slogging through.

~~~
dsacco
That's not how it works.

You take a comprehensive background in CS to learn CS, not for direct
employment. The benefit is in being as strong an engineer as someone who went
to school (theoretically).

In practice, all of the people I know who are successful engineers without a
degree simply don't have an "Education" section on their résumé. They will
make up for it in the other sections.

As for your last question - yes, it's completely viable. There are many people
who make substantial salaries (much higher than the median engineer) without
degrees. Just learn how to network and sell your skills. It isn't even all
that difficult.

All those job ads that say, "You need to have a Bachelor's, preferably
Master's" don't actually require those (with a few clear exceptions). In fact,
you will become much more successful in your career if you learn to network
with hiring managers and learn to pick out and ignore the more irrelevant
requirements on a job ad.

Now, I'm not suggesting you drop out. I'm just saying it's completely viable.

~~~
bryondowd
Just one example of one of these exceptions is government work. The government
requires it's computer scientists to have a degree, and has a rigid pay scale
that uses highest degree earned as a factor, along with years of experience,
and leaves little wiggle room for any actual demand for your skills.

I self taught for the most part, but had to get that piece of paper anyway,
because I have ties to the area I live in and the only reliable employment
here is the FAA. Moving or commuting to the nearest big cities just wasn't for
me. I'll probably also have to go back and get an MS at some point to be able
to progress up the pay scale.

~~~
e12e
I certainly hope that remote work, if it's not an option now, will be over the
next ten years. It's really sad that we have all this (Internet scale)
networking and communication technology, and still demand that people sit like
hamsters in little cubicles, getting less done, than if they could sit in a
comfortable home office...

Yes, there are great benefits to meeting face-to-face etc, but it's still sad.
I mean, if people can build and maintain the kind of organizations you see in
EVE online and other MMOs without (mostly) meeting -- why not for work?

~~~
bryondowd
Yeah, it would be nice if there were more remote options, especially outside
the area of web development, which never really got my interest.

Federal employees here seem to get some leeway with regards to actually coming
in versus working from home, which is encouraging, but contract employees are
on a tighter leash (or straight up second class citizens, depending who you
ask). But there are plenty of things we do that just couldn't be efficient
remotely, since there's a lot of custom hardware and lab-testing involved.

Btw, I'm not really complaining. Working on air traffic control systems is a
pretty damn cool career, imo. It's fun to make a small stretch and answer,
"What do you do?" with, "Oh, I just keep planes in the air."

------
carc
This is fantastic. I switched careers a couple year ago (used to be a CPA) and
am now a very happy software engineer at a tech company. These sorts of
resources are great.

I want to iterate, though, for people without CS degrees that doing something
like this will NOT make it easier for you to get a software engineer position
in and of itself. The skills you learn from things like this will though - so
use this to be able to learn what you need to know to build cool side proects.
In my experience, companies will _usually_ ignore your lack of CS degree if
you have projects that demonstrate your knowledge. I personally have many
projects using some high level languages doing things like web apps or
visualizations, and I'm also working on an emulator just to teach myself more
about computer architecture. It helps that even though my job has me working
very far from the hardware, I still find all this stuff fascinating.

~~~
fapjacks
Well, without a piece of paper from some third party certifying they think you
know CS, and then also without having stuff on Github, you're basically just
asking anyone to take you at your word that you're a programmer. I interview
regularly for fun and I do not have a degree, only projects on Github, and I
have never once been asked about a CS education or background. In fact, I just
went to an interview where they didn't even ask for my resume, just a link to
my Github. This is really the meat of it: Being able to prove that you are a
programmer is even more valuable than have a piece of paper from some third
party certifying that they think you are a programmer. And this is really the
weakness of a degree: Those universities cannot _prove_ that you are a
programmer. They can only certify that they made "teaching" of some of the
knowledge base available to the person. This is less useful than a Github full
of source code and a regular commit history, though less useless than a resume
full of personal claims. In my social circles, I'm the guy everybody knows as
the lifelong programmer. So there are late-bloomers that come to me asking for
advice. I tell them to just start slapping shitty code into a Github account,
and frankly it's the best thing they could do for themselves if they really
want a job writing software.

------
xoail
I am convinced that the more people get higher education, the better it gets
for humanity.

This is a great list. I've thinking a lot about open/free education for masses
in my wondering times these days. I was going to compile a list of available
online courses just like this but more so in a semester wise fashion so that
anyone interested can actually dedicate time accordingly as if they are part
of a regular college curriculum.

As more and more courses come online, getting full-on degree becomes very
viable by just attending lectures online, getting together with local students
for group study or assignment, on-demand labs and support of mentors. There is
greater need for open standard so that employers can start accepting these
students as viable accreditation options for employment in their
organizations.

------
leeny
This is superb. I've been trying to talk people out if getting MS degrees in
CS as a way to learn to program for a while and have always recommended self-
study like this if they have the stomach for the whole autodidactic thing.
Going to add this list to my arsenal of resources. Really well done!

------
bruceb
That is a good list. In addition for like courses grouped together:
[http://coursebuffet.com/sub/computer-
science](http://coursebuffet.com/sub/computer-science)

~~~
mandy12xx
Going to bookmark this. Thanks!

------
nstart
I don't view courses like this as a way to become employable really. But I'll
probably follow this stuff just to become better in a more structured way. I
signed up when ML and AI became first available on coursers (as soon as they
launched and before the udacity spinoff). A few lectures in and I realised
that they weren't kidding when they said the prerequisites of maths was
needed. Attempting to find a way of doing it was just overwhelming. Amidst
work requirements I gave up. I would have loved a guide like this when I was
starting out.

~~~
rgbrgb
These courses will absolutely not make you employable on their own. However,
if you do these courses and develop a CS/math vocabulary and you also build
some substantial things then you'll absolutely be employable. In fact you'll
be fairly employable with only the building stuff part but it's nice to have
some foundational tools for modeling complex problems and the vocabulary to
discuss problems and solutions precisely with fellow engineers.

------
spitfire
This isn't a bad idea. Even for people with a CS degree. Usually in a CS
degree there are a number of optional upper level courses you can take.

You need to take some number to graduate, but can't take all of them unless
you delay graduation (By years). Having a well laid out path to learning
subjects you didn't cover in a CS degree is a benefit.

Machine learning/AI wasn't taught at nearly the level it is now when I was in
school. We've learnt a lot formally about distributed systems, etc. So kudos.

------
pakled_engineer
Do the compsci intro first then do the math in code, that's what I've been
doing for some of the courses it helps give you practice programming. I
started in Scheme now going through 'Doing Math w/Python' book from
nostarchpress for things that need libraries

------
javajosh
What's this? A self-study list that includes real analysis?!

Halleluja.

