Friday, August 26, 2011

Separate your career training from your education!

In most professions, a college degree is a prerequisite for a job,
even if doing the job doesn't strictly require one. Your degree is used
as a proxy to figure out whether you're qualified because there is no
better measure: "Oh, he went to a good school, he must be smart. Let's
bring him in for an interview."

Hackers are lucky because our profession is much more merit based. We
can be judged on our code rather than our degrees: "Oh wow, her code is
really slick. Let's interview her."

So why go to college then? Presumably to learn to code right? The
problem with this is that college doesn't teach you how to be a good
programmer. It might teach you about Computer Science, but there's a big
difference between Computer Science and programming. Without a whole
lot of outside work including internships and lots of self study, you
won't become a great programmer in college. I know many great
programmers who didn't study Computer Science and some who didn't go to
college at all.

Given that college doesn't prepare you for your career, the logical
thing to do would be to separate your career training from your
education.
For your career, you must become a great hacker on your own. Doing this
probably deserves its own post, but the short version is: spend lots of
time programming, learn many programming languages, read lots of good
code, contribute to open source software, start your own open source
projects that scratch your own itch, and take interesting internships.

What to do about your education is a harder question to answer. You
could skip college all together. It's expensive, and if you're already
good, you may just want to move on to real life. On the other hand,
college can be a wonderful experience if you can afford it. I met all of
my best friends in college, did fun things, expanded my mind, and grew
up substantially. There might also be outside forces making you go to
college even if you don't want to.

Because you're taking care of your career training yourself, use
college to learn things you're interested in. Pick a school with a
flexible degree system and hack it so you have as few required courses
as possible. You might want to consider a BA rather than a BS because BAs
generally have less requirements. If you can get away with only doing a
minor, so much the better. Take only classes you're interested in.
Music, Art, Literature, History, Computer Science. It doesn't matter. If
you're taking a class for any other reason than "I want to," you're
doing it wrong.

Education is valuable for its own sake. Just don't feel constrained
by the traditional definition of "a good education." We learn the best
when we learn for ourselves rather than for others.

Discussion could happen on HN if you're inclined: http://news.ycombinator.com/item?id=2925865

SOURCE: http://dave.is/