
Ask HN: Is college even worth it if you're worth your salt as a programmer? - frame_perfect
Let say you&#x27;re consistently getting offers at mid-high sized startups and a few &quot;mainstream&quot; companies. Or if you have a few indie projects that generate you some side income. Is there any point in going to college at all?
======
Ologn
Do you know what second normal form is? Do you know what the three basic
functions that form all mu-recursive functions are? Can you write an A* search
from memory? Do you know what is stored during a context switch? _Are_ you
worth your salt as a programmer?

Tech is booming. I know someone who went to a bootcamp for a few months and is
working as a programmer right now. A college diploma doesn't matter now. It
matters in years like 2000-2002 after your company goes bust and you're
looking for work, or if your division does massive layoffs in 2008 and you're
looking for work.

If you're going to go to school and take it seriously, the earlier you do it,
the more it pays off. The easier it is to do as well - you don't want to be
married at 37 with two kids and decide that you really need more than a high
school diploma. Then you're juggling a full-time job, college and a family.

If you want to be worth your salt as a programmer you're going to have to sit
down and study databases, operating systems, calculus, theory of computation,
computer graphics, algorithms, data structures and so forth any how, so why
not do it while studying CS at school?

When kids ask me, I tell them if you can go, go, if you're going to take it
seriously. If they have financial issues or whatever I tell them to not take a
full course load. One night class a week at the local public college is
affordable (with Pell grants, loans etc.) and doable by most people.

~~~
jasonkester
I agree that University is worth going to. But not for any of the reasons you
mention.

I've had a very successful career in this industry not being able to do any of
the things you ask in your first paragraph. Sure, I've taught Normalization to
new devs (without needing to recite the actual forms), but I find that Google
is pretty good at memorizing algorithms, and it did in fact have A* ready to
go every time I've done pathfinding. It probably still will when this kid
needs it.

University, in my mind, is for two things: It gets your brain shifted into
"Engineer Mode" (or painfully informs you that you are not capable of thinking
that way), and it teaches you how to be an adult.

The actual algorithms and interview trick questions that a CS degree give you
aren't very useful at all in the real world, and I'd actually go as far as to
recommend getting your degree in Mechanical or Electrical Engineering instead,
so you can focus more on mindset and preparedness. You'll find it easier later
to forget the trivia about Brunell Hardness and Eigenvectors when they're far
removed from your actual field. And you won't be that annoying guy in every
meeting talking about Big O notation instead of actually solving the issue at
hand.

But yeah, go to school if you have the chance. The big offers will still be
there in four years. You'll have many of the experiences that you'll spend the
next 50 years reminiscing about. And you'll come away with a whole pile of
other benefits that you never expected. (And some trivia to get you through
your first job interview that you can then safely forget forever).

~~~
kele
> interview trick questions that a CS degree give you aren't very useful at
> all in the real world

Usually trick questions aren't the one that you expect in real world, because
they're trick questions. Nevertheless, it's very easy to consider a question
being tricky, while it might be just a good check of your understanding of a
given technique or algorithm.

> And you won't be that annoying guy in every meeting talking about Big O
> notation instead of actually solving the issue at hand.

Talking Big O is the very exact thing that you should discuss _before_ solving
(coding) the issue. It's only annoying if you do that _instead_. Please, do
not underestimate this.

------
seanccox
Your question strikes me, because you've framed 'college' and 'programming' in
terms of their potential, or lack, of monetary benefits. That's an entirely
fair way of framing this decision, but not the only one. I would suggest, if
you are as capable a programmer as you claim, that you have the unique
opportunity to enjoy many benefits of the college experience, without the
burden of debt or delayed employment/advancement that your peers will face. It
really depends on what you think you can gain from an educational environment.

For my part, I recently left a career to return to school. I'm getting a
graduate degree after a 10-year gap from my undergrad, and even though I'm
working a job at the same time, it's inspiring to be in an academic
environment again. Some assignments are tedious, but to share a cafe or a bar
with other students who are working through intellectual questions is an
experience that is difficult to monetize, and nearly impossible to expect
outside the university. There is a reason it is called an 'academic bubble',
but while many say that scorn, I am inspired by the space that bubble creates.

