I have a BSc in Comp Sci. I enjoyed getting it very very much. I have held three programming jobs, and I currently work for Google.
My first (programming) job didn't care about the degree, and I used virtually nothing from my degree.
My second job, I think they probably wouldn't have hired me without the degree, but I used very little of my CS knowledge.
I might have gotten the interview at Google without it (unclear, but I had strong internal references), but the interview process heavily depended on the sort of knowledge I got from my degree program. And I would have had a lot more trouble getting a visa without my degree; possibly prohibitive. And at this job, my CS theory skills are the least important part of my ability, but they are a necessary part. I'm also nearly the least-credentialed person on my team, FWIW.
On the other hand, one of my high-school friends also now works at Google, is senior to me, got a visa, etc.... and has no degree.
Overall, I think that 4 years of employment-while-pushing-yourself-to-learn is probably at least as valuable as a degree.... but some employers (many sweatshop ones, but also some awesome ones) won't believe that. Also, if you want to work in a country were you aren't a citizen, a degree is so helpful it's almost essential (never thought it'd happen to me, then it did).
Dropped out recently after a year and a half. Working full time in Redwood City, CA @ Inflection, LLC as a Software Engineer currently.
I originally started out at Inflection this Summar as an intern with the unspoken goal of being full time by the end of the year - Within a few months that happened. My manager told me later on that he knew I was shooting for that without even asking. I definitely think the first year of school helped out, but I've personally found that I learn more efficiently when on the job or just experimenting with projects on my own rather than being knee deep in class work. That being said, I really think it's a personally decision - Everyone learns differently.
I don't and never had any problems because of not having one. For me its been almost exclusively about showing projects and then of course knowing all your stuff at the interview. As far as knowing your stuff like algorithms and CS concepts it might help you having an CS degree, but I think that all depends on what type of person you are. For me I just like picking up src code and a debugger and teaching myself how something works.
Yes I have a CS degree and I loved getting it. It was an okay liberal arts school, in other words, the CS department was nothing incredible. It was actually my introduction to programming and I fell into the program purely by chance. Ended up loving it and surely would not have gotten involved with computers or programming otherwise. For the last two out of three jobs, having a degree was not a requirement, but these place were very startup-ish. I think the answer really depends on how big the HR department is (or whether there is even said department). My current job could care less about degrees, they looked more for skill and love of programming.
I do not have a CS degree, though I do have two Bachelors in other areas. It has not gotten in the way of my freelancing or start-up work--as long as I have work to show and can demonstrate my knowledge, which is relatively broad, I've had a fine time getting contracts and getting job solicitations for start-ups. However, I will say that I had a much harder time when interviewing at places like Google, which seemed mainly interested in whether or not I had a CS degree, unfortunately--whether or not that was actually relevant.
I have a CS degree but I'm still working at the company I interned for (been here for 5 years). I could have stopped two years into my degree and still be in the same position regarding money and position, but I felt that would be painting myself into a corner. Whether or not someone will care if you have a degree when you have 5 years of experience, I'm not certain. I've not had anyone in an interview (phone or personal) ask me about my education. Maybe that's because they assume if I got to that point I had one but I'm not sure.
First of all, a CS degree is not just a prep-for-a-job program. CS a wide and interesting field, and a good undergrad program will give you a set of analytical tools that can be used in many places, not just software development job.
That being said, it's not for everyone.
Personally, I really enjoyed my undergrad studies and continued to get my Master's degree as well.
In terms of work, I think that a well-rounded CS education gives you an edge over uneducated programmers in the first couple of years - A CS graduate is trained to analyze and abstract problems, which makes it easier to deal with large and complicated problems faster.
After a couple of years, this edge is gone - Experience matters much more at a soft-dev job.
As for convincing someone to give you a job - Show them something impressive that you've built.
I didn't even graduate high school and had no means to afford a real education even if I had. I learned everything I know from tinkering with open source and the break/fix cycle.
In interviews it can be a real bummer to not have a degree because almost every business regurgitates the same live-coding tests and tests aren't the way I learn or excell. I learned most of what I know from google. Ironically google is also what lead me to the answers to the coding questions some of these companies repeatedly use which helps. However in the end since I'm up against CS students who are well versed in testing I just don't stack up in a lot of cases, so now I don't even bother interviewing with companies who can't take the time to interview me as an individual. I can completely understand why these well known .com's take this approach for efficiency but I personally don't think it's the best way.
In the long run I feel learning from my experience rather then school is a real asset because I see things differently then a lot of CS students and I've had to be extremely versatile and adaptable to get to where I am. The 4 year head start on my peers helped too ;)
Although I attended university for a couple of years, I dropped out once I figured out I'd had enough of structured learning. At the time, it was not for me.
I've been programming since I was 7, professionally since I was 21 and I'm now in my late 30's. Over the years, I've been involved in some fantastic projects and companies on both sides of the pond. I've since started the move up the chain whilst keeping my fingers dirty at the code level. I've been able to mentor younger developers, deliver projects that I find interesting and contribute to opensource projects that appeal to me.
Although, I do not think my lack of a degree has held me back in any way, it does depend a lot on the country in which you live. Some countries rely more on educational background, whilst others do not.
However, times now are different than they were in the early/mid 90's. Now you're expected to have experience, education and to have launched a successful start-up before your 21st or 22nd birthday. The pressure to be awesome is incredible, and every young developer wants to work for Google, Facebook or Twitter. You know, the cool companies that are developer led and have the best toys.
Yes - BSc in Maths and Comp Sci (earned in 1993, cue stroking of beard and dyeing of grey hair). It definitely helped land me my first job, although my then-manager never had a degree and was / is far and away the best developer I've known.
The value of the degree drops off with experience, but at 'year 0' it's definitely worthwhile in most situations.
I interned at a defense contractor a couple of years ago. Their entry level position required either a bachelor's degree in Computer Science or four years of programming experience. Higher levels were similarly structured -- they considered four years of experience to be essentially equivalent to a degree.
While I don't agree that four years of programming == degree, for their business, it pretty much was (I would argue that the experience was more important in this case). Most of their programming team was made up of long-time engineers turned C++ coders. Come to think of it, out of a pool of four interns, three of four were CE people they were asking to do application development.
The nicest thing I see about having a degree is that it gives you an "objective" measure of your value relative to other applicants. Its considered safer to hire someone with a degree because, hey, some college has given them credentials! You can convince people you're smart by being sharp in an interview and having an impressive portfolio, but for a true programming job where innovative thought isn't really necessary (it wasn't at this place), I see a bias towards people with degrees because its seen as low risk.
I do, but I've worked with much people that don't and didn't have any slight knowledge about data structures and ended up being the CTO. If you spend the 4 years of college socializing instead of actually studying, you will get a bigger output of money, if that's what you are looking for. Knowing what a big-O notation is doesn't mean shit unless you work in a engineer/comp. sci ruled company like Google.
I live on a third world country and those big companies in the US like Facebook or Google got only sales operations here, so... I kinda regret getting the degree for now. But maybe the future will show up something that makes it worth every penny spent(and time!). ;)
I used to be a full time programmer, now I'm part time and getting a humanities degree at UCLA. I've never taken a CS or programming class. I've also never done math higher than Stat. Web development has more to do with understanding markets, design, flow, and what's important to the consumer, over what they teach you in CS. My 2 cents. I do like working with CS majors though.