To What Degree (pun intended) has your College Education Attributed to the Success of your Development Career?

+1  A: 

Apart from the very useful things I learn in school (lock your computer) there are a lot of jobs out there where a degree is a prerequisite. I would say it has been very useful. More than anything the foundation in mathmatics has served me well giving me insight into problems that I don't think a programmer without such a formal background would have.

+5  A: 

I got a degree in computer engineering intending to go into hardware engineering, you can't really get into that field without a degree.

Software engineering is quickly getting to the point where you need a degree too, only because so many people are available that have a degree that the hiring manager, who may not want to take a risk, is likely going to throw away those without degrees right off the top.

To put myself through college I worked as a programmer, and unless I called the manager and set up an interview I didn't get interviews - they really do simplify their hiring process by picking obvious traits to disqualify for until they get to a pile of resumes that's reasonable to go through.

So... yeah, the degree itself is important.

the education has been helpful, there are many techniques and technologies I was exposed to that I wouldn't have otherwise run into, and I could learn certain subjects more deeply than I would have otherwise (wish textbooks were free/online as a rule).

Adam Davis
+1  A: 

It has been crucial. Some people might be able to learn whatever they need to make a career in software developer without recourse to college courses, but I am not one of them. I had to be in the university environment, soaking up the atmosphere and studying what I needed to know.

The specific course material wasn't always useful. I learned FORTRAN and Pascal, for example, which I've never used since leaving school. Yet even at that, I imagine the Pascal course laid the groundwork for some of the later courses I took.

+5  A: 

Quite a bit. Not in the way I expected though. Some characteristics I developed in college are teamwork, dedication, sharing, people skills and most important of all - seeds of interest in programming.

Hadn't thought of that, great angle!
Troy DeMonbreun
+1  A: 

Admittedly, very little.

I graduated with a degree in Physics, but by some twist of fate some of my classmates were working part time at a company where the CTO was my former computer programming professor. I had high marks with that subject, so when I graduated I approached my former prof for the job and that's where it started.

Perhaps the largest help my degree offered has been the high(er) understanding of mathematics concepts that soon became a staple of my software development effort. I do not think I would understand concepts like monads so easily had it not been for experience with esoteric classical mechanics problems we were made to solve.

Jon Limjap
+4  A: 

Very little to absolutely none. I went to a school without a strong reputation in computer science, and pursued that degree, but with a previously started career already in progress, and professors and my fellow students providing little to no stimulation, I benefitted from it very little.

I was already working full time at my current job by the beginning of my senior year in college, and I tried desperately to get out of there as quickly as I could.

Now, your experience may differ. I did not fit in at my school, did not like the majority of the students or faculty (small-ish Christian college), did not feel intellectually stimulated in any way. These are factors which might have differed greatly given the school. But I entered that school with a similar amount of experience as I left, and left probably only richer in patience.

I now feel a slight animosity towards the industry for forcing upon me the credentials that I worked to attain, as nearly all jobs that I have seen/applied for have required a 4 year degree in my field. I feel that many of my peers are as talented as myself, and yet have no formal schooling. They are probably more apt to succeed in certain ways because of this. I find the degree requirement, in my limited experience, to be a total non-factor.

Michael Runyon
There is a HUGE difference between a podunk Christian school and a top 20 CS program. I'd recommend, if you have the chance, to at least take a class from a good school and maybe your opinion would change. There is really no better framework to view problems in than a good background in the abstract.
+35  A: 

A degree, as noted by others above, is a very big tick-box should your resume pass in front of a recruiter.

Other than that, though, my degrees' secondary benefit was to expose me to a large number of concepts and approaches that I would not have discovered myself. The primary benefit of my degrees, however, is that it taught me how to learn.

Learning is really, really, important in our industry - it's the one thing we can be guaranteed of doing over the course of our entire careers.

I fully agree with you here, so won't bother with my own post. I'd only expand a bit on the 'concepts and approaches that i would not have discovered myself' and mention some examples. It amazes me to this day when I meet programmers unfamiliar with Big O notation, normalization, etc.
Stu Thompson
Amen. Learning to learn is the perfect way to put it.
Abyss Knight
+1 Brilliantly put, learning how to learn is what this industry is all about.
Dave Swersky
That's what I would have said. +1 to you sir.
+15  A: 

My university degree contributed to my ability (and as I am self employed -- career) at a level asymptotically approaching zero, until I did algorithms 300, where it contributed at an order of complexity of Big Oh squared.

David L Morris
Nicely put ... no one outside of this community would ever *get* that!
Peter Meyer
+3  A: 

