Fog Creek Software
Discussion Board




Benefits of a degree

Recent threads have me doubting the benefit a college degree offers.  People graduating college claim they are "useless" while others tout college as only a playground where they go to have "fun". 

If college is such a waste of money why do people attend?  There must be some benefits?  Would you be in your position today if you did not have a degree?

My memory has just been sold
Sunday, November 02, 2003

People will debate endlessly about the value of a degree.  Anyway, whether or not the knowledge gained in the process is useful, it still helps a lot in the job market to have a degree, whether it is in getting your first job or changing jobs.

NoName
Sunday, November 02, 2003

Most of the people who come out of college and are very good at programming/networking/problem solving, were good going in, but they had time to learn new things, they could miss 50% of their lectures and still do fine.

The slip side is, I've seen people go straight to industry and they've done amazing things because they simply had to, and they've learned huge amounts also.

I mean, what area do you want to get into? If you want to do constraint computation, a degree will be useful, if you want to be a network engineer, going straight for it would help, once you're willing to read a book, cover to cover once a week.

There's no right answer to this type of question, no matter how many people with rant for either side.

fw
Sunday, November 02, 2003

Putting aside the resume value of a degree, I can say that, for the most part, the people I've worked with who had degrees were far better at systematic debugging and problem-solving than self-taught programmers. I'm not sure what the relationship is, since I don't remember any classes that really focussed on that aspect of development.

Maybe it's just like playing on a college team -- you get four more years of experience to hone those skills than someone who jumped straight to the pros.

Zahid
Sunday, November 02, 2003

I think this is another instance of the naked chief vs Big Mac.

A degree is all about predictable results. Large organization can’t be bothered to judge personalities - all they want is predictable results. You did this degree – hence you are expected to be able to perform x, y, z.

If you are a person who is able to learn on your own from books then you are most probably an individual, but the above mentioned system of HR criteria just filtered you out.

( or is this that I am just parroting some old argument? Me Too has to buy some more RAM )

Michael Moser
Sunday, November 02, 2003

The "college team" analogy is a good one.  Some can jump straight from high school to the pros, but most others benefit from practicing the fundamentals and experimenting during college.  Once you get to the pros, you don't have much time to hone the fundamentals or experiment ... you are expected to get the job done right now.

T. Norman
Sunday, November 02, 2003

---" while others tout college as only a playground where they go to have "fun"."----

Strange how quickly comments can get twisted!

The original comment was that I enjoyed studying at university. Note, "enjoyed studying" as opposed to "had a great time when not studying", which is another reason for going to college.

The reason I say this is the most important thing is that if you don't enjoy studying you are quite likely not to last the course, will possibly find yourself in a job you hate, and may have nothing to show for three or four years unless you party well to make up for it.

As to whether college is financially worthwhile, you won't get reliable information by posting here for info on an anecdotal basis. You can check the stats, which vary from country to country but are only an indicator. Thay suggest strongly that a degree is financially worth while. However the devil is in the details, and the details paint a very different picture - for the UK at least. They suggest that whilst graduates in certain fields (law or certain branches of engineering for example) have salaries that are much much higher than the average for high school leavers, in other degrees the difference is smaller, or non-existent, or even negative. Check them out for your country or your discipline, though bear in mind that they refer to the past, and the figures you want refer to the future.

Another point the statistics hide is that there are vast differences between different universities. There are not many involuntary unemployed graduates from Oxford, Cambridge, Harvard, Yale or MIT, though if  you had an offer from one of thise places I doubt you would be airing doubts on JOS about taking it up.

One major problem pointed out in the other thread is simply the vast number of graduates. Now in the US the number of graduates verges on 50% of the population, and in the UK it is around 30% and planned to reach 50%. You don't have to be a genius at math (though apparently you do need to know more than the average politician) to realize that that means that many graduates are going to be earning below the median earnings for their country, and well below the mean. And as computerization is wiping out a large number of middle-class jobs, as automation has been wiping out higher paid working class jobs for 200 years, then it is doubtful that there will be enough "graduate type jobs" to go around.

One thing having a degree will do is maybe give you a better class of parachute. Temporary High School teaching assignments, or social work or other kinds of public admin macjobs, are not likely to be what you aimed for when you entered college, but they are better than working at WalMart, and they are only open to people with degrees.

