http://www.perlmonks.org?node_id=306935

This meditation is less of an opinion or even a question then a survey. It's a very simple survey but I anticipate some interesting results.

The question is two part. The first part is: How much did you actually gain from attending a college computer science course and obtaining a degree? Specifically in the context of a job-type environment. Did you find your knowledge of programming in general and specific to be vastly improved? Was it all theory and little practicality? The reverse? Was the knowledge you gained crucial to completing a job?

The second question is how much has having a college degree, preferably in compsci, but I'm also interested in general, helped you in obtaining jobs? Were you given more preference because you had a degree? Because you didn't?

Update:
Heres another twist: what about working as a programmer with a non compsci degree? Obviously you would lack the benefits of the compsci education (well, theoertically) but would the sheer fact that you have the degree get you past those HR people who just look at certs and so forth on yer diploma?
  • Comment on College degrees, knowledge gained and reputations enhanced

Replies are listed 'Best First'.
Re: College degrees, knowledge gained and reputations enhanced
by Abigail-II (Bishop) on Nov 13, 2003 at 22:45 UTC
    How much did you actually gain from attending a college computer science course and obtaining a degree?
    Quite a lot actually. But not:
    Did you find your knowledge of programming in general and specific to be vastly improved?

    I studied Computing Science, and it was quite theoretical. The focus certainly wasn't on programming, or learning programming languages. CS as much about programming, as astronomy is about telescopes. We were taught Pascal in the first semester (well, we only started with Pascal after two months, that's how long we had to wait for computers to arrive; the first two months we learned how to formally prove programs), and afterwards we just got a small manual if we had to use a new language. I didn't write my first bytes of C until a year after I graduated. And I wrote my first line of Perl almost 6 years after I graduated.

    But I learned a lot. From concrete things as math, data structures, and analysis of algorithms, to more meta things like studying complex materials, writing articles, expressing ideas, analysing problems, etc. Most of all, I learned how to think.

    The second question is how much has having a college degree, preferably in compsci, but I'm also interested in general, helped you in obtaining jobs?
    I've had several jobs, and have had jobs offered, that I probably wouldn't have had or have had offered if I had not had a degree. My current job being one of them.

    Abigail

      So, would you say that your primary benefit was that you learned about computer science (i.e. algorithms, data structures, etc), or "how to be an engineer" (for lack of a better term/phrase, and by that I mean problem solving skills, design projects, etc), or "abstract skills" (physics, discrete math, calculus, linear algebra, etc), or "Just having a degree helped me get better jobs." In short, what would you say benefited you the most? :)

      My CS education was similar to this. Mostly theory, very little application. However I do feel that I might have learned more if I had been asked to actually implement the theories more often.

      And I also agree with the degree -- most employers would have completely looked over me if I hadn't had a degree.

