
Is it still worth spending $40K+ on a CompSci degree in the age of self taught? - squidrings
https://medium.com/@PurpleGreenLemon/is-it-still-worth-spending-40k-on-a-computer-science-degree-in-the-age-of-self-taught-ee4407345ae6
======
WheelsAtLarge
Self-taught is wishful thinking. We've had the ability to self learn for ages
yet most people don't. My local trade school has had a learning center for
anyone to go to and learn from hundreds of professions for at least 40 years
yet very few people take advantage of the opportunity. It might even be harder
to self learn now since it takes very little to quit. It's just too hard for
most people to work their way through the courses alone. It's too easy to quit
for whatever reason.

Anyone can drop in for free into any college class now without enrolling
there's nothing stopping them, since most professors don't care as long as
they don't have to deal with the student, but people don't. We mainly pay for
the degree for prestige, the paper diploma and the constant push we get to
finish and the fact that we enrolled in a class and in school and have to
finish.

Self-taught is a way to never get through a degree and never get a job for
most people.

40k+ is the cost of not having elite level self-control. A price worth paying
for most.

~~~
Ologn
> the constant push we get to finish and the fact that we enrolled in a class
> and in school and have to finish...not having elite level self-control

Especially for the slightly more esoteric things relating to programming, like
the mathematical underpinnings, principles of programming languages, pushdown
automata, big O notation for algorithms, somewhat complex tree data structures
etc. On your own, with things coming up in the real world, the temptation
would be to always learn more about the latest Javascript framework and what
have you.

I had a class where I had to do a homework where I described the Completely
Fair Scheduler of Linux and how it works. With self-study, there never would
have been a night that I would have seen that as being a priority over other
things, but being as it was needed for class, I found the time to learn how
the CFS worked.

------
munchbunny
If you can afford it before you start your career, and if it's a good comp sci
program, and if you take it seriously, then it's very much worth $40K. Or in
my case well north of $100k.

The general pattern I see that distinguishes the self-taught or "picked it up
along the way" programmers from the formally trained programmers is the
theoretical base. I taught myself programming in high school and probably
could have gotten a job by teaching myself the LAMP stack and skipping
college. Which I did, except I still went to college.

My degree covered:

1\. Linear algebra, multivariate calculus, some more heavy duty stuff for fun,
discrete math, graph theory, algorithmic analysis and techniques for
performance modelling

2\. Computer architecture - building my own CPU, instruction pipelining,
caches, branch prediction, interrupts, etc...

3\. OS fundamentals (processes, threads, memory virtualization, paging, I/O,
memory mapping, file system fundamentals, etc.)

4\. Functional programming patterns

5\. Network stack - BGP, TCP, SSL, HTTP, DNS, etc. Had to implement several of
those protocols as homework.

6\. Machine learning basics

7\. Patterns for distributed applications (async I/O, modeling server load,
techniques for decentralized decision-making, re-entrant operations...)

8\. Relational algebra and database algorithms

9\. Cryptography basics

I would never have picked all of that up after four years on the job because
it's just really hard to fully immerse yourself in theory heavy subjects when
you have a day job. The day job heavily incentivizes you to get better at what
you already do. The degree lets you spread out.

I think the best way to describe how I feel about it is this: if you think in
terms of iterating on various skills, the four year degree is probably the
best way to make sure you never have to do the first round of reps again.

------
a-dub
There are, you know, other reasons beyond financial ROI to engage with
university.

~~~
cbluth
That's not what the University thinks about you.

------
formatkaka
It's no only the university course / curriculum, but the environment is also
very important. You have colleagues with whom you can discuss and learn.
Online forums are still not as good as that!

------
tcbawo
With a college education, you are paying for someone to curate content,
present it in a way that builds on itself, and provide a reasonable amount of
depth and breadth of knowledge. Maybe some of this is solved with modern
online courses, but the sheer amount of noise seems high. Free books aren't
free -- they cost dozens of hours of your time. It's very easy to become
discouraged or paralyzed by choice.

------
christopher8827
Following. I wonder if there's any difference in the type of fields people
enter in compared with CompSci majors vs self-taught coders.

------
kkarakk
IF you have fucking amazing people skills AND a passable ability to self-learn
THEN compsci degree skills are incidental and you'll pick up enough to pass.
Most people don't.

Also most self taught programmers are dogshit at math/theory and it reflects
in their code.

------
pragmaticlurker
Why $40K+? If you study abroad (e.g. in EU), some Universities are free and
other one offer study programs in the range of € 4K-5K.

------
intellix
Got a degree in the UK and since attaining it have never shown it to anyone.
My greatest learning was from creating a Travian-like web game because it was
fun and exciting.

Now I'm in the position of hiring I really don't care what papers you've got
and feel that if you even mention them then it's probably cause you've not got
any experience yet worth talking about.

I'd recommend the same thing to everyone who wants to learn: make something
that excites you and you'll naturally learn

------
olliej
Maybe not, but a decent community college or state university should have
sufficient courses for much much less than 40k

------
Ologn
As so many programming positions pay 3x that amount in a year - and more, over
a course of a career, I would say yes. You will earn it back in four months of
working.

Also people talk about the downturn in tech around 2000-2001 - I was working
then, and startups and dot-coms were going broke left and right. I interviewed
at traditional companies - some required a degree, and if they did not they at
least asked about it. It doesn't matter when times are good, but when the
economy goes south, and, let's say, you're 50 years old with two kids and
you're laid off - then it matters. And by that point it is harder to jump
into, then when you're in your late teens or twenties (and has less lifetime
return).

I'm not really sure what "self taught" means. You are supposed to spend at
least three hours studying for every hour in class. So in that sense, it is
only a question if you go to college and are 75% self-taught, or don't go and
are 100% self taught. With those being the hours spent, you are only going to
class for one year any how, and studying for the other three years.

I don't know why the blog post focuses so much on the first paycheck. Your pay
will go up over the years. Even beginner programmers get paid decently for a
new graduate.

In terms of understanding things like mu-recursive functions as a model of
computation, mathematical ideas - so that the idea to use a Goedel number or
exponential decay might occur to you - these things you are much more likely
to find in a CS grad then one who is not. A CS grad might not know these
things, but a non-CS non-grad is even less likely to know them.

Also - a beginner might not know what they should learn. Most beginners want
to start by knowing which computer language to learn. Lots of CS programs
start off teaching calculus, discrete math, graph theory, theory of
computation, and _then_ you start with learning a programming language in a
introductory course to algorithms and data structures. It's not just not
knowing something - it's not knowing what you should know. I spent more time
than I thought I would studying critical sections in class at college.
Otherwise I may have thought it was something I could understand in a day or
two, which it is not.

Also, it speaks of different circumstances. But one does not have to shell out
all the money up front. If needed, you can find work, preferably in
technology, find a good public school nearby and take one or two courses at
night (or on weekends) every semester.

Skill in knowing the ins-and-outs of the latest Javascript framework is
ephemeral. I have years of Solaris knowledge and experience, much of which is
useless unless by chance someone has an old Solaris server around they need to
find the LUN numbers from. But knowing the fundamentals is useful for a long
time. And the earlier in your career you learn them, the better.

------
sexyflanders
No

