OT: Value of CS Degree

F

Frans Bouma [C# MVP]

Cor said:
Nick,

Now I have read your reply I understand why William Shakespeare is
such a lousy author and Van Gogh such a lousy painter.

They should have had a degree to do better than they did.

I assume that you understand what I want to say.

An art academy doesn't teach you how to paint, it guides you to
fine-tune your talents.

With CS this is not completely the case, (although non-talented people
can try, they'll never become a great developer), as to succeed in
crafting software, you also need technical knowledge that's not yours
when you start, however to paint a painting doesn't require that deep
knowledge (besides how to mix colors etc.) that it witholds you from
starting and, if talented, succeed in some way. However make no
mistake: even the greatest writers today have had some education how to
write a book.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
C

Cor Ligthert [MVP]

Frans,

I am waiting on your first painting that is better than Van Gogh ever made
and at your book that makes from what Shakespear has written kid stuff.
An art academy doesn't teach you how to paint, it guides you to fine-tune
your talents.

This what you wrote above is in my opinion exactly as every education should
be.

Just my thought,

Cor
 
F

Frans Bouma [C# MVP]

Cor said:
Frans,

I am waiting on your first painting that is better than Van Gogh ever
made and at your book that makes from what Shakespear has written kid
stuff.

You didn't get my point, I guess.
This what you wrote above is in my opinion exactly as every education
should be.

you can only make the comparison between science education and
artschool if science == art, and not everyone is convinced about that ;)

FB
Just my thought,

Cor


--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
C

Cor Ligthert [MVP]

Frans,
you can only make the comparison between science education and
artschool if science == art, and not everyone is convinced about that ;)
No surely not if it is discussed by someone from Friesland and someone from
Holland.
(to be more precise Amsterdam)

:)

Cor
 
C

Cor Ligthert [MVP]

Frans,

However
you can only make the comparison between science education and
artschool if science == art, and not everyone is convinced about that ;)
We are talking about education, not about the subject of education.

You can eat fish or spinach. It is both eating, but therefore is a fish not
a vegetable

:)

Cor
 
J

jeremiah johnson

Verde said:
What is the real-world value of having a university degree in computer
science?

"Real world value" means something different to everyone. to me, it
means happiness. I love my job. I get paid well, so my wife loves my
job too, but she wouldn't last very long doing what I do.

I do not have a degree of any kind. Not one single day of education
past high school. I make over $100k/yr writing Java. I'm not very
good, but I'm better than my peers. I have a pretty good idea of what I
do and do not know.

My wife has a masters in computer science, and is having difficulty
finding a job that pays over $10/hour because she does not have experience.

in my eyes, experience FAR outweighs education. You'll get a crappier
job right out of high school than you will right out of college, but if
you work hard, that four to six years will result in more financial gain
for the one without the student loans. It did for me anyway.

Your mileage may vary. If you love what you do, and you work hard,
you'll succeed no matter what your level of education is. A degree in a
particular field won't help you one bit if you don't like to work in
that field.

Find what you like doing, and do that. Happiness and financial gain
(for the most part) only come together when you choose a career that you
enjoy.
 
V

Verde

Brilliant post!

Especially this part:
<< Find what you like doing, and do that. >>

and this part:
<< I have a pretty good idea of what I do and do not know >>

It's refreshing to see someone here without a technical superiority complex.

Have a great day!

-"Verde"
 
J

jeremiah johnson

Its the girls that aren't compu-geeks that I'd be interested in, had I
gone to college. I have enough dorkosterone for both me *and* my wife.

I'm glad she doesn't like computers, or this house would be a star trek
convention 24/7 and no one needs to raise children in that kind of
environment.

all jokes aside, i think it would be better to not have to talk nerd
when I got home from work where i just spent nine hours talking nerd. i
love programming and i love my job but i need a break every day to
decompress and let what i learned at work move to long-term memory.
lets make googoo sounds for the baby rather than talk about nuances of
Java-RMI.
 
A

