I'm a software developer working at a company that regularly employs developers and technical leaders without a degree in computer science or engineering. Compared to previous jobs where everyone, including me, had a Computer Science degree, I find this is preferable. I collaborate with people having different perspectives, who possess a more varied array of skills from their backgrounds. Skills that come in handy when we need to think on our feet, solve a problem, do something most of us have never done before, or when we need to work through a client challenge. I've learned more than I expected to in this environment.
However, it is easy to creep toward the simplification of “a degree doesn't mean anything.” An over justification in this field. While you don't need a degree to do the work, those with a degree do carry some important benefits from a Computer Science education. Although I have a degree and don't “use” it every day, it has given me some important building blocks that have enabled a lot of opportunities.
Networking with Classmates
Firstly, an important benefit of getting a degree is the network of other budding professionals surrounding you. This class that you learn with and get to know will give you a pulse for the industry and where the jobs you want are. Going to a smaller school or a specialized school won't expose you to the many people going into security, web development, networking, graphics, storage, artificial intelligence, gaming, and other niches of the industry that a larger institution gives. Because you're all covering the same course work you'll have contact with each other and build a network to give you perspective on your career.
Going to a school with accreditation will ensure that your degree fully covers the foundational building blocks of computer science. This means that you'll generally cover working with a variety of different languages, understand different computing environments, and utilizing a variety of tools to produce software. Mileage will vary based on institution but this accreditation ensures that you can head any direction from here in your career with a large number of opportunities at your disposal.
As an US ex-patriot living in Canada I've had a much easier time applying for Visas and representing myself legally because I have a degree in the field that I practice. Without this qualification I would have lost points on my application for permanent residency and I would have had to use a riskier visa to enter Canada. Having a degree gives you a leg up to show that you are a professional in a mostly unregulated industry.
I was fortunate to earn two internships and a full time offer from a company located in the rural state of Idaho. After starting my position I noticed that with only a few exceptions everyone else at the company also had a Computer Science degree. Now we know that you don't need a degree to do these jobs but in a smaller market for jobs it made the difference. Especially at a company that could afford to be picky about which developers it hired. There's no doubt in my mind that I would have had a more difficult time getting that first internship or even a job without my degree and a good GPA.
There's a small glimpse into what the world will be like when the number of developers grows and the markets saturate. Developers may need to rely more on experience and qualifications to help them differentiate and show value in the market.
I see my degree as something that was enjoyable and worthwhile to earn but I don't often really think about it. Once I got started in the industry, what I could do and what I had done started to trump whatever degree I had in my recruitment conversations. I don't think a degree is preferable to not getting a degree, it's just a different path and one that I feel like I've benefited from. If you want to know more about anything specific about earning a degree in computer science you can reach me on twitter @hoffination.