I would suggest that, if you're a capable programmer, then don't go to college
to learn to program. Study topics that seem foreign/difficult to you, revel in
the leisure time to discuss ideas with your peers, and rise to the challenges
set by professors. The academy is intended to be a space for self inquiry and
growth. If that is something you value, then try to find a college that feels
right to grow with.

If nothing else, try applying. As a general rule, you should avoid closing
doors on opportunities that don't exist. If you get accepted to an
institution, then you have a right to decline it, but rejecting it without
applying is hubris.

------
thiago_fm
College is good. Study computer science and learn well algorithms and
everything underlying that machine in front of you. Also have a nice
experience, make lots of friends and connections because later in life you'll
need them.

The kind of connection you make with people you've worked with are different
from people you've studied with for 4+ years, no matter what.

And also keep studying stuff by yourself.

------
yen223
Man, I miss the good old days when I knew everything.

------
davismwfl
Sure it is. I know a lot of good programmers that have created some awesome
and reasonably complex data driven websites, but the minute we discuss byte
order, bit manipulation or discuss using an algorithm for data manipulation
instead of brute force they kinda glass over. That isn't saying everyone has
to know low level details, but frankly, if you are writing code I think you
should have a fundamental understanding of how the device you are coding for
works and how you can make the best out of it. Just going to college and
getting a CS degree won't guarantee you get those fundamentals, but you are
far more likely to get a solid base at a good school then not.

Also, like others have pointed out, nothing says you have to get a CS degree.
You could get a degree in any subject and apply your skills and knowledge of
programming to a whole new area.

The younger you are too, the more benefit you get from the networking of
college, the social and dynamic skills and the problem resolution
capabilities.

Would going and getting a CS degree get you more money, probably not if you
have at least 3+ years of experience. Also, plenty of companies always say
they want a degree but when you apply with experience they seem to drop it.
Even the government jobs that say a degree is absolutely required, I have had
a number of friends get those jobs with no degree, although there have been a
few hoops for them to jump through.

------
calcsam
Probably not, or rather your development experience will be more valuable.

It may be a barrier in 5-10 years, but you can worry about the problem then.

The main thing is to be continually learning and maintaining a network. If you
aren't going to do that, go to college.

------
alltakendamned
I was in your position in the last dot com boom around 1999. I started
working, mainly because I didn't like school/studying anyway. For me it was
the right decision and I was lucky to be able to work on some really cool
stuff right from the start. However, it is not something I often recommend
doing.

Going to college will make your life easier in the sense that you have a
socially accepted piece of paper that shows you have put in the time/effort.
For most companies that are hiring, that is what they want to see.

If you go the DIY route, you will have to work harder and/or prove yourself
more (or maybe I just had a bad case of impostor syndrome). The really cool
projects on your CV will help people "forget" you don't have a college
diploma.

If you have the character and tenacity to find your way regardless of the
situation, you don't need to go to college. If you're not certain, or if you
miss out on college for working on some quite straight-forward CRUD apps
(instead of seriously cool CV building projects), then go to college.

------
rajacombinator
Couple points: 1) if you think there's nothing for you to learn at any decent
quality University, you're vastly overestimating your own abilities. 2) taking
time to focus 100% on your personal development, whether intellectual or
otherwise, in a socially acceptable setting is a rare opportunity. College is
essentially that. 3) there is value in being surrounded by like minded young
people who have not settled for mediocrity yet.

All that said, whether there is a point depends on your own goals and whether
you think you can achieve the above benefits outside of a college setting. On
a purely financial basis, college almost surely does not make sense.

------
unimpressive
Maybe, maybe not. I think that in any case the 'stuff' (Algorithms, Databases,
Operating System Internals, etc) they teach in college is intrinsically
interesting. (Or perhaps not.) In any case it is also extraordinarily useful
when you're doing something new and can't rely on the work of other people who
already knew it. The thing is, the more time you spend learning 'junk food'
topics like frameworks and API's the faster you're going to have to walk the
treadmill to stay relevant. The more theory you know the slower you go out of
date.

