

Ask Hacker News: Online BS in Comp Sci? - learninglisp

Hey folks.  I have a BA in a non-computer related field... and almost ten years experience messing with computers-- mostly coding database apps, doing tech support, and some sysadmin type duties.  About 5 different hats at any given job.<p>I notice that most of the more interesting type jobs use the BS in CompSci to weed out people like me and I'm kinda sick of it.<p>I don't want to quit work to go back to school... flexible online type courses would be great... but... are there any that are any good?  My impression is that these online diplomas are a joke.<p>I hardly know where to start in looking at this stuff.  I'd like to have my coursework improve my GPA... and then later have the option to keep working towards a Master's if possible.
======
tptacek
I've worked as a network admin (managing a default-free BGP peering
relationship among other things), a researcher producing academic security
work that has an actual cite record, a full-time software developer inside and
outside computer security, a product manager, and for the past several years
as a consultant to companies doing all of those things.

I don't have a degree at all, and --- except for very brief intervals of
conversations with Wall Street companies --- the subject has never come up.

If you're motivated enough to establish a track record for yourself in
industry, either with roles with increasing responsibility, or with key
contributions to open source code, I wouldn't waste time with the degree.

~~~
raffi
I know someone else with a similar story to yours. One of the brightest
security folks I know and no degree. Yet he is still involved in very
important projects and no one would ever question his contribution.

------
mahmud
You might be better off learning to network and growing a fat rolodex. Lack of
degree is today's excuse, tomorrow's will be another (age, recent graduation,
lack of experience, etc.)

------
JeremyChase
If you have extensive experience programing why not go for an MS in CS? The
number of required courses is only 10 or 11, and would give you the CS
pedigree you desire with the benefit of being an advanced degree.

What area are you in? Are there any schools that have part-time programs?

~~~
learninglisp
That's exactly what I'm thinking.

I'm looking at this one:

<http://www.cs.illinois.edu/online/programs.php>

I don't know if my work experience will make up for having no compsci
bachelors courses on my transcript.

The prices are crazy steep, though! Wah! It's online, though.... A friend of
mine says that this program has a really good name, though... not that the
entrepreneurs here would care about that. ;)

~~~
learninglisp
Oh... and that's a Software Engineering certificate that can turn into a
Master's if you decide to later.

(Baby steps to the class... baby steps to the bank... baby steps to the
bank...)

~~~
walesmd
No way - don't go that route. Insanely expensive - their prices are on par
with the UoP ripoff and you aren't even getting a degree at that rate. Just
stepping stones to the degree.

------
jmatt
I'd recommend sending your resume in anyways.

As others have mentioned networking is they best way to work around such bias.
A recommendation from a competent employee will usually outweigh a degree.
It's likely the tech manager doesn't care if you have a degree, only how well
you will do the job.

As someone who has worked for large and medium size tech companies in the past
I can tell you that your experience will vastly outweigh a degree when it
comes to hiring and interview decisions when you have 10 years experience.

If experience alone won't get you the job you want there is one other approach
that I've seen work. Take a small step in the right direction. You need to
escape IT entirely and get a job where you are programming full time. From
then on moving from one programming job to another is significantly easier. As
is networking and attending community events (.net, python, java user groups,
etc). I've gotten two programming jobs with zero experience in the programming
language they were hiring for. I was honest about not knowing the language or
technology and in my interest in learning it. And that was enough.

~~~
walesmd
A lot of really good points here. I grabbed my job based off of my open source
work and community involvement alone.

------
stonemetal
Have you looked at regular colleges that have online programs? Purdue,
Harvard, University of California all non joke schools that offer degrees
online. Have you looked at alternative programs? The University of Texas
offers a masters degree that is one weekend a month for 2 years. I want to say
they call it a Masters of Engineering in Software Engineering but I am not
sure. There are others just look for options.

------
djafaricom
A BS from a well-respected CS program indicates a certain level of knowledge
and understanding that helps potential employers sift through resumes more
easily. It's not perfect, but it is to be expected. As long as we are faced
with going through HR departments, that slip of paper has big value.

I would try to go to a legitimately quality school even if it is not a top-
tier one like Stanford or MIT. A decent school will definitely kick start your
learning, but you still have to face the fact that some of your most important
learning will be done solo (imo).

I'm definitely with jeremy on the fact that a real university which offers
distance learning is far superior than most "e-campus". I seem to remember the
University of Florida having a fairly good online program, but they, like many
other distance learning variants, do require that you actually come to school
once in a while for finals and such.

~~~
qeorge
Great advice. I'd like to add that some (most?) distance ed programs will
allow you to take exams and finals locally. They can coordinate with a local
university or testing center to ID you and proctor the exam on their behalf.
So you've probably got a lot more options than you might think.

I attended NCSU in person, but they have a great distance ed program:
<http://distance.ncsu.edu>. Worth checking out.

------
otto
I've worked with a person that received a Software Engineering degree from the
University of Phoenix. He was a very intelligent and interested computer
scientist.

The degree is just a piece of paper that gets you in the door. The college
experience is a great place to network, though I'm not sure how this would
work at an online university. The real learning comes from your own interest
and desire to figure new things out on your own.

That said I recently finished my BS in CS from a traditional university and
now am working on a degree in Mathematics.

------
jeremymcanally
I'm working full-time, so I've had to look into something like this, too. Troy
University has a great one online that I'm taking:
<http://www.troy.edu/ecampus/>

The most attractive part to me is that it's not "Troy University -- ONLINE
CAMPUS ZOMG" on your degree; it's just a straight degree from the university
that you earn from an online campus. A lot of other ones I looked at were very
obnoxious about it being from an e-campus, which is pretty undesirable to me.

