Ask HN: Do you have a CS degree?
If you're a full-time programmer, do you have a degree in CS? If you've got one, how was it? Did it help? If not, how did you convince your employers to give you work?
If you're a full-time programmer, do you have a degree in CS? If you've got one, how was it? Did it help? If not, how did you convince your employers to give you work?
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).
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.
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.
Full disclosure: I have a CS degree.
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.
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 ;)
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 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!). ;)
If I had to give a simple, concise answer: Yes, it helped.
If I had to give a longer winded, more precise answer, summed up by a simple, concise answer: It's ultimately debatable, but I'm glad I have it.
Hope this helps :)