I'm the same age as Denton and would tend to agree with his post. List of languages that I learned in college:

  • Pascal (actually did that in high school)
  • Fortran
  • Modula 2
  • Smalltalk
  • Scheme
  • System 3x0 Assembler
  • VAX Assembler
  • C

Yes, that's right all you youngsters out there, Java wasn't invented yet. (I did some graduate work 99-01 in which nearly all the courses now used C++ or Java.) I list these langauges to illustrate what I got out of college and the curriculum -- you can not be a computer scientist (or software developer, software engineer, etc.) and not realize that languages are just that -- langauges. And, they all boil down to the same thing eventually. It's the core constructs and principles learned in all of these classes regardless of languages used that I recall applying early in my career and on even today: - efficiency -- still matters - all those data structures -- yeah, you don't need to write red/black trees anymore, but you can certainly understand all of those pre-built collections and structures and understand the benefits and trade-offs of each because you understand what's under the hood - even that Big O notation stuff that was so boring? really, it forms the basis of thinking for all the talk these days about cyclomatic complexity. - how about discrete mathematics and set theory? that has a lot of application in so much we do as software developers.

Finally, the last thing I will say is that my degree did not prepare me for what was really present in the real world. At the time of my undergraduate studies (88-92), there was no discussion of software development in the real world -- no cool things like agile to better manage projects (waterfall was taught as the gospel in software engineering courses), IoC/DI for managing and reducing large scale system complexity -- even OO was just gaining a little traction. At the time it was still all about information hiding and encapsulation.

Guess that shows are far we've come and how fast. Sorry for the diatribe ... could stop once I started!

Peter Meyer
+2  A: 

In addition to what others have said, my 4 years in school taught me, as general as it sounds, how to solve problems.

After doing it daily for most of my classes, I gained the confidence that most difficult problems can be broken down into comprehensible parts.

Chris Karcher
+1  A: 

Has anyone experienced that a CS degree, though somewhat helpful, failed in many ways to prepare them for "the real world"?

Troy DeMonbreun
For sure. There's no substitute for real work. Work full-time, school part-time, that's my motto. Without concurrent work experience, a lot of the classes won't have as much meaning because there's no real-world context to make it meaningful.
This is not an answer.
Geoffrey Chetwood
That's the way we did it old school in '08. We broke all the rules.
Troy DeMonbreun
I don't have a CS degree, but I've certainly seen CS degrees fail people that I've interviewed. I've asked "Tell me one thing from this class on your resume" and got dead silence.
John D. Cook
Perspective is a key point to this, IMO. My degree didn't prepare me 100% and thus there are some ways where it didn't prepare me, sure. A degree isn't a golden ticket, though some may think it is.
JB King
+1  A: 


However, the general experience of going through a difficult school forced me to learn to deal well with unreasonably ridiculous stress, which has been invaluable. If I had it to do over, I would still go to school.

Dave Ward
+1  A: 

In terms of development success, none whatsoever. But in terms of success in landing interviews or negotiating salaries, not having an IT or CS degree is a hindrance. I dropped out of an IT program because I couldn't stand COBOL (yeah, it was a while ago), but if I could do it over again I'd definitely suck it up and get that degree.

+2  A: 

My CS degree was close to useless in the real world.

It was the other classes that made a difference! Learning to write, communicate, convince, or even appreciate art when you're on vacation -- things that make every day and experience richer, both commercially and personally.

Jason Cohen
+1  A: 

I wouldn't have been able to get my first couple of jobs without a degree. The first job, in particular, was a great one.

Those first jobs were with engineering firms that did software very well and exposed me to a lot of different stuff (operating systems, programming languages, development tools, etc.). Without the degree, I think I probably would have had a career writing business apps in VB. <shudder>

Regarding the "prepare for the real world" question: No, the CS degree did not prepare me. But degree or not, nobody is prepared for the first real-world job. All new developers learn a lot their first couple of years. But skipping college won't make anyone better prepared for anything.

Kristopher Johnson
+1  A: 

I didn't know what I wanted to be when I grew up, which made choosing a major a difficult prospect. So instead I figured that understanding computers and understanding finance were going to be important life skills. Therefore I (naively) figured I'd double major in Computer Science and Business Finance.

Eventually a mentor discovered that this was my so-called plan and told me to pick a single major and get the undergraduate degree ASAP. So the best combination of courses already taken into a single major was the Computer Information Systems degree from the college of business. Had I not done this, I would never received any formal training in relational database theory, which has been pretty much the cornerstone of my career.

