Fog Creek Software
Discussion Board

Is a college degree really that important?


I just wondered, how many of you do have a college/university degree in computer science or software engineering, how many have a degree in a related field (like maths, physics or the like) and who just is a selfmade-man (or -woman).

The reason I ask is, that I do not have a degree myself (I did teacher training for English and history, but dropped out before I got a degree there). I take computer science classes at a "long distance university" and hope to get a Bachelor degree in a few years time, but it is a lot of additional work and sometimes I wonder if it is worth the effort, since the things I learn there are only remotedly connected to my everyday work.

I work as a C++ programmer in the field of image processing for two years now and have a job I am very happy and content with. So I am not asking: Is it necessary to have a degree to get a good job. For me, obviously, it was not. What I would like to know is: Do you feel your college education in computer science really helps you along in your job? Can you imagine to do the same job without that education, just with learning-by-doing and reading books or attending seminars on special issues when you need them.

Thanks for any replies,

Jutta Jordans
Thursday, January 24, 2002

I have a first degree in Engineering and a PhD in Computer-aided-Design, and I now program Computer-aided-Design systems. I do use significant chunks of what I studied - but primarily because I studied what I program about, rather than studying programming or software-engineering itself.

A mixture of the two would probably be ideal.

I am still waiting to add Dupin's cyclides (the topic of my PhD) to our CAD systems... it has come fairly close once or twice, but I don't think it will ever happen!


Tim Sharrock
Thursday, January 24, 2002

You don't have to have a degree in computer science but it helps.

It's not often that you get the luxury of being able to spend 3 or 4 years studying computing principals full time. It's hard to beat that early on in your career.

Matthew Lock
Thursday, January 24, 2002

IMO, the most important things you should learn in college are how to read, write, and speak in public.  Do that and you're ahead of the game.

I have a BS in Physics, but got into computer science while working an internship with NASA.  The scientific field of study strengthened my logical thought and abstract conceptualization abilities.

If you get those basics down you'll go far in programming.  Considering the shortage of (good) programmers, most companies would be willing to train you if you already had the above skillsets.

Brandon Knowle
Thursday, January 24, 2002

I would say that it's essential if you're not some sort of otaku that understands program design the way most of us understand reading the newspaper.  If you are that sort, then it's merely a helpful addendum, filling in the few holes in your knowledge that you haven't yet gotten around to filling.

I'm speaking here in terms of how helpful the knowledge  you would get in the process of getting your degree would be to you, personally.  If you plan to always be your own boss, that's pretty much all you have to worry about. 

Otherwise, there's also the aspect of the ever-important resume.  If there's a degree there, it says something to the employer.  If there's no degree, and you're simply just extremely good at programming, you need a way to let the employer know that.  You need something you can put on the resume that gets you in for an interview, and then you need something you can do in the interview that gets you the job.  That would probably mean writing software on your own time, which is fairly well-known and well-received.
For example, John Carmack would have no problem getting a programming job, degree or not.  (I don't recall whether he's degree-less.)

Paul Brinkley
Thursday, January 24, 2002

"IMO, the most important things you should learn in college are how to read, write, and speak in public. Do that and you're ahead of the game."

  - I would add "The ability to think Analytically."

  Which includes ideas like Critical Thinking, Abstract Thinking, the ability to keep several variables in your head at the same time, Symbolic thinking/symbolic logic, all lumped together.

  This implies a degree in CS, Engineering, Math, or Physics.  I did my undergraduate work in Mathmatics, but when I was in high school I took night courses at a nearby college.  The course I took in assembly-language programming and the philosophy Course I took in "Logic and Rational Thought" really helped me "GROK" programming, IMO.

  You could get all this from focused, disciplined self-study, but as an adult I'm forcing myself through an MS in CIS program.  That's a lot more respected than "I read a book ..."

just my $.02.  In my experience, some employers won't hire you unless you have every single skill requirement.  Those companies generally hire for Skill, not talent, and they are generally companies that I do not want to work for ...

Matthew Heusser
Thursday, January 24, 2002