Re: College degrees, knowledge gained and reputations enhanced
by VSarkiss (Monsignor) on Nov 13, 2003 at 22:18 UTC

    Part 1: A lot. Seriously. I got both my BA and MS in Computer Science from the same institution. During my 2-year Masters program, I learned more about computing than in the past four combined. (It didn't hurt that I also got hired as a Unix sysadmin in the department. ;-)

    Not only did I pick up specific programming techniques and languages, I also worked with a variety of people. I learned how to cope when I disagreed with someone: either the person giving me direction, or a co-worker.

    I have to give a lot of credit to the University: they had a very good program that exposed you both to the theoretical and the practical. In my time there, I learned not only analysis of algorithms, computability, and the like, I also learned a dozen languages, wrote a compiler from scratch, and built a PDP-8 (this was in the '70s). I later tried to continue on to a Ph.D. at a different University, but abandoned it in a couple of years. Not to say the program there wasn't as good, but it just didn't "fit", especially after having worked a few years.

    As to Part 2: I don't know. I think it helped in my first 2-3 jobs, but I can't tell you for sure. But after a few years of working, I think it didn't matter. Experience counts much more than education after you've been working a while.

Re: College degrees, knowledge gained and reputations enhanced
by vacant (Pilgrim) on Nov 14, 2003 at 00:00 UTC
    Here is some experience from someone who has been through it without the degree. Maybe this will be useful to some of you.

    Back in the day, I dropped out of college and joined the Navy for six years. The Navy told us all that three years of Nuclear Power training are equivalent to "a college degree", but they don't issue a diploma.

    At that time, a person with good ability and a Navy Nuclear background could just about write his own ticket in Silicon Valley. I worked my way from "Test Engineer" to "Senior Design Engineer" in about three years, and thought I pretty well had it made. This was digital hardware design, back before I decided I was a programmer. But it only works up to a point, and I learned quite a few things about being a non-degreed guy working in high tech.

    1. If you don't have the sheepskin, you have to prove yourself every time you change jobs. People (especially HR people) tend to assume that the degree confers the ability. If you don't have one, you are one of the "self-taught"; that is, never quite first rate. Don't expect HR to understand your accomplishments. They don't understand the words on your resume.

    2. Going to college, unless you are really an outcast, makes you one of a large crowd with common college-life experiences. If you didn't go, and sometimes if you didn't go to the same school, you aren't ever going to be one of the gang.

    3. Having ability vs. having a degree can often mean that the guy with ability works for, does the work for, and solves the problems for the guy with the degree.

    4. There is a point beyond which you are unlikely to advance without a degree. This point is somewhere around mid-level engineer, with many exceptions, of course. To get past this point, you just about have to start your own company.

    5. If you do start your own company, the degree business is of much less importance, unless you are a consultant working for large or exceptionally conceited employers.

    6. Having studied all the subjects and worked all the problems you will get in college does indeed help establish a framework within which problem-solving of all kinds will be facilitated. The only alternative I know about is high-tech military experience. You can get all the knowledge you need from books, but you need the leg-up on the experience part you get from the schooling in order to compete. In addition, few people have the perseverence and interest (or nerdiness) to pursue the hard subjects without the constant prodding from the school

    7. Having a degree doesn't guarantee you a thing, but it will make advancement easier. Lacking a degree will be a constant drag on your career.

    You will note that all this happened to yours truly during much more optimistic times in Silicon Valley, during another venture-capital boom, but before the industry "matured" and succumbed to the east-coast bean counter mentality. It is a damned site harder today, but it won't stay that way forever. The economy moves in cycles. Right now there are too many erstwile high-tech people and too little investment capital. Many of those now working in programming will have to change careers. If it's you, don't worry too much. After the trauma is over, your ability will see you through. In any event, if you possibly can, get the degree.

    P.S. If you join the military, get the degree first, and join as an officer.

Re: College degrees, knowledge gained and reputations enhanced
by mpeppler (Vicar) on Nov 13, 2003 at 21:47 UTC
    Well - I don't actually have a CS degree (I majored in Social/Economical Georgraphy some 20 years ago), but I would most definitely not have landed my first job without it. Having the degree is a general passport, it shows that you are capable of understanding non-trivial problems, etc.

    Sometimes I feel that I missed out by not getting a CS degree, but mostly perusing various books makes up for those deficiencies.

    If I had to do it again, and if I had the opportunity (College can be an expensive exercise) I would definitely get a CS degree.

    Michael

Re: College degrees, knowledge gained and reputations enhanced
by Anonymous Monk on Nov 13, 2003 at 23:11 UTC

    I never finished my degree. I'd have about one full-time semester and one half-time semester to go if I chose to complete it. I was majoring in CSCI. My overall GPA was over 3.8 (on a 4.0 scale) and my major GPA was 4.0. I've completed enough major credits for a degree; I only have Gen Ed stuff left.

    I got that far in two and a half years. I could have finished my degree in three years had I not taken a 6 month full-time cooperative education position in another state. The position paid very well in comparison to anything I had made prior to that. This had a downside. It ruined my enthusiasm for academic work. I had learned that people would pay me.

    When I returned, I went back to school for a semester but I was more interested in working. The co-op I had taken was at a place that looks very good on a résumé, maybe even better than a degree.

    I soon took a full-time job with a company that, at that time was relatively unheard of but now is a name you would all recognize. I hated it and quit. Then I free-lanced for a while. Then I took another full-time job. Then I left that one for a position with another well-known company in the industry. Then I was laid-off. Then I got another job.

    The point being that I've never had difficulty finding employment, even at top companies, regardless of the fact that I don't have a degree. Still, degree or not, I wouldn't have had the opportunities I've had if it weren't for going to college in the first place. Not only is that where I got my "big break" (so to speak) but it also gave me a great foundation.

    The CSCI program at the school I attended was very much based in theory. I think that is the way it should be. Practical applications, in this industry, change almost day to day. But the theory stays the same.

    Some institutions, however, offer degrees in computer science that are little more than certifications of competence in using Microsoft's Visual Studio. They aren't worth the paper they are printed on, much less their high price tags.

    Overall, college degrees aren't as meaningful today as they were even 20 or 30 years ago. At least, that's my gut feeling. I think that college was once a real professional training ground. These days though, it's more like a second high school. With so many high school graduates that can't write a coherent paragraph, that's not saying much.

    If you pay the money, you can get the degree without the education. If you want the education, you need to work for it. Now, when I find myself on the hiring side of the employment process, I know I put very little stock in the fact that someone has a degree. I want evidence that they got an education.

Re: College degrees, knowledge gained and reputations enhanced
by shockme (Chaplain) on Nov 13, 2003 at 23:22 UTC
    Had I not gotten the degree, I would have never gotten my first job. Some time later, I left the industry to pursue other ... pursuits. Once I became disillusioned with those pursuits, I re-entered the field. Had I not had that first job, I would have never been able to re-enter the field, because employers were mainly looking at my experience.

    What I learned in college helped me very little. Then, as now, it's always come down to reading and doing. College was too much reading and not enough doing. They're both important, but neither should be done at the expense of the other. YMMV.

    So for me, I guess it comes down to keyboards and camels (doing and reading). And alcohol. Gots to have the alcohol.

    If things get any worse, I'll have to ask you to stop helping me.

Re: College degrees, knowledge gained and reputations enhanced
by Roger (Parson) on Nov 14, 2003 at 06:44 UTC
    Interesting discussion. Here's my response.

    Answer to question 1
    I have a computer science degree and an electrical engineering degree. Going through uni gave me self-confidence. My programming skill as such has not improved much in my uni days, but I have learnt so much on machine architecture, algorithm, efficiency, database theory, AI, etc. that I have helped me tremendously in my work.

    Answer to question 2
    As far as I am concerned, I don't think having a degree in computer science matters that much. Many of my colleagues have degrees in Maths and Physics, Aerospace Engineering, etc. I would rather call myself a software engineer. I were given more preference because I have two degrees and a strong engineering background (especially useful when working in a larger group), but most importantly because of my business knowledge, work experience and my programming skills.

    The conclusion
    Much to learn I have (Voice of master Yoda echos in my head). University only showed me the path, I have to actually walk it.

Re: College degrees, knowledge gained and reputations enhanced
by Limbic~Region (Chancellor) on Nov 14, 2003 at 13:56 UTC
    BUU,
    I do not have a degree. I never matriculated into college. I barely graduated high school.
    Do I feel that not having a degree has hindered me from getting computer/IT related jobs? No.

  • My first IT job was in the US Army. I got this job because I scored extremely well on their standardized test. No degree required.
  • My second IT job was as a defense contractor making 5 times what I was making in the Army. I got the job because of my reputation. I got out of the Army 4 years early because I convinced the Army that this was an "opportunity of a lifetime" (Chapter 5-3). A degree was mandatory. I didn't learn this until a year later when I was reviewing the job requirements against perspective resumes for my boss.
  • My third IT job was as a contractor for the Dept. of Justice, another substantial pay raise. I got this job because the particular project I was hired to work was in danger of being out-sourced. They needed to hire someone who could turn things around quickly and wouldn't need a lot of training. Was a degree required - of course.
  • My fourth, and current, IT job is as a government employee for the TSA. I got this job because of my reputation at the DoJ. Is a degree required - you have got to be kidding. I was unemployed for 3 months while all the waivers were processed to bring me on board.

    Ok, so my view is a little tainted. I would chalk my success up to interviewing well, sharing information, and being blessed by God. Do I feel that having a degree would/could help me. I look around at the brilliant monks here at the Monastery and certainly think so.

    Cheers - L~R

Re: College degrees, knowledge gained and reputations enhanced
by ehdonhon (Curate) on Nov 14, 2003 at 12:54 UTC

    I do have a degree. I had not not yet finished my degree when I obtained my present job.

    I've found that the experiences that I gained in college have helped me develop my style as a programmer. At the school I attended, the Comp-Sci program was all about abstract concepts. We didn't write a single line of code until our second semester, and even then it was all theoreticcal languages like FP, turing machines, or pseudo machine-language. College wasn't about learning the latest shiny new language, it was about learning the building blocks of programming so that when that language isn't so shiny any more, you still had a marketable skill.

    In real life, I've found that many (note use of word, "many" opposed to "all") self-taught people, while perhpas more skilled than I in their language of choice, lack those building blocks. They are slaves to following the example of other people's code. They know the "how" of implementing an algorithm, but don't have the "how" of coming up with the algorithm unless somebody gives it to them. I think that is just the nature of educational process that self-taught people go through (learning by example).

    On the question of finding a job. I missed out on quite a few opportunities because I was one class short of my degree. I was told many times "when you get your degree, let us know, we'll hire you".

    I still worked my way up the ladder to a comfortable position (one that allowed me to afford to go back and complete my degree), but I found that the climb up that ladder required many tiny steps that I probably could have bypassed fewer bigger steps if I had a degree. And always, climbing that ladder meant moving from one job to the next. I've found that when you don't have a degree, employers care much less about seeing you advance within their own company. So, I would start at company A, get a little experience and move on to company B, get some more and move on to company C, etc..

    In conclusion, I do believe that having a degree makes a difference. I also believe that there are both valid and invalid reasons for this.

Re: College degrees, knowledge gained and reputations enhanced
by Moriarty (Abbot) on Nov 14, 2003 at 00:37 UTC

    My highest education qualification is a Certicate in Electronics & Communications and it hasn't helped me much in my employment at all.

    All my programming skills have been learnt at the Moriarty School of Computing Studies and he doesn't hand out diplomas, mainly because they would be useless as nobody would accept them :-). It has meant that I have learnt whatever I needed to know to get the job done, at my own pace.

    Not having a diploma doesn't seem to have done me any harm to date (I have been working as a programmer for almost 11 years), but that may change next year as I plan on looking for a new job

Re: College degrees, knowledge gained and reputations enhanced
by nimdokk (Vicar) on Nov 14, 2003 at 11:38 UTC
    Well, I never majored in CompSci, I took one computer class even closely related to programming and that was BASIC (Quick BASIC to be more exact). I actually learned more about social engineering the professor than anything else :-). My actual major (and degree) is in English. I personally think that a liberal arts degree helped more because it taught me how to thing "outside the box." Although that is not the only way one can learn to think, it was quite useful to me. I also learned a lot about dealig with office politics and other issues that come up in the workplace that have little to do with ones actual job. For my current job, it wasn't so much the degree as my experience (I had had a few week-long training courses more in line with system administration though). Having a minor in CompSci might help, but to be honest, I don't think of myself as a programmer anyway. I use programming to do my job and thats about it. And of course, I am more than my job :-)

    Just my 2 pence anyway.


    "Ex libris un peut de tout"
