

Ask YC: The Value of a Degree. - izak30

I'm currently an Electrical Computer Engineering. I've worked in the Dilbert environment and I won't do it again, I do freelance web development on the side, and I was wondering if it was still beneficial to get a degree if I don't ever plan on working for 'the man' again. I keep hearing that I'll shut out opportunities, but to me it seems that they are opportunities that I wouldn't want anyway.  Thoughts?
======
amalcon
I have a fairly new (2 years) computer science degree, from what I feel is a
very good program. Even in this program, some courses were definitely more
valuable than others.

Not long past the point where it was too late to change majors, something
astounded me. I discovered a pattern to the valuable courses. It was as
follows:

The most valuable high-level courses were the theoretical computer science
courses (the foundations of CS series, AI stuff, the sort of thing where
you're asked, "How would you solve this problem?"). The most valuable low-
level courses were the concrete courses in things other than computer science
(mostly math and physics; to a lesser extent, various engineering
disciplines). If you think about it, this actually makes sense: the courses
about solving problems, following the courses that give you the tools to do
that.

If you think about it, there's a good reason for this: Low level courses exist
to provide a foundation for more advanced courses. This means that they are
not designed for people who already intuitively understand their subject
matter. If you already know C, Java, and two or three other languages like
Pascal, you can learn Perl, Prolog, and Scheme on your own -- you don't need a
professor to teach them to you (though it might help to have someone get you
to use macros). You just need to understand that language's "thing"
(punctuation, assertions/derivations, first-class
functions/closures/continuations) and then it will almost learn itself. If you
already know how to build a pointer-based binary tree, you don't need a course
to tell you how to build a radix tree, or a red-black tree, or a trie.

On the other hand, the low level courses in other disciplines are designed for
people who don't already intuitively understand that area. That makes them
perfect for you.

Unfortunately, most universities do try to curtail the obvious solution by
enforcing prerequisite courses. This makes little sense from a teaching
perspective, but it makes perfect sense from a "raising the average GPA of
their students" perspective.

Almost anywhere you go, you'll find the ability to game the system somehow --
be it alternate prerequisites, testing out of things, or taking a minor in CS
instead of a major. You need to be able to game the system to an extent. Yet,
that's a valuable skill in itself. Just optimize what you're trying to learn,
not the best way to get that piece of paper.

------
aristus
I have no degree. I have worked for tiny startups, small businesses, Yahoo,
the IRS Modernization Project, Big Co Consulting companies, with degree-heavy
dev teams and with multi-talented cowboy hackers. I never planned on taking
the man's money either. But I go where there is interesting work. There is a
pay discount _wherever_ you go and are not a founder. I have ten years'
experience but usually not the same pay as someone with 10 + bachelor's, or
even 5 + master's.

Often, I have lacked the theory, the mathematics and the discipline of
creating and analyzing algorithms. It is a big hole that takes years to become
aware of.

Another hard-to-see hole is what you take for granted in college or a tech-
heavy city: where else are you going to meet other people with the same
interests, work on problems with them, have late-night bull sessions, etc?

So now that I live a few train stops from Berkeley I am taking some of the
harder courses that people have said are worthwhile.

Take the good stuff. Meet people. Stay loose. Follow the interesting problems.
But take neither the pros or cons of college too seriously. You are choosing
the general heading of a ship, not choosing a single set of tracks.

~~~
cowmoo
A question for you from a graduating college senior who's trying to decide
between grad school and work: Do programming work get boring in a business-
setting?

I am trying to decide whether I should go to grad school or to work. My
experiences at the so-called "tech-heavy" cities and companies is that the
"smart people and high-tech" is all hype. Maybe my experiences are just too
biased, but do people at the Valley really push the envelope, or do they just
do the same Java/PHP/Ruby stuff that high school students could do, and put a
Web 2.0 stamp on it.

~~~
aristus
Business work is usually boring compared to self-directed work. The reason is
simple: established companies want predictable returns on investment. There is
little chance you and two friends will stop working on that internal reporting
app and go into VOIP, to loud applause from your boss. That is not your job.

The same applies to grad school, btw -- you are a paid research assistant, not
a freebird. But the problems can sometimes be cooler.

But it's a continuum and part of being happy is being humble and learning
where you fit. I know many happy people at Yahoo who do cool new things.
Others are chair-warmers. A large number are genuinely interested the
thankless task of supporting hundreds of millions of users and petabytes of
data, every damned day. Those people are the salt of the earth, and I salute
them.

As for the second part: There is a sampling problem when you say things such
as "all hype" or "people in the Valley do/are X".

If you poke your nose into 20 companies, Valley or no, you will find
overwhelming crap. 90% of everything is crap. But you do not experience the
world as an average. The trick is to find the 10% that are not crap, and the
1% within those who are really good, and see if you can hang with them.

In every field there are people who are so awful they don't know it. There are
the elites. There is a large field of the mediocre who ape the elite without
deep understanding. Then way out in left field are the crazies who scandalize,
confuse --and somtimes inspire-- everybody. Find them all, learn to tell the
difference, and find your niche.

~~~
cowmoo
Thanks. Your advice have been very helpful. What I am gonna take away from
this, is that it's not environment that makes the man, because the environment
tends to smooth out to the averages, even if the environment is the "high-
tech" startup's. One has to make one's own mark and not get too comfortable.

~~~
aristus
No problem, and good luck.

------
brk
I'm a "non-degreed" guy that (IMO) has done ok so far in life.

Unless you're getting a degree in a highly specialized area, I personally
think their value diminished over time. Right after graduation a degree is a
valuable tool, in theory, that an employer can use to assess your value. When
you're 45, your work experience and career accomplishments will/should
outweigh any degree(s) you might hold. Of course, this is as related to tech-
type jobs.

I sort of see this "slider" concept for measuring the value of a degree, as it
related to most of the things relevant to what we discuss here. The more
entrepreneurial and hard-working you are, the less value a degree holds vs.
real-time hands-on work experience. The more you want to rely on a steady
paycheck in a cube-farm, the more you should thing about getting that diploma.

Some of the top wealth-holders in business and technology have no college
degree (Slim, Gates, Ellison, Allen, Dell). Not to mention many more "mid-
level" types who have done better than their peers, on-average, by virtue of
hard-work and logical thinking.

In your specific case, I would politely say that I question the potential for
"freelance web development" to yield an ongoing income stream of appreciable
value. My guess though is that you plan to augment or enhance those skills and
continue moving forward. In which case it makes sense to start devoting as
much of your time as possible to that venture.

~~~
izak30
"In your specific case, I would politely say that I question the potential for
"freelance web development" to yield an ongoing income stream of appreciable
value. " \--Certainly, I am currently working on developing two internet based
products and building my skills in other areas as well; working for other
people on a salaried basis won't appreciate too well either (such is my
understanding)