The question I would ask yourself is this: will you think you've wasted your time and money, if after three or four years of college you find yourself in the same job you are in now? If the answer is "of course", then don't go to college - it's too much of a gamble. If the answer is "Well, I won't be happy but I'll still be glad I did it" then go straight for it. If the answer is somewhere inbetween, then think about it.

(And if the answers is "If you knew what I was doing now you wouldn't ask such a stupid question", then I presume you wouldn't really need an answer to your post anyway)

Stephen Jones
Sunday, November 02, 2003

Treat a degree as a means to learning skills that are valuable to yourself (if entrepreneurial), or an employer, rather than as an end. It's a pretty sad state of affairs that so many treat it as an end.

Dennis Forbes
Sunday, November 02, 2003

A degree helps you get a job. That's why you should get one. I figure a BS increases your opportunities by a factor of ten, at least. A BSCS will increase *that* by at least a factor of two. (best guess numbers. YMMV)

Now, once you have established that foundation for getting one, there are things you can do while getting one to maximize the experience. :)

Philo

Philo
Sunday, November 02, 2003

I would say at this particular time in the IT industry, with an oversupply of qualified people all competing for andundersupply of good positions, a degree is more important than ever.  There certainly are exceptions of course - depends on the job offered - but eliminating all the applications for a position without a degree is one way for the human resources robot to cut the number of resumes to be reviewed in a given pile by half.

Mitch & Murray (from downtown)
Sunday, November 02, 2003

A degree is a really expensive piece of paper.  Nothing more. 

SomeBody
Sunday, November 02, 2003

Speaking as someone who left university early to start earning  I'm tempted to say don't worry about it.  However,  every time I have an interview there's the inevitable question:  "if you're so smart, why no degree?" .  To that end I'm now completing it part time.

Basically to go from 'resume on desk' to 'candidate to interview' you need either:

1) a degree
2) experience

If you have one,  work to get the other.  If you have neither,  get a degree.

Michael Koziarski
Sunday, November 02, 2003

"A degree is a really expensive piece of paper.  Nothing more."

Speak for yourself and your own college.  What I learned in my degree course continues to be valuable to me on the job.

T. Norman
Sunday, November 02, 2003

Steven,
Social work requres a CSW, which is a MASTER's degree. 

Bella
Sunday, November 02, 2003

In our society, a degree is the de facto measurement of training and ranking of citizens.  It may also be another way to preserve the "old boy" network, and display distinctive academic and financial lineage.  It's a hoop to jump through, and a formaility to filter down the masses.  Clearly, you do not need to take formal computer class to learn how to program with the best of them.,  But it's not about the supposed skill you are supposed to acquire.

Also, when you're part of a sea of nameless faceless applicants, it is a standardized measure of "skill/talent/intelligence"  Whether it is accurate is another story, but this is the way your society works, so sometimes you must play the game, unless you find  away to sidestep the entire game.  (ie: get experience, know people, start your own thing, etc)

Bella
Sunday, November 02, 2003

---"Social work requres a CSW, which is a MASTER's degree"---

Yep, but you need the bachelors to get the masters.

I was thinking of the Uk where I don't think there are any jobs that require a Masters.

Stephen Jones
Sunday, November 02, 2003

I think a degree is very neccessary to establish yourself as a developer, but once you have some good projects under your belt, the degree really becomes meaningless.  But, like people said, if you don't have experience, you don't have much of a shot of getting hired on unless you have a degree.

Vince
Sunday, November 02, 2003

You never said what you want to do. Or what industry you want to enter. Maybe a degree will help you find that out.

Tom Vu
Sunday, November 02, 2003

I think that 3 years working is far more valuable than 3 years stuck doing a computer science degree at a university. You'll learn far more, and be earning money rather than spending it.

That said, I think that employers look at it differently. Especially these days, getting a first job without a degree must be tough.

I haven't personally observed any correlation between the quality of programmer, and whether they have a degree in CS (or a degree at all). It seems to me that some people are cut out for it and others aren't, and no amount of sitting in lectures can change that.

Sum Dum Gai
Sunday, November 02, 2003

Don't know about you, but I'd rather that the surgeon operating on me did get a degree...

Frederic Faure
Sunday, November 02, 2003

Wouldn't have gotten my first programming job if I wouldn't have been in school at the time.  it's counted for a few other job interviews since then, but I can't say that I've used much of what I learned.  Data structures, algorithms, computer organization, discrete math, database systems - those were the best courses.


