|
Also, while people like to argue that it's possible to get programming jobs without a CS degree, it is guaranteed to be some value of harder to get those jobs. Especially if you dream of working in less common and more specialized areas, like (for example) working on compilers or doing HPC stuff, etc. Yeah, in theory someone can get a job without a CS degree. But it'll be a lot harder, and it's very likely that doors will be closed to you that you would prefer be open. It might be unfair, it might be an injustice, but it's still part of the equation. You might overcome it, but it is still a thing to be overcome that was taken on as an additional burden in exchange for losing a different burden (college). I have no problem with people with passion and talent skipping college and going straight into the workforce. And it's very clear up front what they get out of it- they get an additional 4 years of professional life, and they never rack up student loans. I just object to people claiming that there's no cost to it. There is a cost: maybe a negligible one, maybe just a little, or maybe a lot if it means you don't get to do the things you really want to do. Or if you never even find out about the stuff that you would have been incredibly passionate about because you were never exposed to it. By not going to school, there is guaranteed to be a cost in missed opportunities. Maybe those shut doors and lost opportunities are all for things that the person didn't want to do anyway. The part that bites people is that when they are making the decision to skip school, they're probably in the 18-20 age range and most likely do not have the capacity to evaluate what those lost opportunities even are, and whether or not each one is OK to discard as a long term life decision. |
I have a mediocre degree in an unrelated subject (History and Philosophy of Science) from a good school (Cambridge). I learned to program as a child by messing with 8-bit computers.
My first job was very much an apprenticeship, I found a small company that was willing to employ me based on some level of aptitude, a modicum of demonstrable programming ability, and a willingness to work for very little (£12k in 94)
Three years later, I was able to move to a more interesting, still not brilliantly paid (£23k in 97), job at a startup, which was acquired by MS a couple of years later. I spent 14 years at MS, and was a Principal Engineer by the time I left. My experience since then is that there are no doors closed to me.
There are two places where I got lucky, 1) finding a company that was willing to make a bet on me. 2) joining a top tier company through an acquisition.
but with regards to 1, over a 9 month period in 93-94, I applied to over 100 companies, and had three job offers in the end - so it was good luck to find a job based on my resumé at the time, but the jobs were out there
And with regards to 2, not everyone who joined through that acquisition was successful at MS, regardless of education. Some hated the idea of working for MS, others weren't suited to a large corporation, and many other reasons.
Comparing myself with peers, I find that their CS degrees possibly gave them a 3-5 year head start on me, they could go straight to better jobs, but the value of the apprenticeship type job, is that I was already pushing 10000 hours (or equivalent) by the time I was ready for the better job.