DEV Community

Cover image for Why Not Having a CS Degree is Awesome
Caitlyn Greffly
Caitlyn Greffly

Posted on

Why Not Having a CS Degree is Awesome

I didn't know what I wanted to do for a career when I was 18, and I feel okay about that. I also shouldn't have been trusted to pick a romantic life partner at that age (sorry Steve from the pirate-themed frat party). It's wild to see so many job postings ask for a specific kind of degree. Your employer is saying that one of the requirements for the job is for you to have always wanted to do this kind of work, since you were a freshman in college and decided on your major while nursing a hangover and clutching a jar of Nutella (or was that just me?).

I got my degree in Psychology. I loved studying Psychology, and at the time it seemed like something I could do for the rest of my life. Spoiler alert: I never got a job related to my major (unless you count bartending, which I kinda do). Instead, I ended up in the beer industry and then again, at age 31, realized that wasn't a path I wanted to continue down.

At 31, knowing I wanted to buy a house and have a couple kids in the next few years, the idea of going back to get a second degree scared me. That might cost me 40k, take 2 years, or 3 if you tack on another year just to apply and be accepted somewhere. And then would I have to move if I didn't get accepted in my current city?? It felt like this option was not aligned with my life goals at all, and was quickly crossed off my list.

Enter bootcamps. A solution for employers who are having trouble hiring as many engineers as they need, and a solution for people who want a more efficient way to change careers. Win win. With a bootcamp, you get the technical skills and hands-on coding experience that you'll use on the job. You may not have all of the theoretical knowledge or know the history of binary, but I'll bet you can find a job that doesn't require you to know those.

Without a CS degree, you might not be able to explain Big O notation, but you might have great interpersonal skills. Maybe you came from being an architect and you'll be great at drawing up the flowcharts for how the front-end of the app communicates with the database. Maybe you used to be a pre-school teacher, and you'll be the go-to person for communicating the engineering team's needs to the marketing team in a way that makes sense to them. No matter what field you came from, you'll have a unique skill set you can offer your future employer.

As an employer, you know the strongest teams are the most diverse teams. If you had 100 engineers and every one of them had a CS degree and had been an engineer since the day they left college, I would argue you don't have a very strong team. No matter what kind of app or project you are working on, you are going to want diversified points of view to make sure you see all the perspectives and catch any weaknesses. You may need engineers to dive deep into the code and spend the majority of their time behind the screen, but you'll also need some who will work with the design team, and how cool would it be if you had an engineer that came from being a graphic designer?! Sounds like that person (without a CS degree) might be the ideal candidate.

If you get your education through a bootcamp, you are also going to be learning the most recent, most popular languages and frameworks. If your employer wants to transition to React, likely all of their CS employees are going to go learn React anyway, so why would they care if you also just learned React? You might be a great resource for them in that situation, and be able to point your colleagues towards relevant tutorials and documentation.

As a new developer, it can be easy to let your imposter syndrome get the best of you because you feel inferior to those with a more traditional degree. You may see job postings that say they'd prefer a candidate with a CS degree, and not even apply for those jobs. But instead, how about you march up to that employer and tell them all the awesome skills that you bring to the table because you have a different background. Don't feel bad that you majored in Basket Weaving or joined the workforce straight out of high school. 18-year-old you did what made sense at the time, and current you is older and wiser and killin' it.

Man in a suit riding a dolphin

Latest comments (170)

Collapse
 
lucasrafaldini profile image
Lucas Rafaldini

As a Portuguese and French bachelor, I totally agree with you.

I've felt plenty of times that if I wasn't there for my team to accomplish some communication tasks or to do some explanation (translation?) to users, it would be a total mess.

Collapse
 
dhiidha1300 profile image
Ahmed Abdirahman Jama

Oh gosh, I love to continue reading the comments if they were billions of them. This is an amazing article thank you Caitlyn. In the meantime I am currently 1st year university student, studying Cs degree in major and the reason I found this article was because I needed some advice about my career on which way to choose either continue learning cs degree or boot camps.

But when I found this article and read it through plus the comments. I am somehow inspired and encouraged and at the same time bit confused. but anyway I am thankful for you guys to discuss and argue about it cuz, this is about a future career topic. And yes, everyone does have his own opinion and sets of goals.

To me, how I see this article is that boot camps are better and less time consuming than cs degree and that is true which yet I haven't experienced. and the reason I read this article was to get some opinions from those who are more experience than me but not to give some negative (unnecessary) thoughts. I have seen people who took degree and become successful in their field and at the same time I have seen people who didn’t take collage/university degree and yet become successful, so we have both choices but it is depend on our commitment not the material.