Sunday, November 02, 2003

I went to college because I was offered a full tuition scholarship. I took classes I thought were fun, namely philosophy and math. I got into computers because I thought it was fun, and the temporary job I got sysadmining the college network paid 3 times as much as any other on-campus job. So having some extra money was fun, too. I agree with Stephen Jones on this one. You should take what you think is fun.

There is no real guaranteed "meal ticket" type degree anymore, (aside from perhaps pharmacy school in the USA), so you might as well do something you enjoy.

In retrospect, all of this schooling was a waste of time, and I should have dropped out of high school at age 16 and moved straight to Mammoth Lakes, california, to pursue a career in professional snowboarding.  As much fun as I find reading philosophy books, writing the odd program here and there, and working out math puzzles, I find snow boarding at least twice as fun, and with the boom in the late 90s, I probably could have made a go at it. 

rz
Sunday, November 02, 2003

> Don't know about you, but I'd rather that the surgeon operating on me did get a degree ...

There's a difference. Surgeons can't learn by doing because it would kill people, which is why they work in an apprenticeship system that's confirmed by the piece of paper.

Software developers, however, can.


Sunday, November 02, 2003

From an employer's perspective, a degree offers some predictability in the employee.  How many programmers cover the material from a data structures and algorithms class on their own?  Hiring an MBA means hiring someone who knows how to do a cost analysis and read a profit & loss statement.  Yes, these things can be learned on their own, but that degree is a strong indicator that you've covered these things in a systematic way.

Of course, a degree is not the be all and end all of hiring.  But it's about the most useful baseline there is, at least until you've held the job for a while and your employer can make a much more qualified judgement about your worth.

Justin Johnson
Sunday, November 02, 2003

"Software developers, however, can."

Except in very rare cases, not really.  The work experience of someone who learns everything on the job is miles deep and inches wide.  A CS degree provides, at the very least, some breadth.

If you're a genius, you won't need a degree.  But there aren't a lot of geniuses out there; for certain, there's fewer than think they are.

Justin Johnson
Sunday, November 02, 2003

One last comment: if you're self-motivated enough to teach yourself what you need to know on your own, imagine what you can learn in university, where you have more opportunity to simply study than you do in any workplace.

It's about more than what the professors show you.

Justin Johnson
Sunday, November 02, 2003

Imagine what you can learn while employed, when you have the money to keep yourself entertained enough not to sink into chronic depression.

At least that's what I found.

I found University extreamely boring, because I wasn't learning anything, and the courses poorly taught. The lecturers are paid to do research because that's where the money for the University is, they only teach undergrads grudgingly. The quality of teaching reflects that.

A job may not be a laugh a minute, but at least you occasionally get to do interesting and/or challenging things. You're also covering so many more areas I find. You say University gives you bredth, but I find that impossible. The average subject goes for 12 weeks of 3 one hour lectures a week. 36 hours is nowhere near enough time to cover even one small subject in any detail. So you don't get the bredth, because you end up covering only 4 areas a semester.

That means in your 3 year degree, you at best cover 24 areas of computer science in a very shallow fashion. Probably much less, due to the early subjects having to cover the basics.

Any decent job in the industry should give you more variety than that!

Sum Dum Gai
Sunday, November 02, 2003

Is that 3 one hour lectures per week, multiplied by 4 concurrent areas per semester, totalling 12 hours work per week? Perhaps 12 hours work per week *is* kind of shallow, but you needn't limit yourself to only attending lectures.

anon
Sunday, November 02, 2003

You must be a genius, then, Sum.

Justin Johnson
Sunday, November 02, 2003

You must be a genius, then, Sum.

..or he went to crap school :)

Tseng
Monday, November 03, 2003

I don't claim to be a genius. I don't see what makes you conclude that.

I don't think I went to a crap school. From what I've seen, I probably went to one of the better ones in this country.

The problem I saw was basically that 90% of the people at University simply weren't ever going to be any good at programming. Yet the course has to cater for them. Hence the good students get bored, and the rest aren't helped because they're never going to figure it out anyway.

Not having done any other degree, I can't say whether it's a CS thing or a University in general thing. The few non-technical subjects I did were a hell of a lot more enjoyable and didn't fall into the same trap though.

So either I'm exceptionally good at computer science compared to other subjects, or CS was just taught really badly at the University I went to, or programming is just a "you've either got it or you aint" type field that University can't teach.