"IMO, the most important things you should learn in college are how to read, write, and speak in public. Do that and you're ahead of the game."

Yeah, I can read, I can write but just can't really speak in public. I'm kinda anti-social but I try hard to work on my social skills. Unfortunately, I've only improved a little.

Thursday, January 24, 2002


That's me. I was operating an import/export company in Brazil before I got into programming. I also dropped out. I went to live on a kibbutz rather than finish school.

>The reason I ask is, that I do not have a degree
>I take computer science classes at a "long distance >wonder if it is worth the effort

The question is important to whom?  To yourself, hardly. I tell my kids that the purpose of school is to win. You can learn anywhere at anytime.

In the marketplace I'd say it's very important. The majority of people in the trade cannot confidently make decisions about your ability. A college degree will help these people tremendously.  If I were to hire a programmer I would want to read their code, yet most jobs just want your resume in proprietary word format. What does that say?  They want to see where you worked and what you were paid so they can use other people's judgments.

>was not. What I would like to know is: Do you feel your >college education in computer science really helps you >along in your job? Can you imagine to do the same job >without

Well you proved it possible to do without.  Anyone can study grammar but how many can turn a phrase.

As a self-taught programmer myself, I like to read about the "how" to do a programming project. For that I've found McConnell to be very rewarding.  I read books about the basics of computing, you might be suprised at the things you don't know. For instance, as much as I hate to admit it, I had no clue about modular arithmetic until I was browsing through a book on mathematics and suddenly I recognized what I had used to determine even/odd but now I saw how I could use it for much more (like hours/seconds).  I think these things are important so even if you can always find one way to do a job, it's good to always expand your knowledge base. Just make sure that you are taking good courses.

Peter J. Schoenster
Thursday, January 24, 2002

I have a dual undergrad degree in mathematics and computer science.

>>Do you feel your college education in computer science  >>really helps you along in your job?

No, my computer science coursework has been entirely useless on the job. I guess if I knew what type of programming I wanted to do (DSP /Audio applications) before college I could have focused on that and my degree may have been more useful. However if I were to do it over again (which i still might) I would have studied nursing and art history. ;-)  I'm fully convinced at this point that the only good reason to go to university is for occupations which have a college degree as a requirement for part of a professional license. If your idea of an interesting career path doesn't require a degree I recommend dropping out of high school and getting a head start on everyone else. ;-)

>> Can you imagine to do the same job without that  >>education, just with learning-by-doing and reading books or >>attending seminars on special issues when you need them.

Yes, because even though I have a degree in CS the only coursework I have found relevant to my job was post-graduate special workshops in DSP and electrical engineering.  I also took some japanese courses which helped me get a job in japan. And, some small business courses from university extension helped me quit losing money every year. ;-)  Pretty much anything useful to my employment I learned on the job, in books, or from special seminars.

El Grumpo
Thursday, January 24, 2002

I have a Computer Science degree (1997) and I have started working on my masters part-time.  Everyone I work with has at least a bachelors, about half have masters degree’s and I have worked with quite a few Phd’s. 

Does this all mean we produce better software or hardware products?  Not necessarily, but I think it gives us a better chance.  Many people esp. a few of the EE’s I work with think that anyone can write software.  I agree anyone can, but not many can do it well.  I think it depends on the individual and how they feel about computers and designing software in general.  Those that do it well understand that humans cannot handle unlimited complexity and write code that is simple and follows the best understood practices know at the time.  They are the ones that read computer books, not because they have to but because they want to. 

I worked with a EE while writing firmware for SCSI disk drives who wrote some of the best code that I have ever read, well designed and written.  He never had a lot of software engineering classes in college, but he was high motivated on self improvement and read quite a bit on software engineering.  I have also worked with a EE that was asking why he was getting these “assertion” things and how he could get rid of them.  A bright guy, but computers and software did not gather the same respect for him as compared to say hardware design.

Back to the point, I would highly recommend getting the degree.  I went to a smaller state college that didn’t spend as much time as larger universities do on theory etc. and I learned a lot that I apply every day at work.  Theory is good to have, but if you spend all your time in that space then you may not apply much of what you learned in school to work.