Alvin Bruney

gowd that's a lot of money. you trying to pull a fast one on us?

--
Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The Microsoft Office Web Components Black Book with .NET
Now Available @ www.lulu.com/owc
Forth-coming VSTO.NET - Wrox/Wiley 2006
-------------------------------------------------------
 
J

Jon Skeet [C# MVP]

jeremiah said:
Its the girls that aren't compu-geeks that I'd be interested in, had I
gone to college. I have enough dorkosterone for both me *and* my wife.

I'm glad she doesn't like computers, or this house would be a star trek
convention 24/7 and no one needs to raise children in that kind of
environment.

Just out of interest - why did she take a masters in computer science
if she doesn't like computers? Or did she used to like computers but
doesn't any more?

I'm reasonably glad my wife isn't into computing either, for similar
reasons. Her classical education is also extremely helpful when it
comes to crossword solving too :)

Having said that, she does have an iBook she writes her books on. And
of course our two year old son likes his laptop too. Have a look at
http://www.pobox.com/~skeet/tom/laptop1.jpg - it's like Goldilocks and
the Three Bears meets the modern age! (There's a laptop2.jpg too.)

Jon
 
J

jeremiah johnson

Jon said:
Just out of interest - why did she take a masters in computer science
if she doesn't like computers? Or did she used to like computers but
doesn't any more?

she started the degree program because she thought there was money
waiting for her at the end of it, and at the time she had a fairly
strong interest in computer science. This was in 1994, awareness of the
Internet had just become global, and I think she was kind of swooped up
in the excitement. When she started her major she wanted to be a
programmer. Halfway through her degree she realized that she hated
programming, but finished her degree because she didn't want to start a
new major. She hasn't written a single line of code since.

It boggles my mind that as part of her degree, she would have written
code that is still way over my head: compilers, assembly, ray tracers,
etc. She's written more C than I ever will.

It seems she wants to be a housewife. If that's what makes her happy,
(it seems to be) then that's fine by me.
 
J

John Bailo

Verde said:
What is the real-world value of having a university degree in computer
science?

There is a second question of when and how to get that degree.

For example, some make it to be "experience vs. book learnin'"

But it could be, get an entry level job, and go to school at the same
time, taking a course or two at night, or using distance learning, and
letting your school courses match your work experience.

I myself studied Information Science at the U. of Pittsburgh, not
"Computer" Science, so their are alternatives since 99% of programming
does not involve writing a compiler, but in /designing/ applications.
 
J

JaredHite1

My curiosity has overcome my tact and all sense of propriety...I have
to assume that an MVP in ASP.NET has got to be getting well into the 6
figures. Is Jeremiah's salary that off base to you Alvin?

I'm doing about $100k 2 years out of school, so I assumed all you MVPs
were doing at least twice that. Am I way off here?

-Jared
 
J

Jon Skeet [C# MVP]

Verde said:
<< I meant what I said though - if you have a

Okay then..
But first I'm only pointing this out because you specifically asked; I
really have no interest in enumerating such things for the sake of being
punative or vindictive.
Sure.

Also, if you disagree then fine - let's not keep
this thread going. I doubt we're going to change each others minds on this:
So here goes..

Well, fairly obviously I disagree with you, but I don't think that
needs to stop us from discussing it.
There was a thread on 03/28 - subject: Fast Searches of a Thread Safe
Collection of Structs
In the OP (which was by myself), I specifically wrote that I was looking for
high-level direction. This was not me asking for you or anyone else to do my
work. I just wanted pointers so I could go and do my research - dive into
uncharted territory and become more knowledgeable. My request was simply
intended to narrow the scope of [possible topics to study] down to a handful
that would be relevant to my project.

Okay. Let me show you my side of things. Here's the facts as I saw
them:

1) Threading is difficult. Even those who are generally accomplished
find it difficult. You really need to know what's going on.

2) Generics (like Predicate<T>) are difficult. I've been reading the C#
spec through from start to finish recently, and the number of ways that
generics impact things is incredible. Again, it's something you don't
really want to mess with until you've got a good grasp of the basics.