My experience suggests it's the last option. I'm not sure why the idea is so hard to accept ... I could spend a decade in art or music school and I'd never be any good at painting or playing the guitar, yet there are plenty of amazingly good artists and musicians who are self taught.

Sum Dum Gai
Monday, November 03, 2003

i tend to concur with sum dum gai. you either got it or you don't.  i started with CS and realized it was very intellectually moribund, the way it was taught. so i switched to math and philosophy and stuck with those subjects, cuz it was harder and seemed to be something with more lasting intellectual value.  i told my brother (10 years my junior) to avoid CS unless he found the courses interesting. he double majored in physics and math. my sister is a public health researcher, and she got through her required database and SAS programming courses alright, but she'll never be into hacking. i recommend college to a certain extent, but don't think CS is a good idea unless you love it. i recommend studying something else you are interested in. the best programmers i have worked with were a MIT dropout who returned to school to get a degree in chinese literature, a harvard english major, and a dude who did major in CS but spent most of his time in the music department. a degree is useful, but don't think you have to major in CS. most _GOOD_ companies are are just looking for SMART people who can get the job done, as joel says. if you don't got it, and get a CS degree, be prepared for a depressing dilbertesque career.

rz
Monday, November 03, 2003

As a developer, I can tell whatever hyperbole about my
projects and experience.  Employers know that.

But, that piece of paper from my alma mater is as real
as it can be.

Amour Tan
Monday, November 03, 2003

> The work experience of someone who learns everything on the job is miles deep and inches wide. 

A few points. First, we're not necessarily talking about the learning being "on the job." Some people really do learn anormous amounts on their own, perhaps while consulting, or maybe they got an inheritance or something.

In fact, the interpretation that this could only occur in some workplace, combined with, Justin, your strong promotion of formal learning, highlights the shallowness that does sometimes characterise that formal learning process.

Second, there's value in everything, but I think the broadest experts I've met have been those who taught themselves in one way or another. This doesn't actually mean they didn't go to university. They might have done physics then learnt software, or politics, or whatever. But the notion that the formal CS is the one right way is not supported by any evidence.


Monday, November 03, 2003

Further to Sum Dum Gai's observations - in other fields that are based on talent, like film directing, writing, photography, art and music, it is very clear that many of the best people did not do a formal course as such.


Monday, November 03, 2003

My bro studied CS in the best univ in my country. It's obvious that he doesn't like programming, but he managed to get cum laude anyway. What he enjoys most though is trading and event organizing. I knew this from his high school days, and so did my parents, and we still encouraged him to go through CS route because: 1. it teach you about structural thinking 2. it's not so abstract - compared to physics for example - and can be applied to whatever he wants to pursue later 3. the best students in our country still goes to CS therefore for competition sake he will compete against the best 4. If you have a CS degree you can still apply to other jobs anyway

There's no point in my posting above, except to ask whether the same reasoning can be applied to students in USA or elsewhere.

Baso Amir
Monday, November 03, 2003

Here's why I decided to do a Master's after four years' experience: I knew there were lots of things I wanted to learn, but I felt I was just spinning my wheels. I didn't feel like just picking up a book, and trying to read and retain the contents during slack moments at work, was going to get me off the plateau I'd reached.

Now that I'm learning formally, I'm forced to learn a topic in depth and then complete an assignment that proves my grasp of that topic. I don't get to pick and choose which aspects of the topic I want to focus on and ignore or evade the rest, so I can't give in to laziness (not if I want to pass, anyway). And at the end, the assignment is marked by a third party who, one hopes, has few or no considerations beyond academic merit when deciding the quality of the work. They don't have an interest in convincing me I'm crap so they won't have to pay me too much, for example; and conversely it doesn't profit them to pass a substandard assignment. Certainly it is not possible to avoid all biases, but I'm glad to have my work verified by a not-too-subjective third party.

It depends on the course, naturally. I chose my course because of its immediate applicability to the industry; and the course directors' work has had a substantial effect on the industry as well. I don't know about other courses, but I'm reasonably convinced that the course I'm doing, while covering things I couldn't easily learn on my own, nevertheless is not too ivory-tower to be useful.

Fernanda Stickpot
Monday, November 03, 2003