Lastly, What I am saying is keep doing what you love to do and keep improving yourselves.

Collapse
 
giantelk profile image
Giant Elk • Edited

I have worked with many people that have CS degrees who create far more problems in code and bug reports than positive productivity. Same in business & sales with people that have degrees yet can't spell, terrible grammar & communication skills and can't complete basic tasks, follow instructions or learn new things. It's a pandemic in all areas not just CS & s/w development; yet these folks manage to fool employers or are willing to take pay cuts to keep their job (or get one in the 1st place) at some sweat shop or poorly managed company.

Flip side, I've seen amazing work from people with CS degrees and those without a degree. The key difference is those with CS degrees tend to write code that are easier for the rest of the humans on the team to read, understand and debug.

There's always exceptions to the rule. It's certainly to the detriment of employers to adhere to strict hard rules for new hire entry requirements. Most of which comes down to employers that 1) have a large pool of resumes to pick from, so they can afford to be more selective, or 2) have very little clue on how to hire, mentor, train and fire staff or 3) a bit of both 1 & 2.

Collapse
 
missamarakay profile image
Amara Graham

We need more diverse paradigms and experiences in tech right now, and I think you summed it up perfectly!

I think bigger employers are still trying to figure out where bootcamp grads fit in their organization, but I'm seeing smaller companies embrace them with more junior and associate positions. With tech embedded everywhere, you never know if your next employer could need help building something Psychology oriented, and suddenly you become a subject matter expert.

Collapse
 
unifiedbotwick profile image
John Botwick

We should identify a distinction between those with CS degrees and those without, not a conflict. This is the error these sorts of articles make, intentionally or not.

Someone with a CS degree will solve problems that someone without will never solve, and importantly, will never be asked to solve. There is nothing wrong with recognizing that a PHD isn't a meaningless piece of paper and acknowledging that those without a degree can do (and have done) very valuable work in the field. The distinction is between classes of problems, and the skills needed to solve those problems. The conflict happens when we mark one set as "hard" (read: important or useful) and the others as not important or not useful. That's an unnecessarily hostile position which, unfortunately, many of the comments demonstrate.

There is a commoditization of engineering happening, as happens in all mature industries, and there is a real need for narrow, deep knowledge, which is often very well paid -- it's useful and valuable work. That is maybe hard for some to accept.

Collapse
 
zrogerson profile image
Zac Rogerson

I joined this community just to leave this comment.

This article is wonderful! I've been a professional software developer for ten years without a CS degree and I've fought impostor syndrome every step of the way. I work with brilliant developers who are much younger than me and many if them write amazing code but I see them making the same mistakes I made when I was younger.

In the end we all have strengths and weaknesses and we all can help each other see things we might not have initially.

Collapse
 
evanhalley profile image
Evan

First and foremost, this is a great article.

I especially, 100% agree with this:

As an employer, you know the strongest teams are the most diverse teams. If you had 100 engineers and every one of them had a CS degree and had been an engineer since the day they left college, I would argue you don't have a very strong team.

I went to college, in the early 2000s, and majored in computer engineering, which was mostly hardware focused. I actually got 90% of my useful experiences for writing code after college. I only refer back to a few classes, Discrete Math and Algorithms & Data Structures. With that said, college was a necessity for me because I come from an underrepresented background (black). I would have had an extremely difficult time getting into the industry without some sort of credentials at the time I entered the workforce in 2007. At that time, coding was not nearly as accessible, to someone like me, as it is now.

With that said a CS degree is only one of many signals that indicate whether or not an individual would be a great developer. It should not be exclusionary if you lack one and at the same time it can be useful to have one, but there should be much more that goes into the calculus for making an entry into coding. I thought the author did a great job highlighting those other signals.

Collapse
 
bkains profile image
Braydon

I think there are some jobs that are meant for and heavily benefit from developers with degrees, and some jobs where the degree shouldn't be a requirement.
I hope the industry can diversify a bit, and start to have a separation between those types of positions rather than always asking for the degree. This involves a fair bit more nuance than most technology recruitment at the moment, but I hope the discussion continues and it evolves to that level.

Collapse
 
germanocorrea profile image
Germano Corrêa

I'm currently getting my CS degree, but that's because I'm young and this fits my life goals right now. But you definitely doesn't require one to be a good developer. However, I strongly encourage people to study some fundamental computer science topics. To have the knowledge rather than the degree, it's actually more important, and it can be done by your own. Having this knowledge makes significant difference while developing. I'm a completely different programmer today after these topics, but you do can study them outside a CS degree. Strongly recommend that.

 
nikiyasimpson profile image
Nikiya Simpson