~~~
jsonscripter
It takes thousands of hours to get a computer science degree and people are
worried about the wording of the piece of paper they get at the end. I find
that chilling. It also kind of shows you how useless that piece of paper
really is.

Just to be clear, I believe a degree is extremely valuable but only because of
the knowledge and skills you gain from the process. The end result isn't
nearly as important.

~~~
walesmd
The name on the degree is very important as that name portrays what knowledge
and skills you were given the opportunity to gain from the process.

A degree that reads [Insert State or Ivy League] University shows a much
higher level of opportunity for the student to learn and experience than a
degree from [Insert City or Random Rich White Man's Name] University Online.

------
ryanwaggoner
Hmmm...when you say that the more interesting jobs use the BS to weed out
people, can you elaborate? Specifically, are you assuming that they weed out
based on that because it's listed in the requirements, or because you've seen
it firsthand?

I would think that years of experience in the field would trump the specific
degree you have. I've heard a lot of people on HN who hire people without a
degree at all, or who have been hired without having a degree.

------
jam
At least a quarter of the programmers that I work with have a degree in
something non-computer related.

------
codeodor
Most of the jobs ads I see that require a BS also say "or equivalent
experience."

But if you do go the degree route, I'm with JeremyChase - go for the MS.

------
pmichaud
FSU, which is a perfectly respectable program, offers an online BS in Comp
Sci.

------
edw519
The word that jumps off the page is "messing". I don't know what this means.

Have you written mission critical apps that people can depend upon? Have you
delivered "real world" value? Are you a doer or a poser?

Only you can answer these questions. If the answer is yes, then you probably
already have the equivalent of a BS in Comp Sci. If the answer is no, it
sounds like you are in a great position to turn that no into a yes.

Either way IMHO, you do not need any more formal education. You already have a
BA degree and 10 years experience. In our field, on the job experience almost
always trumps education.

Unless you really want to go to school for the sake of going, I'd suggest
finding ways on continuing you computer science education in the same trenches
that many of us have.

~~~
learninglisp
I defined it as "mostly coding database apps, doing tech support, and some
sysadmin type duties."

That means coding the hell out of SQL... and then taking that SQL and dressing
it up in ways that users can benefit from it without bothering me. Which means
coming up with little cutsey applications that dish up a variety of "stupid
spreadsheet tricks". I code these sorts of apps start to finish by myself,
deploy them, and design them to require a minimal amount of maintenance. The
language/system used is whatever is currently in use in the business
environment-- except maybe something newer/better if the situation justifies
it.

As a system administrator, I write perl scripts and put them up on the server
to run on a schedule. I write little perl scripts for users to create new
system commands for anything they ask me to do more than once. I know where to
look to see if people can do their jobs or not... and I know the 5 most common
things that need to be done when things don't work. Mostly this is starting
and stopping services and/or killing bad processes.

I solve math problems. I'm the only person in the factory that will admit to
knowing Trigonometry-- and as we're in manufacturing that actually comes up
occasionally.

I talk with users to find out that they need. I actually care about them
sometimes. I work with CPA's to find the missing eleven cents. I am sort of
tangential to a lot of activity. If I don't fix something, I know who the go-
to-person is. I often have to be the go-to-person anyway if the other guy is
out sick.

90% of my job is actually social. I talk to people and use basic deductive
reasoning to pin down what should be done. Then, when I don't know everything
to do it, I coordinate with the people that do to make sure everything works
out. I say 90% because I don't actually have to think much about the SQL,
Perl, Blub, etc code anymore. The hard part is figuring out what people need
as opposed to what they think they need.

I don't consider this to be "real" computer work. I'm just the "IT Guy". I
don't believe I have to credentials to do "real" computer work. Maybe I'm
wrong. I don't feel that there's much interesting stuff to learn in these
particular trenches. I'm not sure that people in more interesting trenches
would actually give a #$%*(#@ about what I know and do.

Hence the interest in maybe a certificate that amounts to half a Master's
Degree.

~~~
tom_b
Just to insert my 2 cents - you are doing "real" computer work. I have a
friend (neighbor actually) who has degrees in geology, but is clearly a top
notch developer. He runs a very successful small software shop (doing custom
development for small to medium businesses, usually on the Microsoft stack) -
when you mentioned the 90% social, "pin down what should be done" angle, I
immediately thought of what this guy does. His customers could care less that
he doesn't have a CS degree.

What he does that really sets him apart (in my view) is that he sits down with
the people who are doing the work in these small to medium size businesses and
then designs the tools that he feels would make him most productive if he had
to do the job of that person.

BTW, I have a MS in CS and spend my days hacking SQL. I really enjoyed getting
both my BS and MS in comp sci. Having them was pretty key in kick-starting my
career. I started at a huge IT company and the degrees mattered there. They
have mattered much less since leaving that company. Don't worry so much about
having the magic credentials to actually do "real" computer work, I think of
the credentials as being door openers mostly.

~~~
learninglisp
Here's my new theory:

I wouldn't necessarily be happy getting a high-powered hard-core ultra-geek
development job. I don't want to have to move to the Big City (tm) and ignore
my family.

Going "deep" would be fun... but strategically, going "wide" would be just as
good.

As a developer, I'm irritated with my dependence on cranky and unsympathetic
sysadmin types. The Unix Admin Cert here:

<http://www.oreillyschool.com/certificates/>

... would let me pin down a side of the business I'm less comfortable with...
give me a cheap platform to run my own apps on... give me the skills to try a
Unix solution when I want to try that as a Guerilla solution... and... maybe
open the door to a different sort of job in a location that would be a better
fit for me. Maybe.

So... not a better hat... just more hats.... "IT Guys" are always generalists
anyway. Why try to be something I'm not when I have a perfectly good career
(even if it's a little dull.)