Marketing wants to make a fault tolerant cluster that uses inter-connected ethernet for heartbeats etc.  You need to find the largest fully connected group of computers in the cluster.  Well guess what? In graph theory this problem is know as the max clique problem and it is know to be NP complete!  Approximations exist, but it is good to know this before you try and solve the problem.  If you don’t understand the significance of that last statement then do yourself a favor and get the degree so you will when you get out in the industry.

Tony .
Friday, January 25, 2002

I do not have a degree, but I have starting to study for a Msc.  (I was able to skip a Bsc thanks to work experience).

At first it was just to get myself a better job, but now that I am studying I am amazed at how little I know.

The amazing thing is that there are actually alternatives to the current way things are done.

I learnt Object Orientated programming with the idea that this was the correct way to do things, and that older metods were inferior and outdated.

However, now I am studying OO Theory alongside Structured with a fair amount of Formal on the side, and I have discoverd that Structured is a rather neat way of working, and does have advantages of OO. 

The biggest eye opener, though, has been formal methods.

As a result I find myself thinking on a whole new level, like I've peeked over the wall and found there a big wide world out there.

Ged Byrne
Friday, January 25, 2002

I have an Msc and Bsc in CS. The Msc is rather overkill, and hasn't helped me significantly. The Bsc OTOH is rather important. Not so much for what I've learned, but for what it says about me. Or rather, what the lack of it would have said. The job market here in Israel is rather tight at the moment, so while experience is still the major factor, having a degree is also really important. Without it you have to start making excuses, and are at a disadvantage. I'm now at a hiring position, and I can say that given two applicants, one with a relevant degree and one without, I would lean towards the one that has a degree.

OTOH I've meet my share of schmucks with a degree and having a Bsc CS (or Msc or PhD) won't save you from getting fired.

Dan Shappir
Friday, January 25, 2002

>Considering the shortage of (good) programmers, most companies would be willing to train you if you already had the above skillsets.

I disagree.  Get a clue.  Comanies arent traning in shit.,  You dont bring the skills to the table, then you can take a hike. I dont care if your an MIT, 1600 SAT genuis.  No prev exp. then take a hike, unless your a 30k entry level trainee grad recruit.

Saturday, January 26, 2002

No, a CS degrees is a waste of time in the real world ,  in fact it wil make you a worse programmer in 99% of cases.  most of us now use 3GL's and you dont need to know internals,,,,you just become a fixated idiot savant who cant solve a business problem in an effieicnt manner, w.o reinventing the wheel or obessing over under the cover details.     

you want the degreee info?  go buy a few textbooks on algorithms, and CS theory, like turing machines, already work, and have a job,  a degree is for people who dont have that

Saturday, January 26, 2002

It's important if you want a job. I don't know too many companies, big or small, who would hire someone who didn't go to college over someone who did, most things being close to equal. People who think you don't need a college degree aren't living in the real world. The rock star who didn't go to college is such a rare breed that it's a waste of time trying to find them.

Saturday, January 26, 2002

Something about this question bothered me for a while, and now I understand what it is.

You are asking if college gives an advantage for your work.  This question presumes that you are a consumer, paying your money to get product.  But in reality, college is whatever you make of it.  What goal do you precisely have in mind?  College is notorious for giving mediocre answers if you have to ask it for your goal.  Maybe it's best to go there after having experience in the world.

College has many peculiar advantages, as well as disadvantages.  For example, university libraries in the US are open insane hours, and are often huge.  The downside is that you generally don't have much money as a student.

The main good thing about college is the notion that there's something wrong if a week has passed and you've learned nothing new.  The "industry" on the other hand, becomes so entranced with trivial Technologies like XML.  Actual thought is often considered a dangerous thing.

Still, you've got the net, the genie of infinite wishes if you just know how to ask things of it.

Robert Quentin
Sunday, January 27, 2002

There is no answer, those with degrees, especially those with degrees, doctorates and masters will consider them at least more than a little useful.  Those that don't have them and come across some of those graduates perhaps might think they are a complete waste of time.