Read more textbooks and fewer blog posts.

------
JSeymourATL
Why not do both?

Negotiate a part-time role with the mainstream company, work around your class
schedule. The boss surely wouldn't want to feel guilty that he kept you from
completing a degree.

College value can be difficult to calculate. A good campus environment can
expose you to some wonderfully random, useful people and ideas found nowhere
else. The Steve Jobs calligraphy story is a classic example>
[http://www.leemunroe.com/steve-jobs-
calligraphy/](http://www.leemunroe.com/steve-jobs-calligraphy/)

------
deeteecee
If you want to learn more about computer science, you can also study on your
own. I disliked college because the major I chose just got me lost and in the
end, I ended up learning programming just by doing it.

Like this other guy says, financially it just does not make any sense. You
could also end up with really bad professors who teach you squat whereas you
could just pick up a high-quality textbook.

~~~
partisan
You chose the major and then didn't succeed with it. What does that have to do
with college? College is not a guarantee for success and if someone told you
otherwise and you believed them then I have a nice bridge to sell you. College
is a path like any other. You have to walk that path and make the most of the
journey.

That said, there was an article on HN a few months ago showing a strong
correlation between having a college degree and earning more over a lifetime.

------
runawaybottle
I kind of like this irresponsible advice:
[https://www.youtube.com/watch?v=yafAqdtEofY](https://www.youtube.com/watch?v=yafAqdtEofY)

You don't know what to do, and most people here don't, and the best we can do
is speculate one way or the other - but so can you!.

Gas is cheap, and terrorism and the middle-east problems are back with a
vengeance, but things are cyclical so that means gas will be expensive again?
And your easy come easy go job will really be gone (based on the cycle I
guess) when shit hits the fan? Maybe not? Maybe the world has improved, and we
won't throw out decent people who have work experience, but maybe things will
get so rough that we'll have to stamp a "no-degree" tattoo on your for-head
when the time comes.

This is a complicated question, I see why you asked it.

------
Futurebot
It depends. Can you go to a prestigious institution without going into massive
debt? Then do it, very few exceptions: [https://medium.com/@opirmusic/why-
software-developers-should...](https://medium.com/@opirmusic/why-software-
developers-should-still-choose-to-go-to-university-if-someone-else-is-
paying-45091d22acc1?source=your-stories)

If you have to go into a good amount of debt or the institution is not
particularly prestigious, and you already have plenty of
skill/experience/connections, I'd spend time considering what exactly you
expect to get out of it.

------
dagw
Absolutely. As long as you go and study something you don't already know. A
competent programmer who is also a domain expert in some field will always be
in a better position than someone who is just a competent programmer.

------
canicode
If you can always find a job and have side projects to fall back on, I don't
see the point. However, if you imagine yourself taking a shot at climbing the
corporate ladder at a huge company, a degree is absolutely essential.

I also have a side project that would be able to support me, but I do attend
college. In my opinion, having that piece of paper (provided you don't go into
massive debt for it) is much better than not having it.

------
3minus1
College will open your mind. It will expose you to areas of programming other
than the typical industry job. It will provide you a holistic treatment of
topics that you would only pick up piecemeal in the industry. The contextual
knowledge you gain will enable you to pick up things quicker and have an
overall richer understanding of how things work.

------
vinceyuan
Yes.

Besides programming, you can learn more things in the college, such as
physics, arts, maths, finance, social skills, etc. Though they may not bring
you money immediately like programming, you will benefit from them. And you
can meet many people from other states and countries.

College is one of the happiest periods of my life (though I was very poor).

------
imakesnowflakes
If you already love programming then go learn electronics and hardware design.

------
J_Darnley
Yes. Unless you are a savant you won't get hired without a degree. If you are
really 'getting offers at mid-high sized startups and a few "mainstream"
companies' then you might just be one.

~~~
dreamdu5t
I don't know long-division and I make six figures. Don't believe the hype.

~~~
J_Darnley
More like: don't believe the hype on this website that is stuck in a Silicon
Valley and Venture Capitalist mindset.