Technically all four years are not intense CS study. You only have to take so many hours of that in your major. That's what, maybe 2 years. My bachelors is in information systems and I took 30 hours post bacc CS (with no CS degree).

Thread Thread
 
thecaitcode profile image
Caitlyn Greffly

Iheatu, you clearly seem to be upsetting yourself by reading and rereading this article (thanks for the traffic and comments that's generated! Great for my clickbait). I am sure it must be even more upsetting to have those comments "marked as low quality/non-constructive by the community". This article was meant to show support for those who chose a different path than you, and ultimately was not meant to be a place for you to exert your superiority. I can't stop you from doing so, but I am sure there are more productive ways you can spend your time.

Collapse
 
nikiyasimpson profile image
Nikiya Simpson

You may be missing that there are people who have received a "proper education". I'm guessing that means a formal bachelors and masters degree. They may be mid-career or changing careers and have decided to not take on additional debt by getting another degree. If they want to work on web apps, then that's awesome. It doesn't make you less than someone who studies AI or quantum computing. The point is that you don't have to have a CS degree to have a career in Tech. There is room for all of us.

Collapse
 
dougaws profile image
Doug

Not to diminish your accomplishments, but this is yet another "here is how my life's path led to success and therefore is the best way" article. Getting a CS degree, or any degree for that matter, does not mean you will be a good programmer. The same can be said for coding camps.

I've known hundreds of developers over my decades of working in tech, and few are this cookie-cutter person you describe. Almost all care intensely about creating good code, but all have outside interests that are not necessarily associated with tech--hiking, opera, everything under the sun.

Be careful painting groups with a broad brush. We are all individuals.

Collapse
 
lprefontaine profile image
Luc Préfontaine • Edited

I am a drop out. Couldn't stand listening to teachers that for most were not anchored in reality.
Left that behind me in 1980 something. Much more exciting that sitting on a chair being fed
Kool-Aid. Worked for a major computer manufacturer at the time, 2nd to IBM, learned much more
than waiting to get a degree and most importantly, by far not boring a minute.
😬

Collapse
 
lukas1 profile image
lukas1 • Edited

I agree that CS degree is not necessary to perform most software development jobs out there (I myself have no degree and am doing just fine). That said, your trying to turn it into an advantage is completely misplaced. There are tons of CS graduates with great interpersonal skills or graphic design skills or what have you and I can guarantee you they're better at their job than you (or me for that matter) currently are.

Also, having been in the industry for a long time, I've studied some of the CS stuff on my own (mostly just basics TBH) and I can tell you it makes a great difference. It's the kind of knowledge that bootcamp doesn't give you. So to all the people without CS degree, don't just be content with learning how to program. Learn principles of computers, of operating systems, learn about automata and grammars, learn about algorithms and so on.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I've commented elsewhere here, but I realized something else relevant:

In my experience — and this has been confirmed by the university CS professors I've worked with! — a CS degree does not map to real world experience! Graduates must seek out real-world experience through internships or entry-level jobs before they can hope to be an asset to any team. This is because CS degrees teach theory, but very little in the way of practical application. College projects, even the much touted "group projects" and "final projects," barely manage a superficial resemblance to actual software development.

I've observed this with every single intern I've ever trained. Despite attending superb universities, maintaining high grades, and having all the right classes from excellent instructors, nothing could prepare them for a real project. They all spent the first couple of months with the "deer in the headlights" look about them. Despite their professors' warnings that the classroom doesn't map to reality, they were unprepared for just how different the real industry was.

To put that another way, without real world experience, a CS degree is just a very expensive piece of wall art. With real world experience, it can be helpful...but then, you can learn anything any university could ever teach you, on your own, from books, courses, and real-world experience. (Whether to get a CS degree should depend solely on your individual learning needs. It's a good option if you work best with guided learning.)

Guess what interviewers asked those internship graduates about? It wasn't the degree or the final projects for school (despite those being brought up)...it was the internship. The real-world industry experience was all that mattered in the end.

What does this mean? Assuming the same topics have been studied, the only difference between a BSCS and a self-trained/alt-trained programmer is a piece of paper. If the self-trained programmer has the experience, guess who's the bigger team asset? Guess who gets the job?

QED: a BSCS degree means literally nothing on its own vis-a-vis "equivalent experience".

Some comments may only be visible to logged-in visitors. Sign in to view all comments.