Re: College degrees, knowledge gained and reputations enhanced
by jdtoronto (Prior) on Nov 14, 2003 at 14:42 UTC
    Like many others here I never did computer science. In 1970 I completed a diploma, it got me a job, during the next year I completed a degree, it got me a new job and a move to another country. I was young, alone and a long way from home and as a researcher I was allied to a university. So I did another degree, then a Masters, then another Masters. Did the degrees help? The answer is an emphatic yes. In 1970 a degree was a pretty amazing thing, few people had them, fewer went on to postgraduate study.

    But none of this helped me get a job. My first job came about as the result of a friend (a photographic technicioan at the university) mentioning my hobby interest in photography to a colleague in industry. THAT got me the job. But the study and the discipline university gave me resulted in a pretty amazing career. Every time I got a new position I did not have the relevant degree, I got it afterwards! What helped every time was an interest in a field related to what I was already doing. Doing some study on my own time and impressing the appointor with my genuine interest in the subject.

    I was in electronics, needed some tools for simulation of designs and structures at microwaves. So I learned the mathematics necessary and when I was looking for a new position I got a research position at a mathematics institute - did a degree and a masters there and got involved in a physics research project. So I moved to another research group and got a degree in physics.

    My conclusion:

    1. I can't talk about HR people, I have never been interviewed by one.
    2. A qualification never got me a job, it was interest and personal study effort that got me jobs.
    3. Getting a degree made each job easier.
    4. The best thing I got from University was learning how to learn.
    5. As an employer or appointor I have granted something of the order of 600 positions in my 30 year career. I would usually prefer a keen amateur who is dedicated to what he is doing and prepared to do the formal study than a lazy, self indulgent degree waver who may never learn another thing in his life.
    jdtoronto