One thing about the good programmers who are *versatile*, i.e. they can pick up a new language/platform in a reasonable period of time ... even if they don't have a CS degree, they pretty much have all the knowledge required for a CS degree.  A dropout like Bill Gates in his programming prime could have easily passed the tests and completed the assignments that were involved in getting a CS degree.

It's not the piece paper that is important, it is the knowledge behind it.  A CS degree just happens to be one convenient and enjoyable way of obtaining that knowledge, but it can be obtained otherwise.  Having that knowledge and/or knowing how to look it up is key to being something more than a one-trick pony.

I've seen it over and over again -- somebody with an nontechnical degree or no degree gets a job as a VB or Oracle programmer, then they struggle endlessly when it comes to understanding Object-Oriented principles or pointers.  Or they have a tree structure they have to traverse to figure out something, and they spend a long time hacking up their own naive O(n^2) algorithm that doesn't work properly.  Had they had done a class in graph theory or data structures, the nature of the problem would have prompted them to look up an efficient tree algorithm.

T. Norman
Monday, November 03, 2003

Boy I wish I had gone to uni, either at 18, or been brave enough to ditch work at 28 and have a go...

However I didn't, and today I suffer everytime I'm looking for a new job. Either agencies won't put my CV forward, or HR kills the thing, and I guess that 50% of open positions are automatically barred, even though I now have 10+ years experience.

People around me all have degrees, and occasionally I have to sit through one of the group discussions which decends into intellectual jousting, where all parties dig deep into their memory banks to argue the merits of their favourite systems and methodologies.

However all their collective brainpower, and knowledge gained, can't overcome the fundamental business truth - Today we'll be buying IBM and/or Microsoft and cutting code asap to get the project done...

Raddy Echt
Monday, November 03, 2003

Were I in the position of choosing candidates, I would throw any CV that didn't have a degree on it in the bin unless that candidate also had some damned impressive experience. I wouldn't care however whether the degree was in CS, in maths, or in one of the sciences.

Programmers I've worked with who have degrees have in general written neater, more maintable code than un-degree'd programmers. This applies whether the degree has been in CS or not. There have, of course, been exceptions, and some really bad programmers who do, indeed, have degrees.

Mr Jack
Monday, November 03, 2003

I've noticed a huge difference between programmers with degrees and those without. Mainly, the ones with degrees have a deeper understanding of what they are doing. They understand when and where to apply different techniques.

The ones without degrees tend to stick to what's worked for them previously - however they didn't really understand why it worked in that case. Then they try and apply it again and the  end result is always a hacky pile of crap. Eventually they would have made enough mistakes that they will pick the right technique most of the time.

That's what a degree gives you - an understanding that puts you on par with programmers who have many more years of experience. Sure everyone will still make mistakes, but the learning curve will be less with a degree.

RB
Monday, November 03, 2003

I'd like to second Fernanda's post, which is almost exactly my experience: 5 years in which I went from learning HTML to managing the IT department at a manufacturer where we're designing our next ERP, with no CS classes under my belt.  I'm halfway through my Master's now because I got so frustrated, wondering what I was missing because I didn't know it existed.  My classes are great because they're filling in a lot of holes in my knowledge of which I wasn't even aware.

Don't mistake me: a degree is the start of the learning, not the end of it.  But it's the best start you can have.  Yes, it's not as deep as a good project, or what you can learn on your own when you spend nights really digging into something.  That's the point.  The wide survey makes all the difference later on when you're choosing the next thing to dig deeply into.

Justin Johnson
Monday, November 03, 2003

Discussing the relevance of a degree to a technical career in software development:

If you're not sure how good you are at software development or how interested you are in the subject, I would definitely recommend going for a CS degree. It will help you to understand the subject better and to judge yourself in relation to your peers.

If you're either really good at software development or very interested in it, then the choice is more difficult. If you like formal learning, then go for the degree - if not, skip the degree.

If you know that you're both really good at software development and also obsessed by it, then just skip the degree and go for it.

On a more personal note:

I *hate* and loathe formal learning, or at least all formal learning with which I've come into contact. I'm in that small percentage of people who needs to explore a subject in my own way, and who resents the disorganised, non-strategic and non-comprehensive nature of the average educational curriculum.

It's not that my mind works better or worse than the average person - it just works differently. For example, I find crosswords to be totally baffling - I literally can't get a single one of the clues, even in the quick crossword. And I didn't learn to read until I was 8 years old, because I just couldn't grok the way that the educational system trid to teach me to read. Indeed, my primary school told my parents that I was educationally sub-normal, and would never be able to hold down a decent job.