------
bls
I tried to tutor Computer Science while I was an undergraduate. My clients
were always people who would call me around finals time and ask me to help
them cram. There were seniors who simply could not write computer programs--
some might have a vague notion of what a loop is, but not enough to actually
write a (trivial) program using one. I often had to stop the tutoring
sessions, because I simply could not help them without just doing the homework
myself.

I watched many of those people graduate with B.S. degrees in Computer Science
from my university. If I ever need to hire a developer, I will actively avoid
anybody that graduated from my own university. Once I realized that, I quit.

Having said that, some places have rules that won't allow them to hire you
without a degree. If you want to work for these kinds of places, you need the
degree. However, I think that a degree requirement is a good indicator of a
bad place to work.

~~~
izak30
What are you doing now? What (if any) problems have you run into? I certainly
realize your frustration.

~~~
bls
I used my tuition money to live overseas for a year, and I just got back. I
haven't really run into any problems yet.

------
ww
If you love what you do you will rarely find someone that can compete with
you. That being said I am a non-degreed programmer of 14 years experience.
Having researched this topic many times I believe Michael Spence has cornered
why and how a degree is useful: <http://en.wikipedia.org/wiki/Michael_Spence>

To summarize a degree or certification is a signal of private information from
an agent to a principal. Nothing more, nothing less. If you can replace that
signal with another kind of signal (ie experience/references/monument made in
your name) you don't need it.

~~~
mrtron
I would add something to why a degree is useful: A degree forces you to learn
things that you would otherwise not learn. I hate stats, but I had to learn
stats. It has surprisingly proved useful in my work from time to time. The
same follows with about 100 other things I was forced to learn, and that have
popped up. Usually they are relatively obscure topics you have no interest in
and avoid, but occasionally they are whole subjects that you just dislike.

------
mrtron
I consider my CS degree quite valuable to myself, and it has opened a lot of
doors for me. Now obviously, not everyone needs a degree; and not everyone
with a degree is good. But from personal experience, it was well worth the
time, money and effort to get a degree. I went to a school that is heavy on
the math and algorithm side of CS, which was quite useful.

If you have already started a degree, I would consider that another motivating
factor to continue, you are already pot committed (if you know poker terms).

------
menloparkbum
If you are not based in the USA and want to work in the USA, having a degree
solves a number of visa issues. The same goes for people in the USA who would
like to work overseas at some point. I've spent time working in Australia and
Japan and don't think I could have legally done so without having a degree.

That said, I left university as a junior to work on my first startup and after
four years of working went back for a year to finish up my degree(s).

------
juanpablo
Take some courses about hard things you want/need to learn and don't worry
about the degree.