Re: College degrees, knowledge gained and reputations enhanced
by petesmiley (Friar) on Nov 14, 2003 at 16:27 UTC
    Well, chief, since you're fishing for data on the subject I might point out a flaw in your tactic for gathering it.
    1. I have a feeling you will get few responses from incompetent programmers with degrees. Get what I'm saying?
    2. Since those people won't be responding (I could be wrong) then you cannot accurately find the answer here.
    But, here is what I have seen, and these are only a few examples (I do not consider any of these negative, I only made the observation and kept a mental note):
    1. People with degrees and a year or two of experience who can't find a job.
    2. People with accumulated experience of 2 or 3 years and a CS degree who can't keep a job for more than 3 months to a year.
    3. People who have CS degrees who have given up and now manage an auto parts store.
    4. People with 2 years of college, that program and are filthy stinking rich.
    5. People with degrees, that program and are filthy stinking rich.
    6. People with degrees who have been sitting at the exact same job for 8 years.
    Conclusion:
    1. It helps if you want to become a manager in anything but a small company.
    2. Sometimes it gets your foot in the door, when you are looking for a job. Then again, anything that might get your foot in the door is good with the exception of weaponry.
    3. If you don't have a degree of any sort, then you will spend several grueling years working up the experience to be treated as well as anyone with a degree. (Barring the management thing listed as item 1 in this list)
    4. You can't be rich if you work for someone else.
    5. If you work for yourself then it doesn't quite matter in the same way (although you better have the experience to back such a move)
    I don't know what you are looking for in a job. Some people try to find something that changes as little as possible for as long as possible. Some people want to be rich (my favorite). Others want to be uber and don't care, as long as the job allows them to program. smiles