3) The fact that you chose structs to start with and then justified the
decision with "I was using structs simply because they are lighter
weight than classes" suggests a lack of understanding of the
fundamentals of value types and reference types. If you believe that
you *do* have a good understanding of classes vs structs, I hope you
can at least see why I would come to the conclusion that you didn't,
based on those two posts.

Now, the difference between value types and reference types isn't some
academic concept, or something so low level that the average coder
needn't really understand it (compared with, say, your L1/L2 cache
example elsewhere on this thread). It's crucial to understanding how
your system operates, where changes to data will be reflected etc. When
combined with threading, a failure to understand this really important
facet of .NET is going to hit you hard. Even worse, threading is
particularly tricky because it's easy to *think* that you've got
something that's correct when you haven't. Things can look like they're
working absolutely fine for ages - until you suddenly find things
aren't as safe as you thought they were. A false sense of confidence is
very, very dangerous here.

Likewise, understanding generic delegates (such as Predicate<T>) is
going to be pretty tricky without a firm grasp of non-generic types.

*None* of this is a reflection on your intellect - only your
understanding of the .NET type system, and my attaching a lot of
importance to it. It's a matter of being ignorant rather than "dumb".
Now, I attach no stigma to the word "ignorant". There are far, far more
subjects I'm ignorant about than ones where I'm not ignorant. In
particular, ignorance can be "cured" through study - which is the
course of action I suggested to you.

I've seen people ask questions beyond their experience *loads* of times
in newsgroups. It rarely works out well if they're just fed answers
without being encouraged to learn things in an appropriate order.
Indeed, it came up often enough on the Java newsgroups that I wrote a
page about it: http://www.pobox.com/~skeet/java/learning.html

Another hint that Predicate<T> might be an inappropriate level to dive
in at was your response of: "What is "Predicate delegate" as used in
the above recommendation?" Now, I would hope that the first thing you'd
do when seeing a phrase you didn't understand would either be to
consult MSDN or Google. In both cases, there is plenty of information
available, and predicates are reasonably well described - if your level
of experience is appropriate to be using them. So, either you're so
lazy that you can't be bothered to Google for something before asking
the newsgroup, or you didn't understand the information presented to
you. I have no reason to believe you're lazy, so I thought the second
possibility was more likely - which further reinforced the idea that
the best thing would be for you to learn more about the fundamentals
before moving onto threading and generics.

Did I handle this as well as possible? Almost certainly not.

Do I stand by my belief that it's important to learn the basics before
advanced topics? Absolutely.

And yes, I experiment in order to learn - but as soon as I run into
something which feels like it's a bit beyond me, I go back to the
basics - and these days I try to learn things in a more organised
manner rather than diving into the deep end. In my experience it always
gets *some* results quickly, but costs time in the long run compared
with a steadier approach.
 
R

randolpho

Wow, Verde....

Kudos for an amazingly well-crafted Troll! You start with a short
introductory post that touches on a sensitive topic, but not in too
obviously slanted a way. Then you sit, and wait for the bait to be
nibbled.... and plant that hook firmly in out collective cheeks with an
all-out flame! Breathtaking! I especially love your repeated use of the
phrase "technical superiority complex". Simply brillant!* You certainly
get extra marks for that. I'll bet it took you weeks to come up with
it, polishing it, testing it out on the mirror... I can imagine how you
have honed your art, the sacrifices you must have made, all for the
sake of this masterpiece. I salute you!



* Spelling deliberate. See http://www.thedailywtf.com for details
 
C

Cor Ligthert [MVP]

Jon,

We will probably never agree about this. I find the possibility to maintain
much more important than any feature that makes a process faster.

I have the idea that I find nothing back in your message, does that sustain
my first sentence?.

Cor
 
N

Nick Malik [Microsoft]

Hello Kevin,

Kevin Spencer said:
Hi Nick,


