V
Verde
What is the real-world value of having a university degree in computer
science?
science?
science?
the student body in CS class. Maybe 20% if you are lucky.
clintonG said:Bruce,
Working as a longshoreman will get you nothing but immediate gratification
until the Mexicans show up.
<%= Clinton Gallagher
Bruce Wood said:In terms of dollars, it really depends upon the people hiring you,
whether they see that degree as valuable.
In my 20+ years programming, I've noticed two things about having
university degrees.
The first is that programmers with degrees tend to understand better
the theory behind _why_ some particular programming practice is good or
bad. Graduates of technical schools or self-taught programmers tend to
know what to do, but not necessarily why they're doing it. For
employers interested in a long-term investment in a programmer, that
counts for something.
However, tech school graduates and self-taught people generally know
the "plumbing" of a particular language or tool better than university
grads, so their short-term value is higher, as it were.
[BTW, before I'm flamed to death, there are of course many exceptions.
I have a friend who is self-taught who can blow the doors off most
university graduates: he understands the "how" and the "why". I also
knew some truly mediocre people in university. I'm talking general
trends and perceptions here, not universal rules.]
The second difference is that a degree allows your employer to pay you
more _if they want to_. For example, after I was hired for one job
years ago, one of the long-time team members complained to our boss:
"How come he makes more than I do, and I've been here for years?" My
boss's answer: "He has a degree. You don't." It was B.S.: the truth was
that my coworker was a good coding grunt but not a good designer. The
only thing the degree did was give our boss an excuse to do what he
wanted to do anyway.
Will a university degree open doors for you and result in fabulous
wealth? No, but in subtle ways it can make your road smoother and, yes,
bring monetary rewards.
If I could do it all again, I wouldn't get a university degree: I would
become a union longshoreman and make 50% more than I'm making now with
half the stress. However, if I were stuck with being a programmer, I
certainly would go for the degree. ;-)
Bruce Wood said:In terms of dollars, it really depends upon the people hiring you,
whether they see that degree as valuable.
In my 20+ years programming, I've noticed two things about having
university degrees.
The first is that programmers with degrees tend to understand better
the theory behind _why_ some particular programming practice is good or
bad. Graduates of technical schools or self-taught programmers tend to
know what to do, but not necessarily why they're doing it. For
employers interested in a long-term investment in a programmer, that
counts for something.
However, tech school graduates and self-taught people generally know
the "plumbing" of a particular language or tool better than university
grads, so their short-term value is higher, as it were.
[BTW, before I'm flamed to death, there are of course many exceptions.
I have a friend who is self-taught who can blow the doors off most
university graduates: he understands the "how" and the "why". I also
knew some truly mediocre people in university. I'm talking general
trends and perceptions here, not universal rules.]
The second difference is that a degree allows your employer to pay you
more _if they want to_. For example, after I was hired for one job
years ago, one of the long-time team members complained to our boss:
"How come he makes more than I do, and I've been here for years?" My
boss's answer: "He has a degree. You don't." It was B.S.: the truth was
that my coworker was a good coding grunt but not a good designer. The
only thing the degree did was give our boss an excuse to do what he
wanted to do anyway.
Will a university degree open doors for you and result in fabulous
wealth? No, but in subtle ways it can make your road smoother and, yes,
bring monetary rewards.
If I could do it all again, I wouldn't get a university degree: I would
become a union longshoreman and make 50% more than I'm making now with
half the stress. However, if I were stuck with being a programmer, I
certainly would go for the degree. ;-)
Kevin Spencer said:I think Bruce makes some good points. I'm not going to disagree, but one of
my strengths in problem-solving is my ability to look beyond the question
asked to the information needed, so I'll address that issue.
The question asked was: "What is the real-world value of having a
university degree in computer science?"
The information needed is more along the lines of:
1. How can I get a good-paying job as a programmer?
2. Should I become a programmer?
Number 2 is important to ask, because it addresses the motivation behind
the query. In the process of development, a common mistake is to spend a
lot of time on a solution that addresses the wrong issue, and therefore
never works out. It becomes necessary at some point to backpedal to a
point where the solution began to diverge from the actual requirement, and
restart from there.
In this case, the actual requirement would be best expressed as "I am at a
point in my life where I need to decide upon a (new) career, for one
reason or another. I am considering programming as a career. Should I
become a programmer, and if so, what is the best career path for me to
embark upon? If not, what *should* I choose?
Of course, I can't answer the last question, but I can help with the first
(number 2 in my list, but the first question to consider). Programming is
a lucrative career, but only one of many possible lucrative careers.
Therefore, money is not the primary issue in terms of deciding upon
programming as a career. In addition, as Bruce eloquently pointed out,
programming can be and often is a very high-stress career. It demands a
great deal of one's time. If you're expecting a 40-hour work week, you
might as well look elsewhere. It involves deadlines, and the challenge of
balancing available time and resources against quality, stability, and
features. It is generally expected that you will produce more than you
possibly can in a given amount of time with a given amount of resources.
This is because only programmers really understand what it takes to write
good software, and software, like an iceberg, is about 95% unseen by the
end user. Murphy is a programmer's constant companion. You will constantly
encounter problems you've never seen before, and from time to time get
horribly bogged down in the process. There's little glory in the job, but
a lot of hard work.
In addition, it has the effect of making you increasingly socially inept
with anyone but other computer professionals. Computers don't think like
people do, and to get good at it, you have to train yourself to think like
a computer. If you want to make a good living, you will have to get good
at it, or be very very lucky.
Programming is a game in which the rules change faster than any other game
you've ever played. This is largely due to Moore's Law, and the associated
effects of the fact that computers are what is chiefly used to develop
computers, and software is what is chiefly used to develop software. New
technology is constantly springing out, at an ever-increasing rate. This
means that you will probably spend more time reading technical documents
and articles than anyone in any other profession. Once you stop, your
career is probably over.
So, if you think you want to become a programmer, you really need to ask
yourself this question: Do I *enjoy* writing software? Because if you
don't, you will be a very unhappy camper. The best developers are people
who get excited about creating software, love to do puzzles, and solve
complex problems. In other words, it is a love-hate relationship, and it
always will be. It will rob you of your time, your social life, and your
youth. But if you enjoy doing it, you will excel at it, be happy, and
prosper.
So, in answer to the first (original) question, regarding the efficacy of
getting a degree in computer science in order to get into the business,
well, it won't hurt (an may help) to get your foot in the door. You may
actually enjoy the process, and if you don't, you will find out that
programming is not your bag before you waste too much time trying to get
into it. However, there is no substitute for experience (which, contrary
to most jobs, you don't need to have a job in order to get), creativity,
and a love of problem-solving, math, science, and logic. It is entirely
possible to prosper in this business with no degree, as long as you have
plenty of the other, more important requirements. On the other hand, a
degree will do you no good whatsoever without the other requirements.
--
HTH,
Kevin Spencer
Microsoft MVP
Professional Numbskull
Show me your certification without works,
and I'll show my certification
*by* my works.
Bruce Wood said:In terms of dollars, it really depends upon the people hiring you,
whether they see that degree as valuable.
In my 20+ years programming, I've noticed two things about having
university degrees.
The first is that programmers with degrees tend to understand better
the theory behind _why_ some particular programming practice is good or
bad. Graduates of technical schools or self-taught programmers tend to
know what to do, but not necessarily why they're doing it. For
employers interested in a long-term investment in a programmer, that
counts for something.
However, tech school graduates and self-taught people generally know
the "plumbing" of a particular language or tool better than university
grads, so their short-term value is higher, as it were.
[BTW, before I'm flamed to death, there are of course many exceptions.
I have a friend who is self-taught who can blow the doors off most
university graduates: he understands the "how" and the "why". I also
knew some truly mediocre people in university. I'm talking general
trends and perceptions here, not universal rules.]
The second difference is that a degree allows your employer to pay you
more _if they want to_. For example, after I was hired for one job
years ago, one of the long-time team members complained to our boss:
"How come he makes more than I do, and I've been here for years?" My
boss's answer: "He has a degree. You don't." It was B.S.: the truth was
that my coworker was a good coding grunt but not a good designer. The
only thing the degree did was give our boss an excuse to do what he
wanted to do anyway.
Will a university degree open doors for you and result in fabulous
wealth? No, but in subtle ways it can make your road smoother and, yes,
bring monetary rewards.
If I could do it all again, I wouldn't get a university degree: I would
become a union longshoreman and make 50% more than I'm making now with
half the stress. However, if I were stuck with being a programmer, I
certainly would go for the degree. ;-)
I left the question intentionally vague (as opposed to combining it with #3)
because there are guys like Jon Skeet floating around (not to pick on him or
flame him in any way) with degrees in computer science who seem to place a
lot of value on it and tend to give those of us without that "why" knowledge
a hard time or address our "dumb" questions in a condescending way.
Verde said:I left the question intentionally vague (as opposed to combining it with #3)
because there are guys like Jon Skeet floating around (not to pick on him or
flame him in any way) with degrees in computer science who seem to place a
lot of value on it and tend to give those of us without that "why" knowledge
a hard time or address our "dumb" questions in a condescending way.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.