Re: College degrees, knowledge gained and reputations enhanced
by jZed (Prior) on Nov 14, 2003 at 18:02 UTC
    I have degrees in Cultural Anthropology and Linguistics and have had a grand total of zero hours of formal CS training. Never-the-less I've worked in the CS field for the past 18 years. I will say that I've tried to self-educate myself in CS (not just programming, but the theoretical underpinnings of it) and found that of immense value. Most of the jobs I held were ones that used the CS skills I developed (with help from the perl community) *in combination* with my social science skills so that I was working with tools I enjoyed using to accomplish goals that interested me.

    In the jobs without the specific social science bent, the education provided a context and a framework for my CS work - knowing how something other than computers work helps you understand how computers work both by providing models of other kinds of thought processes and because computers always exist in a context that is wider than computers themselves.

    And let me say this about the goal of work: my experience has been that people are most satisfied when they are doing something they enjoy and accomplishing something they are proud of hopefully in a work environment that values and appreciates their skills. Seek the fame and fortune if you want, but those are hollow goals IMnotsoHO.

Re: College degrees, knowledge gained and reputations enhanced
by Art_XIV (Hermit) on Nov 14, 2003 at 19:49 UTC

    If you have the financial and mental resources to get a degree, then by all means get one. At the worst you're going to have pay $$$ for student loans. At the best you've gained some valuable knowledge and skills that will allow you entry into huge corporations that offer interesting work and fat 401K plans.

    Actually being successful in CompSci endeavors only partially depends upon a degree. A degree will help you get some attention when promotions and raises are being considered, but enthusiasm, dedication, personality, responsibility, initiative and experience are are going to get you even more (except with the most PH of PHBs).

    Having a BS degree can only help you in a career as a developer/programmer/engineer/geek. Lack of a degree is just going to make it harder, though hardly impossible.

    Hanlon's Razor - "Never attribute to malice that which can be adequately explained by stupidity"

      I recently, 12/2002, finished my Bachelor's in CS at Western Kentucky University. The curriculum there is very much based in theory. There are what we refered to as "245's". These classes would teach specific things like FORTRAN, COBOL, Java, PHP & XML. These were ...skill-based classes. I found this to be a good method of balancing the required theoretical curriculum with that of a skill-based one. You were only required to take 1-2 "245's" during your tenure.. but you could take as many as you wanted.

      The latter two and a half years of my education proved immensely valuable in terms of theory and practicality. I wrote a shell to read a dos floppy in RAW mode in C, modded a learning virtual OS called "Nachos", a binary heap in C++, a Java class to perform most any standard operation on a matrix, wrote a POP3 Mail client in Ruby, and a "naughty-word" filter in ruby. Those were the more memorable ones. While some of these were ...choose your assignment and I'll verify that it is acceptable, they were still good assignments that I learned alot by doing. I still managed to keep a good hold on the concepts being taught in class, and see how to apply them to the programs I was developing.

      The point of all that rambling is that if a CS degree is based in theory it doesn't keep you from applying the theory on your own.

      Would I have gotten my current job w/o my degree... no way. People who assume, that having a higher education level in Computer Science means that you have no practical skills, bother me. If that were true, we could apply the converse and say that all those w/o higher cs degress have no knowledge of theory... which is simply not true.Any application of theory is an "excercise for the reader".


      Grygonos
Re: College degrees, knowledge gained and reputations enhanced
by Zed_Lopez (Chaplain) on Nov 19, 2003 at 20:24 UTC

    I have a BS and MS in computer science. They got me my first job. At this point (12 years later), if I were seeking a job, the MS might give me a slim edge over an otherwise comparable candidate without one, but I don't think it's very important.

    My MS actually felt a lot like a repeat of my senior year, but as near as I've been able to tell, that speaks more to the strengths of my undergraduate school than the weaknesses of my graduate school.

    I think understanding the theoretical underpinnings of computer science is important, and unlike a lot of people's reports, I did a lot of practical work. (Well, practical to a point. It's not like I was solving new problems or anyone was going to be using my programs after the fact.)

    And some of the best programmers I know don't have degrees but they did learn the theory and do the practice on their own.

    So it's not necessary and the degree program alone won't make you a really good programmer.

    But if you're going to get really good without going through that formally, you're going to recreate at least some of it on your own.