What I have found from interviewing candidates is that nearly everyone will rate themselves a 9 or a 10 in understanding and working with RDMS. However, you'd think most people who were really at that level would be working for IBM or Oracle or whatnot. Most of these candidates could produce the most basic SQL statements but didn't even know what first normal form was (and if they did they certainly didn't know second, third, or BCNF), but more importantly they couldn't demonstrate that they really understood schema normalization at all.

So in my case I almost inadvertently picked up an important skill set that does not seem to be common among my peers, and would not have even received this training had I stayed strictly in CS (at the university and at that time, apparently). So I guess I have to agree with Kristopher Johnson that NOT having a degree will NOT make you better prepared at anything, and you really don't know what you will learn that you will eventually need.

That said, I also didn't get any training in the realities of software development which you'd think should be central to either a CS or CIS degree.

+1  A: 

I don't have a degree (I went into the Navy after high school). I have taken a few college courses, but none dealing with programming except for a real time programming course which dealt with relay ladder logic.

I have helped many people over the years with their college programming lab work. There also have been many that I wouldn't help, because their attitude was "I just need to pass, I don't need to learn anything".

The only time it has affected me was my current job. I started at a lower position than I would have liked because their position was that two years of experience was equivalent to one year of college. My own experience shows me that the reverse is closer to reality. That two years of college is like one year of real world experience.

I have always found it faster to learn on my own rather than take a course to learn. The courses that I take now are usually to back fill my knowledge with things that I may have missed. I just recently took a Powershell course specifically for that purpose.

+7  A: 

I've known guys who were recruited out of college before they got their degrees - and were then trapped in that company because the lack of a degree kept them from getting interviews.

From the viewpoint of actual skills, I have to say that I found my own formal education incredibly valuable - there's never any time to really learn the underlying concepts of software development when you're actually under deadline pressures.

Mike Heinz
Was this in the U.S.? I've never heard of such a thing ... that's EVIL!
Yup. And he's still suffering for it now - because it's been so long that his university says he has to start over. He's looking around for a school that will let him still transfer the credits but, damn, it's been 20 years.
Mike Heinz
+4  A: 

I didn't go to school, in fact I'm a high school dropout. I learned that I made the right decision after a few years. I found myself giving open source related speeches around the country (Venezuela), and being taken very seriously.

Since I left school very early, I had the opportunity to develop my career around (then) relatively new open source technology.

School would have made my development much slower, and I wouldn't have become a successful open source consultant. I'd just be going with the crowd, learning the commonplace skills, and doing what everyone does.

Jean Pierre Rupp
Some of the best devs I know only have their GEDs. And several of the devs I know with degrees really don't impress me at all. I personally have never taken a development class (self taught since the age of 5.)
Matthew Whited
+2  A: 

I never got a degree, nor ever went to any kind of school (Including high school, middle school, whatever). Well, okay, two semesters of community college. But beyond that, I taught myself everything, and as such, have developed a bit of an obsession with software development. It's all I've ever really wanted to do, and I just love it more than anything. I'm admittedly extremely young, but we'll see how that pans out for me. The last two jobs I've had, however, didn't require me to have a degree. I could probably get paid more with one, though.

Alex Fort
+1  A: 

My schooling (from which my degree is a by-product) helped me learn how to learn. I also met some good people that have helped me get all of the jobs I have now. This is anecdotal, but the connections I've made have been at least as valuable as the education itself.

If you're a self-starter and a self-networker, you could probably safely bypass college altogether and save yourself the tuition money. But I confess to being something of a conformist, so college was probably the best path for me.

+3  A: 

I've only recently completed my degree, but I have 20 years of software development experience and I've been fairly successful-- imho.

Completing the degree was more for my personal satisfaction than to advance my career, so my degree, or lack of it, attributed very little to the success of development career.

That being said, I believe it is more important now than it was 20 years ago to have a degree and I did learn some things (e.g., compiler theory) from my education.

+1  A: 

The sum of my college experience is an abortive attempt at a journalism degree from a community college. The lack of a degree has shaped my career in that it kept me out of shops that had a hard-and-fast education requirement, shops that I am invariably grateful to have avoided.

Now that I'm well-established in my field, I'd love to go back and study the business I'm writing software for--finance and financial engineering. But, there's still too much chaff involved in getting a CS degree.

+6  A: 

I went about halfway through college before dropping out. At this point in my career, it absolutely doesn't matter at all. It used to, though... but not in the ways you might think.

  1. There seemed to be an inverse correlation between companies that absolutely required degrees and performance oriented cultures.
  2. During interviews, I was almost always asked about college. This was a great excuse to go into detail on my programming history, self-directed learning, and work ethic without sounding like an egomaniac or blowhard.
  3. The dot com boom was really just starting to ramp up. If I had completed my degree, I would have almost completely missed it. The confidence and income boost of working in the dot com era had quite lasting effects on me. Imagine coming out of college directly into the crash! Ouch.
  4. For some reason feeling like the underdog drove me to work much harder than I think I otherwise would have. I didn't have any entitlement mentality of "Okay, I have the degree... I deserve this." I constantly fought to -prove- I deserved it.

I had a friend who graduated with honors in CS, only to sit around at his first programming job complaining nobody sent him on any training courses to learn what he needed to learn. He was eventually laid off and changed careers.

So, I'm absolutely certain it was the right move for me. YMMV.

+1  A: 

In a way getting a CS degree really put me in the "get the job done" mindset that so many employers love. As someone else mentioned, it really helped me develop my social skills that took a hit as a result of my fascination with the internet and programming.

In that respect, it has been nothing short of amazing for my career. I have almost doubled my starting salary in three years on the job and my starting salary was pretty decent for a fresh graduate.

But going through University really killed my enthusiasm and passion for programming. By the end of the four years I just hated it. Using the internet and the innate desire to create was the only reason I bothered applying for web dev jobs, which where I come from are filled with guys with no degrees. In fact, I'm the only one in my office with a degree and I've been far more successful in every way. And it's not because I'm technically better either!

David McLaughlin
+1  A: 

I'll let you know when I finish a degree.

Technically, you could say I'm on the "Van Wilder" plan - I've studied design, art, finance, marketing and business, and feel that from the summation of the courses, they have helped me a little bit, but the majority of my day-to-day work as a Web Developer has been self-taught/absorbing the knowledge of those around me.

I'm currently pursuing a MIS degree, but I've mainly seen it as that check-box next to my "to-do" list that will open some doors faster than not having a degree will do.

Will it mean I'll leave my employer? Probably not. I like my company/my job/my co-workers. The only way I'd leave is if a company out west hired me (I'm thinking Colorado/California). Otherwise, I don't think so.

To answer Troy - I've met a few CS degree people who were totally unprepared for the real world. I really, REALLY wish some people would take the pay cut and TEACH people so we could see better code in the world.

+1  A: 

I think in a way, to a large degree my college education is attributable to my success though at the same time wasn't necessarily helpful in preparing me for the real world. Allow me to explain the difference:

My university years were 1993-1997 which is when I discovered the Web and various formal software development methodologies and testing. It was also through the university's career services that I found out about the job I got out of university and so without going to that school, I'm not sure where I would be today.

During my university years is when I discovered the web and making web pages, which while not any part of my coursework it was something I did during that time and I'm not sure how well I could separate what I did in university from what I learned directly at university.

My horrible work experience during my university years also played a role in my development on an emotional level. In a rather sad way, stumbling like I did helped prepare me for some of the challenges I'd face in the working world and did serve as a bit of a wake-up call between the real world and academia which seemed so much easier in many ways.

So, I think I can say a lot of where I am is attributable to that beginning and my degree did give me a nice background to some extent when it came to the real world. I enjoyed theoretical work and when I got into the real world, I did have some adjusting to do but then I think web development was still very much in its infancy and things have always been in a state of flux that I really enjoy as it prevents me from just sticking blindly to one technology.

Do others get as much out of their university years? Maybe, but I do know that the guy that started university in 1993 that was excited about the advanced courses and living away from home for the first time is very much different from the guy that graduated in 1997 and started looking for a job after realizing his marks weren't quite good enough to get into grad school.

JB King
+2  A: 

My PhD made it harder for me to get my first programming job. When I was interviewing, some folks assumed that because I had PhD I must be a lousy programmer. Some companies would say they were "impressed" with my resume, but not interview me. But I found a company that needed my math background and gave me a chance. Eventually my degree became an asset, but it was a liability at first.

John D. Cook
There are lots of companies (mine included) that LOVE PhD's. We don't write commercial software but a lot of the PhD's I work with are into higher level things like the mathematical modeling of various phenomena (which, of course, is tested via programming). I would much rather be doing that, actually.
+1  A: 

Getting your degree is like having your ticket punched. With your punched ticket more door are open to you. Now you can open those doors without getting your ticket punched. Its just more difficult.

+3  A: 

Well, one thing I learned in college is that I have a taste for beer. Since I really hate my current job, drinking my self to oblivion helps the days go by faster and keeps me focused on getting to happy hour instead of mouthing off to my boss. So, I have learned stuff in college that is applicable to the real world and what I learned keeps me from getting fired. Yes, college helps.

Paul U
I like the cut of your jib, sailor.

To a great extent, the Computer Programming degree I earned can be attributed to the success of my development career. It has helped me evolve from an amateur programmer to a prolific developer. It has made my fundamentals strong and provided me with theoretical as well as hands-on exposure required to kick start my career.