Of course, they were totally wrong - it's just that their standard method for disseminating knowledge didn't (and still doesn't) work for a few people. A few people just have different mental hooks, and you need to find those hooks before you can teach anything to these people.

Mark
----
Author of "Comprehensive VB .NET Debugging"
http://www.apress.com/book/bookDisplay.html?bID=128

Mark Pearce
Monday, November 03, 2003

here is a piece on education off my website

http://www.tapiwa.com/archives/000007.html

Tapiwa
Monday, November 03, 2003

Tapiwa, IIRC wasn't that Larry Ellison speech shown to be a spoof?

I wouldn't go to the opposite extreme of insisting that anyone who HADN'T undergone formal learning should be rejected. I'm speaking only of what I think is right for me.

I was mentored by many good people at the start of my career. Most of them had degrees, and all of them really knew what they were doing, on a deep level.

I've always known that my goal was to become more like them, and for me, taking a degree was part of that. I also have every sympathy with the guy who had trouble with formal learning. I lean in that direction myself, though not nearly to the same extent. I always make sure I learn my subject as thoroughly as I can BEFORE I attend the residential, because I know it's all going to go right over my head when I get there.

Fernanda Stickpot
Monday, November 03, 2003

In general, a good university education will give you a more well rounded education than would be gained by being self taught.  You'll be forced to take classes which might not be of much interest to you.  For computer science, outside of "programming" classes you'll learn writing and researching skills, advanced math and scientific methods as well as be exposed to literature, history and other areas not directly applicable to programming.

There's also learning of the non sexy computer science classes like theory of language translation (compilers), operating systems, networking (at the university level, this is not how to set up hardware), algorithms, language theory (exposure to a variety of programming language types) and the history/philosophy of programming and AI. 

All of the non CS developers I work with are decent "programmers", but my CS degree makes me a much better software developer than they are because of my much wider breadth of knowledge.  Any bachelors degree will make you a better employee.  I consider my university education to be just as valuable as my years of programming knowledge.

This is not to say there are folks out there who didn't go to college who aren't good programmers... there are, I work with some.  However the best software developers I know have at least a university education and better yet a CS education.

chris
Monday, November 03, 2003

There was an interesting thread on comp.lang.lisp a while back that you might be interested in reading.

http://groups.google.ca/groups?hl=en&lr=&ie=UTF-8&selm=3250532115226900%40naggum.no

To quote Erik Naggum...

In most cases the only important properties of a degree are to prove beyond reasonable doubt that the person holding it is able and willing to make personal and financial sacrifices in order to obtain a higher goal and be a small part of something much greater than himself, to follow bizarre rituals and orders to do amazingly meaningless tasks for several years because he is told it will lead to the higher goal, to submit his entire image of self-worth to the judgment of an authority who not only gets paid for crushing it, but will keep the money regardless of the outcome, for which he accepts all blame, and, finally, to realize and come to terms with the realization that he is not the smartest person on the planet regardless of how smart he is.

Ken Dyck
Monday, November 03, 2003

He must have gone to VMI

chris
Monday, November 03, 2003

Fernanda, you are right... the Ellison thing was shown to be a hoax.

The facts in it though remain, and I think it teaches a lesson that someone alluded to earlier, that if you are really that good, then you don't need to go to university.

Parent:: Amadeus, please teach my kid to play the piano.
Mozart:: How old is he?
Parent:: 6 years old
Mozart:: He is too young to learn
Parent:: But you started playing when you were four
Mozart:: Yeah, but even at that age, I did not need a teacher.

Tapiwa
Monday, November 03, 2003

"but my CS degree makes me a much better software developer than they are because of my much wider breadth of knowledge"

Granted, in a university environment one is prone to being introduced to a lot of differing material, however the "much wider breadth of knowledge" is often of the "just enough to be dangerous" category. The reason, of course, is that people do not remember or understand, beyond rote memorization for a test, that which they have no aptitude or interest in. Just because someone sat in a lot of classes about topics that had little interest for them doesn't mean they have knowledge in these spheres of any value to anyone. To put it another way - I'll bet you that someone who's interested in knights and read a couple of books on the them will be far more capable of understanding and applying that information than someone who dutifully sat through a "Knights 101" class.

University is a _means_ to learning information, and at one time was generally the only real way to learn information because it was the only place where you could access the information or tools necessary. Previously a degree was also a way to separate the "wheat from the chaff" (because generally only the exceptionally intelligent could go to university), however nowadays this isn't really the case: One study found the average graduating IQ of university students in Canada to be 112 -- this is pretty far from exceptional. One might also presuppose that a 4-year commitment is a good indicator of interesting and aptitude in a particular field, but we all know that in many cases that is far from the truth (especially within the past couple of years when the "big buck .COM" type graduates are appearing in the work force).

Dennis Forbes
Monday, November 03, 2003

I don't think people who don't go through a university level CS program understand what knowledge they are missing, so it's easy to dismiss it as the same as reading Learn C++ in 30 days.  A computer programmer is not equivalent to a CS grad.

Yes, if you want to write a data access apps you don't need a university education.  However if you compare an average CS grad to an average non CS grad who are both working as programmers and you need  to complete a project to which involves, say, building a compiler or understanding an operating system deeply to build a realtime application the CS grad is going to be your first choice.  The CS grad is going to be more apt to move to the architect level because of this and the CS grad is less likely to have his job offshored because his knowledge is greater than that of a programmer.

I find it laughable when people dismiss the knowledge gained by 4 years of university education.  It's not comparable to 4 years of writing database access applications.

chris
Monday, November 03, 2003

"I don't think people who don't go through a university level CS program understand what knowledge they are missing"

You foolishly presume that those who don't acclaim a CS degree as the foundation of all knowledge must be outsiders - I think you'll find that you are very, very wrong in that presumption.

"I find it laughable when people dismiss the knowledge gained by 4 years of university education.  It's not comparable to 4 years of writing database access applications."

The whole point of a lot of this discussion is that if you're looking for someone to write a database application, then what possible relevance does it have that the applicant foolishly believes that they know how to write a compiler or operating system? I would wager that the database developer will be far more worldly and wise in the nuances of database developer.

Dennis Forbes
Monday, November 03, 2003

Dennis it's the people who actually have 4 year CS degrees and still dismiss their education that I understand the least.  I don't think I went to an exceptional school, I went to a state school which I would consider to have a good (though fairly standard) 4 year CS program. 

In my compilers class we wrote a Pascal like compiler, in my OS class we wrote a Linux like compiler, In my networking class we implemented a TCP/IP protocol/network in software.  Are these the same as writing production level applications?  Heck, no, but I would know where to start if I needed to do something similar at a job.  I also know how those things that we build software on top of work.

If all you want to do is write data access applications, fine read some books or go to DeVry... you might want to learn Hindi while you're at it because those jobs are moving to cheaper labor forces.  If you want to be more than, just a programmer, are interested in computer science and have an aptitude for it, I highly recommend getting your 4 year degree.  Even if that means taking night classes.  You will benefit from it and you will be a more valuable employee.

chris
Monday, November 03, 2003

Degrees and experiences are keys to devloping a successful.

Keys are used to open a door or window of oppourtunity.

The selection of Doors and Windows of opportunity are quite vast.  This specific job, at this specific company may require one specific key will the same job at a different company may require a different key, or keys.

I received an AA degree in MIS in 1992 at the age of 31.  Now I manage a SW development team.  I have worked at  Exxon, a Big 3 accounting firm and NASA in support of the Space Shuttle,  Did everyone who received an AA degree achieve the same results? Obviously not.  Bill Gates and Michael Dell are both College dropouts. 

I know brilliant PhD's and high school dropouts.  I also know PhD's who aren't worth their weight in cow manure. 

My advice is to start small, think big, ask lots of questions, and take classes, whether at university level, or for specific HW/SW.  The combination of Education, Experience and results is hard to beat, and of the three, IMHO, education is the most expendable.

The paradox is that sometimes, to get the experience, the opportunities require the degree, but most of the time, even in IT you see (x) years of experience = Degree.

My first job was $8/hr.  In 6 months that same company was paying me $12/hr.  12 Months after that I was making $20/hr.

I have a friend who's wife is in the Help Desk field.  She has a GED, and several MS and Help Desk courses.  No certifications/degrees.  She make 55k/year.  I have a friend who has several degrees and certification in CS and an well filled out resume who can only get a job for 35K, and has been looking for over 2 years.  both of these folks I consider the JOS "smart/get things done"  type of person.

Whats the point you may ask.  That is what I am asking also what is the point of a degree or education. 

A degree like experience is merely a tool in your belt.  How it is used is up to you.

Kevin
Monday, November 03, 2003

Ha, you pampered kids and your college computer science classes...  when I was 12 years old, I was writing language compilers for my own made-up languages in 8080 assembly code...  on paper...  with no computer.

Understandably, I tested out of first year computer science classes and started on second year ones my first year of college.  And was still bored out of my mind.  I think I probably spent more time between the ages of 11 and 15 studying computer science textbooks than any college student could possibly spend doing so.

So, I dropped out of college and went *back* to the professional programming job I'd had before I entered college.  Haven't really been interested in going back, except maybe as a sabbatical of sorts.

Phillip J. Eby
Monday, November 03, 2003

---" you might want to learn Hindi while you're at it because those jobs are moving to cheaper labor forces. ----

Wrong langiage Chris. Silicon curry is in Bangalore and area, well South of the Hindi belt. In fact manh claim that the violent opposition of South India to adopting Hindi, and its adoption of English as the language of education instead, is the main reason that there are so many software and other outsourcing job opportunities availiable in South India.

You might have been nearer the mark if you had chosen Tamil, but now there are large numbers of North Indians emigrating to Banglalore to take up the jobs, so you're still going to have to learn English if you want a software job in India.

Stephen Jones
Monday, November 03, 2003

> For computer science, outside of "programming" classes you'll learn writing and researching skills, advanced math and scientific methods as well as be exposed to literature, history and other areas not directly applicable to programming.

This is a foolish statement. People who have come to CS through other areas will have expertise in these areas you couldn't even spell. See. Your comment advances the case that a formal education can be quite narrow.

History PhD
Monday, November 03, 2003

"I find it laughable when people dismiss the knowledge gained by 4 years of university education.  It's not comparable to 4 years of writing database access applications. "

?!?

You have GOT to tell me at which university a BSCS includes 8000 hours of hands-on coding.

Figure 1/3 of the degree program isn't related to CS, then that some part of the CS stuff isn't going to apply to a mainstream coding job...

Philo

Philo
Tuesday, November 04, 2003

8000 hours of hands-on coding won't teach you differential equations, or microprocessor design and architecture.

Rick
Tuesday, November 04, 2003

Honestly, how many programmers, degreed or not, know anything about differential equations or microprocessor design and architecture?  And how often do you really need to know about differential equations or microprocessor design and architecture to be successful as a programmer?  Since we're talking about this at discuss.fogcreek.com, what features of CityDesk or FogBUGZ do you think required knowledge of either differential equations or microprocessor design and architecture to implement? 

SomeBody
Tuesday, November 04, 2003

Close to 100 percent of the programmers know it where I work (avionics and embedded systems). FogBUGZ isn't just for people who do web development...

Rick
Tuesday, November 04, 2003

>"Honestly, how many programmers, degreed or not, know anything about differential equations or microprocessor design and architecture?  And how often do you really need to know about differential equations or microprocessor design and architecture to be successful as a programmer?"

Most degreed programmers would have been exposed to the basics of differential equations and microprocessor design ... things like logic circuits and writing microcode.  They may not remember the details, but having been exposed to it they'll relearn it quickly if they need to.  There are thousands of others who use it daily on the job.

If you take the attitude "<Specific thing X> is useless because I don't need it for my job", you only add to the HR belief that each programmer can only ever do one type of programming.  You don't know what in the world you will be programming in 10 years from now, so it is good to have a broad base of the fundamentals (whether those are acquired in university or outside) so you'll know where to start and which direction to look when you encounter something your job didn't provide.

T. Norman
Tuesday, November 04, 2003

"You have GOT to tell me at which university a BSCS includes 8000 hours of hands-on coding."

500 hours of instruction and directed learning can be superior to 8000 hours of self-directed hands-on coding.  There are things you'll learn that you otherwise probably would not have done on your own, and there are things that somebody can teach you in 15 minutes that you would have taken 5 hours to figure out on your own.  If (for example) John Carmack spent one week with a guy teaching him about how to a write 3D shooting game and providing direction for further reading, that guy would get more done in the next month than he would have done in the next year without that help.

T. Norman
Tuesday, November 04, 2003

*  Recent Topics

*  Fog Creek Home