Personally, it doesn't matter at all whether someone else has a degree or not, but then that's probably because I don't have one myself.

Simon Lucy
Sunday, January 27, 2002

Wow! Thank you all for sharing your opinion :-)

Simon sums it up pretty well when saying:

> There is no answer, those with degrees, especially those with degrees, doctorates and masters will consider them at least more than a little useful. Those that don't have them and come across some of those graduates perhaps might think they are a complete waste of time.

Still, I find both points of view very encouraging, the first because I still plan to get my degree and it is good to know that only very few of you considered their studies a waste of time, and the second because it helps my self confidence along to see that there are people who consider a degree not that important since I do not have one yet.

Robert wrote:

>The main good thing about college is the notion that there's something wrong if a week has passed and you've learned nothing new.

I would not consider quitting my work and go back to college full time though. I have been doing the "long distance courses" for almost two years now and of course I learned a lot (with those courses it is very much up to me how much I learn, even more than in normal college courses, because no one is there who makes me attend classes or gives grades until the final exams). It is my impression that I learn more in everyday work and the private programming projects I do in my spare time than in those courses, though, but this might just be because the college knowledge is not at once applicable.

I am not in business long, but it is my expression that if a week passes and you have learned nothing knew, then something is wrong, never mind if you are in college or not. I have colleagues who are in the company for fifteen years now, and they still consider every day a learning experience.

I want to thank Tony for the max clique problem example, because this directly points to my "theoretical computer science" course I am doing at the moment, where the usefullness for everyday work is really hard to see sometimes. To be honest, it was this course that started my doubts about my studies altogether, because I find it extremely weird and hard to imaging to ever use that knowledge.

Have fun,

Jutta Jordans
Monday, January 28, 2002

Yes.  I am a firm believer in college degrees. 

A college degree says a lot about a person.  It is a completion thing.  Without ever meeting a person, a degree says that you can start a long drawn-out project and that you have the inner strength to complete it.  Two-thirds of this project is not in your area of interest, but you can do that too.  A degree says you are hungry enough to educate yourself.  Whatever you had before the degree, you wanted more - either a career or the knowledge itself. 

With the nature of the ever-changing computer industry, I think it is important to find people who are interested in continued learning and study.  College graduates are more likely to be interested in learning and studying.

Also, I think the theory is important.  The degree itself may not make you a better programmer but it helps with logical thinking and understanding the theory.  It also helps with conforming to formalities and conventions.  The act of studying and learning in your field of study is, of course, productive.

Plus, let's face it. A degree usually increases the income.

Dawn Sandlin
Tuesday, February 5, 2002

cs degree is not that important

i know a few friends, and me, with cs&e degrees from UCLA and UC-Davis --- we graduated and can not find a job in the Sillicon Valley; We all finish our cs&e degrees in about 3 years (it took me 10 quarters, i am the slowest), and gpa is the worst (about 3.1)

during my education, i spent most of my time doing EE (electrical engineering). My algorithm class did not involve writing a single algorithm. CS education right now is pretty pathetic and out of touch with the real world. The more famous the university, the worse --- go to berkeley, and what's their first language?

also, schools seems to be abandoning C/C++/real assembly --- which is a vital combination that's been responsible for most of the software we use.

Most programming jobs today require 3 to 5 years of experience --- so what can new college grads like me do? I handled 22 units a quarter, but of course on my resume I can't say I have 3 to 5 years of commercial software experience.

we should do a survey --- at least for me, most cs majors I know are sales now --- hopefully at a computer store. A few went to cofee shops and the local car dealership.

If you don't believe me, go do a search on --- type in "408 c++". Sure you get 1400+ matches, but I read the first 500 and did not find one job that does not require or imply 3+ years of experience.

i got out in december 2001 (I am class of 2002). I am at home now learning Windows programming from Petzold's book. I hope I can learn enough real world skills to find a job in 9 months --- else I swear I will surrender my U.S. citizenship move back to China --- where they accept just about anybody who knows programming.

louis yang
Saturday, February 9, 2002

*  Recent Topics

*  Fog Creek Home