I've been kind of hoping that this could remain *above* the level of a
flame war. So far, it has skirted that level a few times, and I'm about
done with it. But, I did want to clarify a couple of issues you brought
up:


First, I am hoping that what you meant by the first statement was purely
subjective. In other words "you are more valuable than someone without a
degree" * as far as I'm concerned*. Otherwise, the statement does not hold
logically. There is no guarantee that someone without a degree will not be
as good or better than someone with a degreee. Take Artistotle, for
example. Or Bill Gates. Yes, these are statistical anomalies, but they
indicate that the predictability is not certain, but only probable.

I guess I wasn't clear. First off, /all/ statements I make are purely
subjective. Secondly, my statement was meant to be taken in context with
respect to the amount of competition in the marketplace. Neither Aristotle
nor Gates were applying for jobs in a marketplace saturated with people with
comparable degrees. Their statistical anomalies aside, if you were to start
your own company or author unique and brilliant thoughts (or works of art,
as in Cor's example), I would say that you are not seeking employment, but
rather seeking excellence in your chosen vocation. There is a HUGE
difference. You see, with vocation, you are judged by your real output.
With employment, you are judged by your /perceived/ value with respect to
the needs of the employer and the competitive marketplace of applicants at
the time. Totally different things. (As your tag line indicates).

So when I say that a person without a degree is less valuable, I do not mean
'human value.' On the contrary, I believe strongly that all humans beings
are priceless. What I am saying, though, is that in the marketplace of
employment, your value is substantially less by comparison to others also
applying for the same position if you do not have a degree and a substantial
number of those competing against you do.

As for the statement "All you prove by forgoing a degree is that you have
no patience for learning how to think," again, that may be a less probable
probability, but it is far from certain. There are many reasons why people
may not have attended a university or obtained a degree. For example, in
my case, by the time I realized what it was that I was designed for, I did
not have the time or money to attend a university or obtain a degree, and
of necessity taught myself.

I applaud you personally. I have seen the real output of your abilities in
your frequent and valuable posts.

That said, your programming resume probably wouldn't make it past the
recruiter to the hiring manager in most companies if 30 resumes come in, and
20 have degrees. Therefore, the degree becomes necessary, even if it means
going back to school to get it. (A family member of mine holds three
Masters degrees, the last of which she earned after her 45th birthday.
Don't tell me it cannot be done.)
But I certainly had the self-discipline and will-power to teach myself and
to find mentors who could help me. Is that the way I'd recommend anyone to
follow? No. But again, it addresses the rather demeaning statement
regarding the personality flaws of anyone who does not have a degree, for
any reason.

I do not mean to imply that your personality is flawed. I do intend to
imply that there is a the message that you send by choosing not to get a
degree. You send a clear statement: that a degree is not important to you.
If the hiring manager values his or her degree, they may choose to ignore
that message... but it's often a strike against you. If they do not ignore
that message, you are stuck.

Just as you choose the clothes you wear to your interview, you chose the
credentials you bring with you. Choosing not to get a degree has a similar
effect on the hiring decision as choosing to wear blue jeans. Not everyone
can afford a nice suit, but face it, without nice clothing, you may get a
strike against you, regardless of your talents. This is life. Life ain't
fair.
In fact, the value is not in the degree itself. The value is in the
knowledge that has been obtained by means of getting the degree. The
degree is only evidence, of use to the employer considering a candidate,
but not necessary for the developer.

The degree is evidence that you completed a rigorous program of study
including courses in a wide array of difficult subjects (and a few easy
ones). It is evidence that people with scholarly intent and considerable
education judged your efforts to be substantive and worthy of the name of
their college. It is not evidence of time spent in lecture halls, but
rather evidence that a set of educated people have chosen to hold you in
high esteem. The effort needed to earn that esteem is valuable to the human
being, regardless of what profession they seek. It is intensely valuable to
a software developer, given the amount of change in our field (as compared,
for example, with mechanical engineering or literature, which are fields
that change but not quite so wildly or so frequently).
Agreed. All I've been saying is that it is necessary to discern between
what is valuable and what seems to be valuable. Knowledge, creativity,
self-discipline, motivation, these are valuable. A degree may or may not
be. And, in some cases, it is of no use whatsoever. Still, in general
terms, it usually is. But statistics are something completely different
from the individual cases that comprise them. A dependence upon statistics
*alone* is unwise. It is important to understand the underlying causes of
the statistical outcomes in order to be as successful as possible, and
when possible, to apply that understanding.

The value of the degree comes from the student. If you chose not to value
the experiences you had, then it doesn't matter if you were getting a degree
or trekking to Antartica. Both can be unique and formative experiences, or
not, depending on the student. That said, a degree takes substantial time
and money. If you manage to spend that much time and money and still you
manage to devalue your own experience, then you are not typical. Those
folks fall out during the phone screening fairly quickly. (You see, I don't
rely on statistics either. I actually test the folks who come in for the
interview. They have to have the degree and they have to have become better
for having it before they get to my technical questions.)
A university can provide one with knowledge, but it can also have the
effect of limiting one's ability to think in certain ways, as it is often
demanded of the students that they change the way they think in order to
succeed in the university.

Yes. It is true that universities can demand changes in the patterns of
thought. That said, most universities do not demand that particular aspects
of thought be /discarded/, just that some specific methods be encouraged
while you are learning those methods. If your mind is so limited that you
cannot hold two ideas in it, then university studies will hopefully put a
reasonably useful one there. For the vast majority of folks, however,
University does not replace one mechanism with another, but enhances the
ability to think by providing multiple alternative approaches.
In fact, any teacher/student relationship can have that effect. This can
have the effect of destroying creativity.

The only folks I've seen come out of University less creative than when they
went in were not terribly creative people to begin with. I have no evidence
that they would not have simply lost that creativity on their own. In other
words, if you take 500 not-so-creative folks, and put 250 through a
university program, my hypothesis is that the rate of loss of creativity
will be the same or less for the university group than for the control group
after 10 years.
It may have the effect of encouraging creativity as well, depending upon
the teacher. Creativity is what gives us the ability to derive new
information from existing information. It is how we move forward.

Most university programs in the West have, as an underlying principle, the
notion that creativity is fundamental to learning. For this reason,
professors will work to create a creative environment. Students reinforce
and build creativity as well, in study groups and classroom labs and social
gatherings. Universities are wildly creative and stimulating environments
that are not just a collection of courses, but an atmosphere in which
willing participants share together in the joys and trials that come with
expanding their universe.

Last thought: There are valuable programmers who do not have a degree.
However, their numbers are becoming proportionally smaller over time, a fact
that produces a 'tipping effect' away from them. If history is a guide, 80%
or more of programming will be practiced by folks with four-year technical
degrees within 20 years.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
 
C

Cor Ligthert [MVP]

Nick,

I agree with your message, but is it not much simpler to tell.

As manager, what is than easier to tell to his/here manager as the guy/girl
does not fit in the place as it should be than: "How could I know that
he/she is so lousy, he/she has such good papers?

And with that the manager protect him/her self.

Therefore alone these papers have already value.

This goes only for a number of times and until a certain level by the way.

:))

Cor
 
J

Jon Skeet [C# MVP]

Cor said:
We will probably never agree about this. I find the possibility to maintain
much more important than any feature that makes a process faster.

I have the idea that I find nothing back in your message, does that sustain
my first sentence?.

I'm afraid I don't understand *any* part of this post, or how it
relates to mine, unless you're talking about the learning process - in
which case I'd suggest that learning in appropriate steps (instead of
diving in at the deep end) not only makes the learning process faster,
but makes it more sustainable too.

If you're talking about *code* maintainability being more important
than speed, I agree with you (for most cases) but fail to see what that
has to do with my post.

Jon
 

Ask a Question

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.

Ask a Question

Top