Why Not Having a CS Degree is Awesome

Caitlyn Greffly on November 05, 2019

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 lif... [Read Full]
markdown guide

I feel this.

While I was out not getting a CS degree, it wasn't like I was just sitting around not getting educated, not learning about this world and developing other skills that would be crucial for software development.


True, makes for a more well rounded person.


I have a CS degree, as I wrote in one of my articles, you don't need a CS degree to become a developer BUT unfortunately a lot of companies keep asking for a degree and/or don't pay you the same as if you have one (which I agree...sorta) I say sorta, because if you are very talented then you should get compensated for your talent, not because of your level of studies. If you are just average and don't have a CS degree then sure you should get paid less since the other person has more preparation. People go to school for 4.5 years average for a CS degree and most of the bootcamps are only for a few weeks and they teach you how to build apps, but the majority of them don't teach you how to think as a programmer.

Also, going to school is a great experience to learn from other people, do networking and get very good friends (you are stuck with this peeps for several years 🤗)

Another advantage of going to college is that some companies take your studies as experience. For example if a job opening is asking for 2 years experience using JAVA and you have been using JAVA through college then you technically qualify. Some companies specify 2 years of Professional experience tho and that's when college doesn't count as expirience.

Also, getting a college degree involves more than just CS classes. I had to take 9 math classes, chemistry, OR, and physics which helped my brain to develop in certain way and being more opened to other ways of thinking.

Lastly I have seen companies not carrying about your degree after 2-3 years of professional experience, but some companies when you reach certain level they care about it again. Like, yes you could be a software engineer without a degree, but a company may not make you a manager or a software architect because you don't have a degree.

Now, would I do get master's in CS. Hell no! Waste of money haha.

I think the only downside I see for people going college is having student loans. Thank god I didn't have any.


There are definitely so many up sides to having a CS degree, or any degree, and I agree that you get more than just coding skills in those programs. I just love that there’s another option out there for people who can’t go to a university or don’t want to go again.

Interesting to think about pay differences for CS grads. Personally, as a non CS grad, I wouldn’t mind if a CS grad got paid more than me out of the gate, I would just think we would even out with time and years of experience eventually. But I would just hope an employer would give chances to people without CS degrees as well! Which we are definitely seeing in the workplace, one of the reasons bootcamps are so popular right now.


Yes exactly, like I said a lot of companies don't care after 2-3 about your studies so you can definitely even out after a few years if you are talented. Also people experience pay differences just by going to different schools. E.g someone from Georgia Tech usually gets pay more than someone who went to a small college.

Also, in my personal point of view, if I had another degree and wanted to get into coding I wouldn't do a "on site bootcamp". I will just grab $200 and buy the best courses for what I want to learn e.g React, NodeJS, etc. By doing this I will save a lot of money, learn at my speed, have lifetime access to the courses I bought and the majority of the courses are created by the leaders in the industry.

May I receive an advice since I graduated and I am hardly getting employed and am doing side projects for people yet the people at the end they drop me 🙆 down and I can't show case something that is hosted to employers please? How can I get a job as a graduate?

That’s rough if you’re doing work for employers but not able to show it off for whatever reason... I guess you would have to get some side projects going to grow your personal portfolio? Good luck!

Will they help me to be considered for a job though? It will really be nice if they consider me😥🙀🙀🙀

Yes, write your own apps, build a mini-portfolio to showcase your skills and work.


The "experience" of college can be gained from having any job, especially minimum wage jobs. I feel that working in food service or retail can far outrank college in every positive point you made.

Everything that you listed as a positive is not worth people going into debt for years, or life; and it's such a waste of learning potential.

If you want to learn how to think like a programmer, then do that. I did and I didn't have to get cozy with people I didn't want to associate with; I did that at Domino's and McDonald's.

I've been down in the dumps, Homeless, I've had close family murdered, including my mother. I've had wonderful things like my children being born and in my 30s meeting the woman of my dreams. Zero excuse to limit someone's potential. It can be done. Life is thinking like a programmer, no college needed.

The mentality that a college education is a net positive is consumer bias; apple products anyone? Use Linux.

Please use caution with your statements before you inadvertently put people into huge debt based on your recommendations.

Coding and understanding how to think like a programmer do not require college... Period.


As much as I agree there are other hardships people can go through - I wouldn't say simply having a minimum wage job compares to a college experience at all. Being in a position where you need to earn for yourself can outweigh it but still isn't the same. College provides an academic challenge where as a CS major you could find yourself working ALL the time for no pay at all - in fact you're the one paying the tuition dollars here. So it's very very different in terms of what you learn. In college you learn how you learn. By working a minimum wage job, you learn how to get by and survive. Two different skill sets!

I agree, and learning to survive is vastly more important. I have "been" to college, it was unflattering to say the least. So I quit.

College aims to teach life to the lowest common denominator. Life is the greatest teacher of all. Besides, the point here is software development and the necessity of a college degree.

We can intellectually disagree on the importance of a college degree, but my point is that a college degree nor a bootcamp is even remotely needed for a happy, rewarding career in software development. The passion in coding could use more entrepreneurs and startups, but that is another story.

I also love quantum physics, biology, math, etc. I don't need to have a degree to be good at any of them... I do it because I love learning. I think that is what is missing in college. The love of learning what you are passionate about.

Never stop exploring the world


I don't agree that a minimum wage job replaces the experience of college, in fact most of the recruiters tell you to take away irrelevant experiences like being a waiter etc from your resume but they never tell you to take college off your resume, for you may not be worth going to college for some people it is. Like I said you don't need to have a degree to be a programmer, but if you don't may not get pay the same as other one that do, and that's a fact.

Sure, no college needed to think as a programmer but they do teach you that in school, yes you can learn it somewhere else. Most of the bootcamps don't teach you this. How many developers who take a bootcamp also take the time to take logic, classes, and other things that help you think as a programmer? I guarantee you the minimum people who graduated from a bootcamp do it.

If your excuse to avoid college is getting into debt, then bootcamps shouldn't even be an option. A good bootcamp can cost you easily several thousands of dollars ( not going to school because you don't want to get into debt is a valid excuse, I hate the education system here in the USA that is so expensive). Like I mentioned in one of the comments, I will take $200 and buy the best courses online crated by the best people in the industry (something the majority of the bootcamps don't offer, a class by top shit people in the industry)

Now, to give class in college you need a Phd and most of the professors have worked in the industry, have connections and have patents. Something that makes college education valuable too.

I'm not limiting someone's potential. I spoke facts, and not because I spoke facts means I'm telling people to get in debt. I mean good salaries sometimes come with a price and not just programming. Are you going to tell the doctor to not get a doctorate because is expensive or what?

If you read the post carefully I even mention that after 2-3 years of experience companies don't care about your degree, some companies start carrying again about you having a degree when you reach upper level positions, which is a fact too.

College doesn't have to be expensive. My 4 year accredited degree cost me almost nothing out of pocket. I received a full tuition scholarship. The local community college has a partnership program with universities for several degrees. I attended college, lived at home, worked part time, and took general education classes at the community college rate. I paid for books and lab fees.

I probably have less than $5k out of pocket in my degree. If I paid 100% out of pocket for my degree it would have cost less than 2 years at a traditional university living on campus.

I understand that not everyone has access to these programs -- but they are around. More and more of them are becoming fully virtual as well.


Eeehhh...i don't fully agree here. With you and OP.

This article can be true for your typical programmer/dev role.

But for someone who wants to go beyond the typical dev, and, say, program the trajectory of a satellite, a space shuttle, or an autonomous car - "working at Domino's and think like a programmer" and a bootcamp is not going to cut it.


I know tons of people with a CS degree and they did very little coding. It was Automata theory, P vs NP, etc. Which is great if you want to design data warehouses or develop encryption algorithms but none of that shit helps you build web apps. Bootcamps are light on theory but heavy on practical experience. I have never once had my lack of a degree keep me from getting a job or a promotion. But I’ve never applied at Google or “the social media platform who shall not be named” so maybe they require a degree. Their loss. They’re missing out on a lot of talent by setting arbitrary restrictions.

And TRUST ME...I know a LOT about arbitrary restrictions.

I think employers are starting to realize that theory doesn’t pay the bills. Writing code does. I’ve been a hiring developer before and I would take someone that can code any day before I would take someone with a degree and no skill.


hhahaha not be named that was super funny. Yes more and more companies are being more open about it. I'm suprised that Google and other big tech companies still asking for a degree


A colleague of mine once commented on the difference between what he called theoretical knowledge and domain knowledge. To sum it up succinctly, theory is the "why" of a thing and domain is the "how." Some mastery of both are necessary to become a strong developer.

That being said, while a CS degree should indicate strong basis in theory, it often doesn't. Conversely, not having a degree doesn't indicate a lack of understanding of underlying principles. All it takes is a driving curiosity and a commitment to mastering the profession. Whether one attended a bootcamp or a CS program is irrelevant compared to their drive and thirst for learning.

For what it's worth, I have a Master's in CS and I neither know nor care about the history of binary.


I know a developer in his 60s that has a masters in CS and during his entire degree program he didn’t write a single line of code. Why? Because the small college in Idaho couldn’t afford one.

An extreme example of course but my point is that you can haz CS degree and not know how to code but you can’t graduate from a Bootcamp and not know how to code a lil’ bit. 🥴


Wouldn't that depend on the bootcamp? These are mostly for profit institutions. One way to increase the profit is to skimp on the training.


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 very much agree! Engineers build stuff for people and since people are diverse having a diverse team only makes sense. Those people could be fellow engineers, or direct consumers, but the idea is the same, build for others. 😉

But I don't know if all employers know this fact, which is one of the problems in all industries, but I believe that will change :)


“Overspecialize, and you breed in weakness. It’s slow death.”


I don’t agree in the slightest. So you know how much the programmers make that write some of the most obscure languages. Imagine you were SO specialized that you were the ONLY programmer on the entire planet that could do what you do. You’d be highly paid, considered an expert, and when people have a problem with that platform you would be the one they would call.

Now I agree with the other side of the coin. If you have 57 programming languages listed on your resume then you probably aren’t very good at any of them. 😂

That is until what you specialize in isn't used. Its like being fluent in Latin, and all that ancient Greek texts have been migrated over to the latest version of English haha.

Regardless, I don't think the quote is suppose to be applied to a single person, most of the post, my reply and I assume this quote are organization focused.


The only thing that's usually missing from self taught developer / bootcamp grads is a solid foundation of cs principles. As a self taught developer myself, I'm still learning basic concepts on a daily basis.
While it's cool that bootcamp teach you all the new stuff, they also gloss over many important others that during an engineering degree are usually covered.


I'd argue that most CS folks who graduate from a 4-year uni also miss a solid foundation in CS principles ;-)


I agree. I've almost graduated and I haven't learned much in uni except for Math and Physics, and I'm doing a CS degree (not in the US btw).

It varies pretty widely. I went to Carnegie Mellon, which has its own idea of how to teach comp sci. It's very effective, but... Yeah, mostly places should not want to do it that way.


Agreed! There’s definitely no way to cover the vast amount of material you’d get in 2-4 years of CS in 6 months, but its a nice jumping off point.


Yes but how long do those principles stick around? For example, I minored in math. I took Calc I, II, III and DiffEQ, and Linear Algebra and if you asked me to solve anything but the simplest diff or integral I would be hard pressed. I know about Eigenvectors and Eigenvalues and Fourier transforms but ask me to explain it to someone and I’ll rage quit. 😂


You still learning every day is what it is all about. You can't wrap everything into 4 months or 4 years. You will write your best software solution when you close your editor for the last time.


Caitlyn this is an amazing post! I have 3 college degrees, 2 bachelors and 1 masters, all of which I no longer use. I chose to go to a bootcamp because I didn't want to add to my mound of student debt by going back for ANOTHER degree.

What really urks me reading this discussion thread are all the people claiming us bootcamp grads aren't worth hiring or having as teammates. It's really discouraging as someone currently looking for my first SWE role to know there are people out there with this mindset. Am I going to be mistreated or looked down upon as inferior in my future workplace because I'm a bootcamp grad?

All of that hard work I put in over 5 years to earn 3 degrees and my 3+ years of post-graduate professional experience does not disappear just because I switched careers and went to a bootcamp instead of going for a 4th degree. I may not know everything a CS graduate knows right off the bat, but I'll work hard to get to that point.

One last thing I'll add, learning multiple languages and frameworks over a short period of time is no small feat. All bootcamp grads reading this should be proud of their accomplishments. Do not allow these negative comments get you down about yourself.


I agree! I was a double major in undergrad (biology and information systems), got my master's degree, got several hours of post-graduate computer science coursework and I'm not going back to get a CS degree. I've shown I'm obviously capable of learning. If I have the projects to back up my computer science knowledge and experience, that should matter. There is no reason to go into more debt for another master's degree! Ignore everyone that tries to downplay your accomplishments!


I 100% agree with you! Your employer is going to see that you are a super hard worker and love learning, which is so important in a field that is constantly evolving. And I also really hope these comments don't discourage people - for what it's worth I have NEVER felt this kind of negativity in person. Only in the depths of the internet 🤗


I have learnt a lot from my CS degree that reflects on my daily work.
I learnt how data are structured, how to make our algorithms more efficient, how computers works and loads of other important stuff.


I am sure this is an incredible amount of value in a CS degree, and I didn’t mean to devalue that here. Just show that there is also value in bootcamps.


It's interesting that you have a degree in psychology. I say that because quite a few folks I've encountered on my journey are in IT and were psychology majors.

I wonder where the correlation is sometimes, but it may be how one is able to "get it", or "see the bigger picture", and if they can't, they'll probe until they do.

And starting a project with that perspective is big because there's nothing worse than encountering 'scope-creep' or discovering additional use-cases more than halfway through development.

If I had to guess, this is one thing a CS degree or a Bootcamp will not provide for someone. Sometimes it takes a failed project or a few missed deadlines to gain this level of insight. Others may have this trait inherently.

I can't say I'm all-in on Bootcamps or colleges, but I will say the journey to becoming a developer is hard. Very hard. So I always tip my imaginary hat to recent CS majors and Bootcamp grads, and again for those who transform them into successful careers.

However, the common thread for all devs I look up to and admire the most?

  • Big picture view (always trying to connect the dots)
  • Humility (always willing to learn)
  • Perseverance
  • Inclusivity (knowledge sharing, encouraging others)

And, some of the biggest career-traps I've spotted along the way here?

  • A Strong focus on implementation details before all-else
  • A big ego
  • Stagnation (getting too comfortable with only one solution, system, role, etc.)
  • Gate-keeping

Thanks for the great read!


When I read this it just occurred to me:

I wonder where the correlation is sometimes [between Psychology and programming]

Could it be thinking about thinking? Meta-cognition, computational thinking? Analysing thought processes, etc.


I initially majored in CS but after discovering that I was primarily good at coding per se and not the more theoretical aspects of math / CS I switched over to linguistics, on the cognitive science track. Computer science / AI is considered to be part of cognitive science. In either case (CS or linguistics) I am dealing with subjects that have at least the rudiments of a mind. We absolutely need people who are dedicated to solving problems like blocks sliding down an inclined plane but I just couldn't quite get into this sort of thing.


Great post. Some of the best developers I've worked with didn't have CS degrees (though many if them did have other Engineering degrees).

One word of caution though: while I've never been to a bootcamp program, my impression (which may be unfounded) is that they mostly just teach you how to code. There's a lot more to software engineering than writing code. It's a bit like a publishing company deciding that they need more authors, so they offer a spelling and typing class.

So whether you choose to get your education through a university or not, I think that what will be the most helpful would be to make sure you continue learning about all of the non-coding parts of being a software engineer. Some of the non software engineers I've worked with write code that works, but it is terrible to look at and you know they got all of their knowledge from their one programming class they needed for their mechanical engineering degree. I've worked with others who are constantly scouring the web for advice on programming principals, reading blogs, taking online courses, consulting their coworkers, etc. and they write better code than some of the classically trained software engineers.

In the end, the key is learning (and continuing to learn) the principal's, and to me, it doesn't matter how you do it.


Caitlyn, This post has generated balanced comments. I'm an Electrical Engineer "turning front end dev." I can't afford the time to go back to school for the languages necessary for front end dev. So I've decided to self-teach(taking courses online.) I'm just completing CSS, after HTML. I'll then do JS & React. I'm three weeks into it and I'm doing awesome because this is the best learning formula that suits me for now.


It bums me out that people think I am discounting having a CS degree. If I wrote a post of the perks of not having a dog, would everyone who owned a dog come out of the woodwork to angrily tell me I’m wrong?

Also, I would not replace my psych degree. I think it adds value to my life and has made me the person I am. That does not mean I shouldn’t be able to change my mind later and go down a different path. If there was no need for engineers with the kind of skills that bootcamps provide, bootcamps would not exist. If no one was getting hired from a bootcamp, bootcamps wouldn’t exist. I’m not sorry I spent 9k (not 15-20k) instead of 40k because debt makes me uncomfortable.

Everyone is free to their opinions, but I wish trying to uplift and support one group didn’t mean people felt like I was attacking them. There is absolutely nothing negative written about people with CS degrees in this article.


Caitlyn, your post was clear and non-attacking. I don’t know why it’s caused so much defensiveness and outrage. Even if someone has a different opinion, I don’t understand the anger in the responses. You’ve done an impressive job of not returning the attacks. It makes me sad that an article meant to encourage people has ended up showing an ugly side to our industry. 🙁 It’s so good you’re here.


Great stuff here. I often feel that I learned a lot of my most rare & valuable skills not in my CS program, but in music school. How to take a deep breath & walk on stage like you own the room, (demos, interviews), how to understand requirements & translate them into a formal spec (reading/writing sheet music), how to focus under pressure, how to break down difficult sections/features into component parts & build back up to a finished product. How to switch languages/frameworks (I played two different types of tuba, plus a little piano).

I really do feel that I learned a lot of valuable stuff in getting my CS degree, but I don't think any of it can't be self-taught. Grab the Dragon Book, or The Little Schemer, or Cracking the Coding Interview, etc. On the other hand, there really is no substitute for walking on stage & performing. (Which has helped me with pressure situations & difficult conversations my whole life.)

As an industry, tech has a serious problem recognizing great candidates & knowing what makes them great. I understand why people doing the hiring sometimes ask for a CS degree, but I think they're missing out on a lot of outstanding devs that way. I agree that it's best to have some kind of qualification, but I don't see any reason to prefer a CS degree over a bootcamp cert, a portfolio site, an example project in github, etc.


It’s possible a CS degree does give an advantage. I understood Caitlyn to be saying there are good things that come out of other backgrounds too, not that a CS degree is a bad or lesser thing.

The competition I was referring to wasn’t the job application process, but rather the putting down of people who have different backgrounds; that competition is not useful. If someone wants to weigh the pros and cons of getting a CS degree or not, that’s a discussion of paths and their relative merits. That isn’t what the responses here have felt like.

If you think about it though, we celebrate babies when they first crawl. Then we celebrate again when they take their first step. We celebrate when a child first learns to ride a bike without training wheels. We celebrate graduating high school and college.

To me, it's not really appropriate to judge and call out people on the things they choose to celebrate. We have no idea what someone has struggled with in the past. We have no idea how many road bumps that person had to move past to accomplish what they did.

I think that if we don't celebrate the small steps in life, life would be quite dull. That's my opinion though, it doesn't have to be yours. I choose to celebrate the small steps I take in life because I like focusing on progress and positivity. After celebrating, I move on to learning more. It's all part of the process of climbing that "ladder of ability". 😊

p.s. Thank you for having a civil/healthy conversation with me! I do really appreciate it.


Caitlyn, I totally agree with the spirit of your post. Having a CS degree doesn’t automatically make a person qualified and likely to be a good employee or team member anymore than not having one makes them the opposite. People are composites of all their experiences and traits, including education, perseverance, communication skills, etc. Someone who doesn’t have a CS degree still brings relevant and beneficial skills, knowledge, and experience.

This isn’t a competition. We want to build an industry that works together, not one where people belittle others and jockey for supremacy. I appreciate you pointing out the value of having diversity in our field.


As a software engineer with an art degree, I feel this article 🤘 I get to work with people who have backgrounds in teaching, organic chemistry, 3D animation, political lobbying... and yes, folks with CS degrees! Our differences are a huge part of our strength.


Wow, I would say that guy clearly did not understand the premise of this post. I'm currently getting my degree, however, I come from a military (infantry)/cop background. I understand two things: one, bootcamps work and two, experience counts for more than a piece of paper. Also, currently in my quest for that piece of paper I have learned that employers are wanting employees that have more soft skills than IT knowledge. In my past /current lines of work I have gained a plethora of soft skills and plenty of experience to boot.

The gentleman that isn't as understanding as some others in this thread appears to not have the experience with specific soft skills that would require one to be more empathetic.


Depends on the employer. Soft skills are rare in tech so a premium is placed on anyone who has them. But no real tech company is going to hire someone for an engineering role if they eschew technical ability in favor of people skills. The former is foundational. The latter is nice-to-have.


No not really , it's much easier to learn stuff like a minor in pyschology to give diversity but at the end of the day a bootcamp is just that much , sure you can do the basics , but with a cs degree you've spent 4 years just on computer science and nothing else , the amount of knowledge you get especially because you are around people ( most of them ) who are passionate about computer science as well , interpersonal skills can be developed much easier ( ie drama clubs social clubs , just interacting a lot , organizing events etc) and sure computer science is a subject that can be leaned online but what you get at a college is irreplaceable, thus there is reason people prefer engineers with a cs degree , at the end of the day sure bootcamp people will learn eventually by the time which cs students would have learned much more


I didn't say it's end all be all and that we know everything now. I was saying it's not an easy task and that it's something to be proud of. Just like setting a goal at work and accomplishing it. Or any other goal in life.

I may not know everything a CS graduate knows right off the bat, but I'll work hard to get to that point.

I acknowledged that we don't know everything and we still have a lot of work to do, so I'm not really sure where you are basing your thought that I'm not

humble enough to understand there are no shortcuts to excellence


Anyways, I know plenty of CS grads who are friends that felt like they struggled entering the workforce because they didn't know how to code and only knew theory. There are strengths and weaknesses to everything. Not every CS degree program is great. Not every bootcamp is great. People aren't perfect. We shouldn't be putting people down for it.

I’m sorry you’re getting this kind of negativity Victoria for, what I thought, was a very inspiring post.

Unfortunately there are going to be people who insist on reminding us that we are less than because of the route we chose to go in life. I want to hope that group of people is a small minority. I don’t need someone tellIng me that what I’ve done is not an accomplishment because they did more. What a horrible thing to say to someone.

The post is inspiring and very well written. Don't let the negativity take that away. What we've accomplished is that, an accomplishment.

I'm choosing to also hope that this is the view of the minority. More and more companies are starting to integrate apprenticeship programs for those with non-traditional backgrounds. If companies are investing time and money to create programs for people like us there is obviously room for us here, as well as people supporting us and rooting for our success.


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.


Having worked on Web apps since the late 90s, started a computer science degree, switching majors to more general computer studies, taken until my 30s to finish school, and still working on Web apps in 2019, I can definitely relate and am glad to see more employers being open to hiring from non-traditional channels.

One of the most talented developers I ever worked with was a history professor who switched careers in his mid-to-late 40s. It just goes to show that developer productivity is more often a mix of grit and passion for the field than academic credentials alone.

I’ve also interviewed at some big tech companies and been bitten by the fact that I am not quite an expert on data structures, algorithms, and brain teaser LeetCode algorithms. It’s like the industry loves reminding me I should have just stuck with computer science and kept studying the freshman-to-sophomore concepts over and over just so I could pass some off-the-cuff whiteboard exams in my late 30s. Because that’s how writing apps is supposed to work? I don’t know.


Nice post!

I agree with you that people with different education backgrounds can bring different perspectives. My degree (BA in history) definitely doesn't play an obvious role in my career as a developer (I was mostly self-taught outside of college - bootcamps weren't a thing back then). However, I do think it gave me a different perspective and helped me to bring some communication skills, particularly in writing, that aren't always common in development teams.

I can understand why companies may prefer a CS degree (though not why some require it). But I agree that they can lose a lot of skills and perspective if they shut themselves out from people with different educational backgrounds.


Well, part of what I did is just be lucky. This was in the middle of the dotcom boom in the late 90s. There was a severe shortage of developers, so companies were desperate.

The other part, however, is something I think still applies today, which is that I built a significant project from scratch. It was a site that ended up with thousands of users (remember this is late-90s...that was more impressive back then). This was my main portfolio piece for interviews.

Luck isn't replicable, but I think the second part applies to bootcamp grads and self-learners. I talk to a lot of bootcamp grads through Orlando Devs and they all seem to come out with similar portfolios. Doing some kind of project that shows that you've integrated those skills you learned beyond the classroom setting can really help distinguish you among a group of applicants, many of which may be coming from your same bootcamp. For self learners, I'd say the need for multiple projects that can illustrate the skills you've learned are probably necessary.

Awesome advice man, I'm currently building the prototype for my first project which I've planned out the MVP and full product for. I'm hoping to display a wide range of skills with this one project before I start applying for jobs, but if that doesn't look impressive enough on my resume, I'll do another smaller frontend project. Your advice is super encouraging!


Hey Caitlyn,
Nice post. Loved it.
It totaly resonates with me.

My name is Ricardo I'm full-stack developer with around 20+ years of experience in this business.
I've worked all around the world as a freelancer for major companies - Accenture, SAP, Mercedes, Siemens, BP, Deloitte and many more.
Been in China, Germany, France, Sweden, and lots of other countries.

And I have a degree in... Journalism.

The fact that you're "out-of-the-box" only enriches you as a person.
And hey... with your background you bring humanism to this area (there's too much geekines sometimes).

I always tell my colleagues: if you want to be productive and really a supa-dupa developer go and read Classic Literature first :o)

For me, the fact that I don't have a CS degree was always a motivator for me to go the extra mile, learn more, improve myself.

Love what you do, that is all that matters.


As a fellow Psychology and Art History major that just recently graduated from a coding bootcamp, I love the way you articulate what seems like common sense to me. Having a more well-rounded skill set should be a plus for any employer! Keep killin' it Caitlyn 💪


Great article! Really resonated with me, not the same backstory but certainly similar sentiment.


Just don't forget that although the name doesn't imply CS is still an engineering. You don't want a bridge to collapse with people on it because of an engineering fault. I mean it comes with responsibility and some principles accumulated over time are implicitly taught with engineering formation.

This actually is the main reason why you should keep studying CS basics on a daily basis. So that one day you don't apply a tempting workaround while there is a solid way to do it, so that it doesn't cost the society valuable resources or even worse lives.

It is awesome that education is getting more democratic. I myself switched software development from industrial engineering. But in software industry I can see how non-engineering approaches may be trouble when used for engineering problems. It's pretty good to kickstart with a bootcamp. Just don't stop there because all the CS content you skip is also available online.


I, to, agree!
I realized a couple of days ago that I was spending over $16,000.00 annually to teach myself computer programming attending a University online. I have tons of self teaching resources plus an opportunity to attend a bootcamp. I just notified the school so I can focus on this one thing I want to for myself for fraction of the cost.


This is excellent, and very true. You don't need a CS degree to know what you're doing!

I know as much as any BSCS student I've ever trained as an intern. I have amazing direct working relationships with the computer science departments at two local universities, so much so I was even invited by one CS professor to speak to his class.

And yet, I don't have a degree. I am self-taught, something that is known by everyone I've ever worked with. It simply doesn't matter. Most of the professionals I've worked with, including a few university CS professors, fully agree with what I've been teaching for years: You do NOT need a BSCS to work in this field! Unless you're aiming specifically for the academic branch of computer science, the degree is no better than dedicated self-learning and real world experience.

Thanks for writing this article...and please disregard the attacks you're sadly getting from some other posters. They're unwarranted.


As someone who studied CS and a Bootcamp I must say that there is huge difference between being a Computer Engineer and a Software Developer. In the career I had the opportunity of learning the most important concepts about computer, networks, algorithms while learning about programming was secondary. In the Bootcamp, I learnt more about different technologies such as React, Node, Django... at the end, it teaches you on how to develop an application.

To sum up, if you want to focus your career only as a Software Developer, so doing a Bootcamp could be enough but it is true that a CS degree could open you more doors and gives you a wide knowledge that not any Bootcamp could ever teach you.


It always feels strange to read about educational problems in the US.

In Germany you study basically for free and can get a loan for you living expenses from the state where you only have to pay back half of it and only if you have a job that pays enough. Also, there is a comprehensive apprenticeship system for people who don't want or can study at a university where people even get paid to learn how to develop software.


I kinda disagree with this.
I usually never comment, but this resonates a lot with what I've been through.

Biology, life sciences and all that jazz was my thing. Studied 2 years, dropped out, started working as web developer right away but felt the impostor syndrome lurking around at every turn. Got a technical degree, but still, didn't put much academic effort into it and felt bad about it, as simple as that. Kept reading posts like this to make me feel good.

This year I'm 25 years old, getting back into a final year of remote studies to get a bachelor in CS. I don't need it for professional reasons, at all. I'm doing just fine a work I love and getting very well compensated for it.

It is awesome to have learned what I've learnt before getting into software engineering. But let's be honest, it never ever did me any good on a career perspective. Getting back on the academic bench feels genuinely great and I'm studying as hard as possible whilst maintaining a full time job. No pain no gain they say. You have to earn your peace of mind. Such is my journey.

I'm not saying anyone should follow any lead, and I'm all in for self acquired literacy, heck I've been through a lot of em' MOOCs and hackathons and what not. But getting a degree just feels great in my opinion, it's no hype, it's years of efforts from smart peers that get passed down to you in a condensed dose of knowledge.

Most of the people will never get the chance to be in the right context to become the next Gates or Zuckerberg. Drop outs are idolized and laziness justified nowadays. Being lazy about getting a CS degree is not a smart choice imho, at the very least it's not putting the odds in your favor. If you have to work a few years to pay for it or are making a career switch, then do. But then if you are still feeling bad about it, get a degree. Getting back on track is the hardest move, learning is awesome.

Just my 2 cents for posterity.


100% agree. I'm actually working on my CS degree now, my first BS was in economics. It's not been easy, there's certainly no free time with full-time work, kids, and school. Would I want to go about it another way, no.

I enjoy the process of learning, and I believe that is something that will service me well as I advance my career. Graduate degree next!

Calling people assholes when appropriate is ok, I hope. I mean I'm definitely an asshole sometimes. No biggie, it just means someone is a jerk.

My opinion is only controversial to people that have college degrees and have buyers remorse or people that live in the days long gone that actually learned something in college.

My wife is a medical professional, so I am fully aware of what is required for healthcare. That analogy/situation is bogus. I do have my issues with nursing/medical school as the intensity meant to weed out weaklings actually hurts us all as a species, but it's not my career


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.


I agree. To a degree.

I imagine beginning by obtaining a degree in CS is boring: it seems it has nothing to do with actual programming, especially for beginners.

However, I try to learn for quite some time some CS by myself (it's a very, very broad subject, so I try to learn it step by step, for fun mostly) and, since I develop for 20 years (10 years professionally), I can really see some benefits to learn about the abstraction layers we don't care about normally.

It helps to understand better our field and where it comes from. It's not a necessity (depending on your job) but it can teach you nice workflows and mindset how to write bullet proof code and how to tackle problems.

It's not magic and it's complex, but it's still very interesting.


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.


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.


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.


"Not having a CS degree is awesome"... "A CS degree is useless/overpriced/not worth it"... "I didnt need a CS degree neither do you"... "I knew this CS grad that couldnt code."

I'm sorry but I find notions like this come off as slightly arrogant and ungracious.

Indeed, the demand for software developers is so high today that many companies are happy to employ anyone that can demonstrate an aptitude for writing code, and that is a great thing by itself. Our field is a magnanimous one for anyone with the right attitude and mindset and willing to put in the effort.

However it is very wrong to disparage the value of the Computer Science degree. The industry a it is today was built over several decades by formally trained Computer Scientists, Engineers and Technologists (in collaboration with other non CS professionals, of course). They built the programming languages, operating systems, frameworks, algorithms, databases, networks, devices etc that you use today so easily that you have the confidence to think that knowledge is nownsuperfluous. They continue to do so to this day.


Love the article and I can’t agree more. Is college necessary? No. Is a degree worth having? Yes and no. I myself became a self taught developer and am very successful working from home freelancing. To me it boils down to why should I pay for free information? The internet has practically tons and tons of free information on Code.

I came here from twitter @ThunderfuryG so I had to read it :)


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.


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".


Hi Caitlyn,

What a great article! And also... I've been in the same boat for a while (front end development, java, android studio?). I am now however leaning more towards Networking and Portland is definitely a place I want to end up working.

Would you say aside from software development, there is a good lookout for IT professionals in Portland?

Thanks again, very refreshing!


So in other words, not having a CS degree, but having bootcamp on your resume, is awesome. Otherwise, your resume goes in the trash and you won't have a chance to tell the employer all these awesome things about your non-cs background. Especially if it's HR filtering these out.


Beautiful write-up, but I will say even bootcamps are not required. I quit my CS degree plan at 36, without even making it beyond college prerequisites. I knew what I wanted to do a decade ago. It is so simple to learn on your own with all that is online. I have been a developer for years and all I have is my GED. It is about passion and love for creating things that make people's lives easier.

Batteries not included, CS degree and boot camp not required.

Btw, coding is psychology...which anyone can learn that as well on their own.


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.


Wonderful post. I'm 33, teacher for the past 10 years, now I'm finally taking the step to become a developer. I felt old, out of place. Thank you for sharing the experience.


You are DEFINITELY not old and out of place! Good luck on your journey :)


Having a CS degree for coding is akin to needing a writing degree to create content for a magazine. The underlying skill is pretty general and can be learned by anyone but the degree gives you highly technocal knowledge and experience that is hard to get anywhere else.

You can go really far as a developer without a degree. And indeed many practical and soft skills only learned on the job are almost more important. But the theory is still useful for certain applications, in particular those that require optimizations.

Me personally. I got a degree in physics. So I am confident I could learn all of the mathematical stuff. And I use a lot of math as a data scientist. Every now and then I crack open an algorithms book and I plan to go through all of RIT's (my alma matter) CS theory courses. I don't think this is necessary to further my career. But it will help.


I agree on that, that's actually what I did, dropped my university on the first semester and found my first job. I learn everything on the way and it was great experience.

Everything was good until I decided I want to move to Germany and that's where I need degree (governments still don't get it). It's great that we live in 2019 and I manage to find online university, but still I need to spend 3 years on that. And now I'm little angry on myself that I dropped the university back in days. :)


I agree, but I think CS Degree is very useful. though. College teach you how to be a programmer, experience teach you how to be developer. Sometimes when those meet later in life, amazing ideas are born.


The point is, get a CS degree if you can afford it (in terms of time and money), and if you can't, that's totally fine too, however, as true as having a CS degree doesn't matter in relation to programming, a degree can still be considered a plus.

Nevertheless, for anyone to be successful in the line of programming, all you require is a brain that works, thinks and the strong desire to learn.

You're no use to an employer if you're a programmer and can't solve real world problems.


Great article, but I think you're missing some fine points. Bootcamps are great for certain DevOps and WebDev jobs, but the growth of ML and Data Science require deeper and deeper Mathematical and algorithmic understanding and background, that no bootcamp can never cover.
In my opinion, after the thrive of web development over the past years, CS/Math/Physics/Engineering degree will become more and more of a requirement, as more and more of the work will be automated.


Happy to say I'll be interviewing Caitlyn for my website, nocsdegree.com, very soon!

The truth transcends people's feelings. You can feel that I'm not being nice, or I'm the nicest person, and sure, in retrospect I could have worded things better, but fact remains - people with a CS degree, in general, are better at CS than people without one. The same is true for absolutely any profession... Will you say an accountant that has formal accounting education is as good as someone who took a 3 day course and learned to use Quicken?! It's ridiculous. Sure, you can make up for the lack of formal education, but you can't make up for it in a fraction of the time. You have to do the time, and in CS specifically (probably other lines of business as well), if you do the time, you may as well get the degree.

Also, comparing fresh grads with bootcamp folk with experience is also bogus. Those fresh grads won't stay fresh for long. So compare fresh grads with fresh bootcamp folk, or experienced grads with experienced bootcamp folk, see what conclusion you come to.

And, I paid for my education, and I wouldn't change a thing.


Deep learning, machine learning, image syntesis, computer visions, robotics, virtual physics, database structures, automated programming and many more... the point is those are highly theoritical fields. One line of code ,i remember my flatmate was trying to finish his final thesis, might cost you a week of calculation. That one line of code might responsible changing pruning methodology of existing data set to provide your facial recognition algorithm or changing color of div tag of existing html template, and yes 2nd one does not require any diploma. So, it depends. Who do you think create most of those protocols, compilers, operating systems ? Start googling linux history. These are things require dedication, maybe not just a degree most of times a life. Considering CS degree is not required because you think that its main focus is learning history of binary at school is pure ignorance.


Not sure how it is in other countries but I'm currently studying CS/CE in Germany, and literally the only thing they don't teach you is how to code. They already expect you to be able to code and each class requires different programming languages, which you will have to pick up on your own or turn to the tutors for help or attend extra courses. Those extra hours won't get you extra credits since they are not part of the curriculum (instead more of a prerequisite)

What they do teach you is pretty diverse. Yes they do have classes on theoretical informatics talking about big o (kinda crucial if you'd like to optimize your code to run fast) or Turing Machines. But they also teach you stuff on internet protocols, signal transmission or even proper project management.

In addition you get selectives as well, which in my case is media technology. This is my gateway to psychology. I did experiments where subjects rate the quality of the given video stimuli and I do ANOVA on collected data. I'm reading books and papers on emotion as part of the affective computing course. I've stretched far beyond what people traditionally think CS should be.

This is why I don't think comparing bootcamp to a proper university degree is fair. Lots of undergrads don't go into software development because that's not what the degree is for anyways. Uni is not job training, it lets you tap into other fields and explore what you might be interested in, might it be CGI or encryption or Quantum computing. And if in the end you do decide on software development you come prepared as well. Not that you would have a bigger skill set than the others and know all the tools existed, but you are aware of what to expect of the industry, of the particular branch you chose, and you are able to quickly adapt and quickly acquire the needed skills all by yourself just as you did in the uni. At the very least you will know what a scrum master is since you literally had an exam about it. XD

Tldr: if you are interested in tech stuff but don't know exactly what, go uni. If you are absolutely certain about software development, then bootcamp is a great choice to achieve it in short amount of time.


I agree that a degree in and of itself is no guarantee of a person with a superior skillset for a coding position. I also strongly feel that a team can only be enriched by adding people with different views and experiences.
And sure, studying CS will probably put you far away from modern tech and languages.
However, this is the point - if you get a CS degree with a strong mathematical background you will know HOW and WHY the stuff you build works. You will grasp concepts, and in my opinion even more important, limitations.
The big O will give you intution on why your program might not be performing as it should. Decidability will stop you from banging your head against an unsolvable problem for days. Algorithmics will make you ask yourself if there is a better way.

Of course, you can learn all those things by yourself but that leads me to a point I already made here once - for me personally university is the lighthouse that points me in the right direction.
I personally came from a chef's school and went after a hotel management degree for two years before dropping out and decideing I wanted to pursue a career in CS. For a year I was feeling utterly lost flicking from the wast ocean of resources online, where everyone is boasting about how great their new tech is, before I enrolled in university again at age 22. Now sitting down to learn a new framework, library or even a language is much easier for me.

Of course, my example doesn't necessarily hold true for everyone - maybe someone can navigate the murky waters of tech on their own. ^

If you do decide to ditch the university way, the only thing I would advise is to never assume you know a tech until you take it apart down to the bolts. This might not show in an environment like web dev, but in an AI or embedded setting unexpected results and mistakes may arise if you lack a proper theoretical base.

Finally, I am well aware that the US makes switching or pursuing another degree quite hard due to the tution pricing. In Europe this isn't as much of a problem - for me it was quite easy to re-enroll as my government subsidies university studies.


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.


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.


There are some valid points; but there are also several false equivalences here. For example: "Without a CS degree, you might not be able to explain Big O notation, but you might have great interpersonal skills."

Every person has unique skills and backgrounds. A CS degree is part of that. You are NEVER worse off for having learned something. There are many stereotypes that come with engineering and science degrees; many are 'true'. Most are not.

By no means should you let not having a degree prevent you from pursuing your goals. You can do a lot without one. Apply for jobs that you think might disqualify you because you don't have a degree; especially at smaller companies whom likely aren't using some bogus HR software to filter candidates. This is one case where recruiters come in handy as well (that is a different topic).

Don't view not having a (CS) degree as a road block -- but don't for a minute think that having one wouldn't give you advantages in your career. The time spent in college earning a degree comes with many of those life experiences that make everyone unique. Further do not sell short the networking potential that post secondary education has.

I feel the same with bootcamps. They have their own set of challenges and experiences. I do worry that some of them have become predatory and are good for not much else than taking money away from folks desperate for a change.

If I am looking at two otherwise equal candidates -- I am going to be inclined to go with the one that has the degree because it carries with it additional knowledge and experience. Having said that some of the best people I have worked with and had work for me did not have degrees (not just CS related ones). Good folks come from all walks.


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.

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).

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.


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.


Such an eye opening and candid discussion, this is something i have really pondered on for awhile and i can confidently say my mind is made up i know what i will do. Thanks


This is me right now, I graduated as a Telecommunication Engineer. Then I joined a bootcamp 4 months ago and still learning new things and skills needed to survive


“As an employer, you know the strongest teams are the most diverse teams.” 100% agree, having different mindsets in the team is critical! Thanks for sharing your story


I'm doing my bachelors in CS but studying lot of subjects that are irrelevant to my field and that is killing my time and energy. We need to get rid of this attitude that degree is everything 💯


Everytime a job application has "CS DEGREE" as requirement a good dev reading it sheds a tear.


I fully support your statement. People would be surprised how useful is to have some other realm of skills when actually developing. Thanks for supporting non CS degree ENGINEERS 😏.


Physics degree, master's in computational modelling, successful tech career. I'd guess physics is a pretty common non-CS way of becoming a programmer.


I'm the best at AWS, but it doesn't matter because I don't have a CS degree.


Sure. If you wanna spend the next 30 years of your life writing substandard JS. Then go right ahead...

If you want to work at MS, Google, Intel, or any other big player, doing something interesting and changing the world, then you're going to need a CS degree.


No, you don't need a CS degree to work as a developer at Microsoft. I worked there for 15 years and my degree is in English.



Is a great example of how much of a difference it can make... The comment box on this sites mobile version is an example of script kiddies at work. I can't even read what I'm typing.


You don't need a CS degree to work at Google. Not even as a software engineer.

No you don't. But you better at least have the equivalent of a 4 year degree in self learning and projects. A bootcamp isn't going to remotely cut it

Yes. Passion and dedication are required. Paper certs and degrees are optional.


I have background in Biochemistry and Neuroscience, as well as degree in Software Engineering.
Although it is not absolutely necessary to have a CS degree to land a job as a developer, I find it very useful to have one as when I compare myself to others without the degree, the way we develop application is very different. Before I even start coding, the first thing I do is to use UML to draw and get clear picture of the project. Think about the ways to optimize, increase performance, how to make db cluster, security comes first, whereas bootcampers use their instinct and experience to code. Their products may work but usually end up taking some performance hit.


There is definitely so much that someone with a CS degree would contribute to a team, and as I said I don’t think a 100% CS team would be the strongest team, I also think it would surely be wise to have a good mix of CS background and less traditional. You’re right in that there are things you learned that they just wouldn’t have time to teach in a bootcamp, and someone needs to know that stuff and be thinking that way!


Funny, I do all these things, speak at universities about this, even teach actual CS students (interns) to do this, and yet I don't have a degree.


Iheatu, with all due respect, are you a lawyer? You seem like one because you're very interested in arguing this case!


Me either, studied economics, worked in finance and wanted a change. Went back for a CS degree because I wanted a strong foundation and the credential. A lot of the coding I’m learning on my own as I work my way through.

My main point was you titled your post why not having a CS degree is awesome, then proceed to to make a case supporting your own path while offering nothing to support the title’s assertion.

Most likely you thought of the title first then tried to write a post to support it. Once your realized there was nothing to support “not having a CS degree is awesome”, you should have changed the title.

I came and read the post hoping to hear another side explain why the CS degree wasn’t worth getting. My assumption was I would disagree but still wanted to hear the perspective.

I’m still open to hearing why not having a CS degree is awesome. Do you care to add anything further?


I'm not sure why you thought this was a valuable comment to leave here. CS degrees and bootcamp grads can absolutely co-exist in organizations and increase the code quality and productivity across the board. You may have not had great experience with a particular bootcamp grad or a particular bootcamp curriculum, but this community's standards are to be empathetic.

What you fail to mention is that bootcamp offers a structured look into specific topics or programming languages, something you can't necessarily get from just searching around on the internet reading tutorials and books. By the way, programming books are often outdated the moment they are published.

I'd ask that in the future when you post comments, you take a little more consideration into how you might feel if someone commented like this about your CS degree. Bootcamp can be the stepping stone folks need to realize they want a more formal CS education, and not all Bootcamps are created equal.


Also I'd be REALLY surprised if your account of why the Boeing 737 MAX avionics was faulty is the correct one.


Learning on your own doesn't include job placement which boot camps typically do.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Probably for the best, boot-campers churn out low quality code from what I've seen. I've seen some baffled by something as simple as copying a memory buffer, producing code that not only is incorrect but also has poor cache locality.
Computer Science is not some busy-work degree, it is an engineering and science degree. Just because you can string together libraries in Python or JavaScript doesn't mean you can replace a computer scientist or engineer.

It's not likely that cache locality is of huge importance when coding in JavaScript. Which brings to mind the saying: "premature optimization is the root of all evil".

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

The code was brought to us for review because it had issues. We all had a laugh betting it was someone out of a bootcamp, because had they made it to Computer Science 201 (or whatever the 3rd computer science course is) they wouldn't have written that junk.

JavaScript and Python have enough ready-made building blocks that many low-skill programmers can manage to fake it. But it doesn't cut it and eventually the code will fail to scale with the user requirements.

My second CS course was purely theoretical (proof by induction etc.) and obviously cache locality never came up because that has to do with a physical device. Anyway I have to wonder how you would react to being told that any attempt you might make at (for example) selective translation of a document should be laughed at without extensive academic training in linguistics as well as the target language(s) in question.


I took assembly as well before switching over to linguistics (though I did quite well in assembly). I don't remember cache locality ever coming up. I also don't know Objective-C that well but it looks like you tried to do a one-to-one translation between a language with an isolating morphology (English) and another with an agglutinative morphology (Japanese). I imagine that might bring out derisive chuckles from people who share your mindset though I'm not one of them.


This is like saying that "is" and "are" (one of the few areas where English is still inflectional) are the same thing. Grammar is integral to vocabulary. I could snicker and sneer at you not knowing this but I'm not going to because I recognize that working with others shouldn't be an endless gotcha game. Consider treating others with the same respect.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

This is like saying that "is" and "are" (one of the few areas where English is still inflectional) are the same thing. Grammar is integral to vocabulary. I could snicker and sneer at you not knowing this

Say that to the Japanese politician who gave me the idea. He was a language teacher. I personally think the idea makes sense, at least for nouns.

Consider treating others with the same respect.

I don't stick my nose in what I don't know. I know what I'm qualified and not qualified to do. Boot-campers apparently don't.

Say that to the Japanese politician who gave me the idea. He was a language teacher.

This alone does not give him enough discernment to draw up plans for a translation program between two vastly different languages. In the case of Japanese you might be able to make things work in the specific instance of grammatical case because case is cleanly marked with a suffix that doesn't alter the noun before it (AFAIK).

However, your ambitions appeared to be broader than translation between English and Japanese or vice versa and I can guarantee that your approach would bomb with a language like Latin, or Finnish, or Quechua.

I don't stick my nose in what I don't know.

I'm afraid that hasn't been adequately demonstrated, sir. Acknowledge this and treat others around you with the same respect that you should receive yourself in making forays into unfamiliar territory.


It looks like you took a completely wrong message away from this: because you unreasonably demand specific formal qualifications for hiring a software engineer, you have also unreasonably and irrevocably wiped out your text translation application instead of learning the linguistic fundamentals on your own and improving it accordingly.

People in the field of software are constantly thrust into areas where they have no formal qualifications. No less a person than Geoffrey Hinton unwisely proclaimed that deep learning means that training as a radiologist is now pointless. Flesh-and-blood radiologists have rightly pointed out that he's in the wrong about this. That doesn't mean that Hinton should walk back his efforts in deep learning in general, or that he or anyone else applying deep learning to radiology should just shitcan their entire efforts.

What they should really do is recognize that they don't know everything and update their work instead of just wiping it out and sneering at everyone who doesn't have their very specific knowledge base. The moral of the story is, again, that you should treat honest mistakes made by others as your own honest mistakes and be willing to forgive others as you forgive yourself. And don't forget that "bootcamp people" may know a lot of things that you don't know.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

"If you get your education through a bootcamp, you are also going to be learning the most recent, most popular languages and frameworks."

Web stuff. That's all bootcamp teaches you, the bare minimum to do basic web development. Bootcamp barely scratches the surface of CS, and it usually uses crutches to make the web apps anyway (React, Bootstrap, frameworks, etc). Bootcamp grads are typically given the shit work that nobody else wants to do, like CSS, HTML, JavaScript stuff. If web devs like that stuff that's great, but if they don't they should seriously consider getting a degree or rigorous self learning

"You may not have all of the theoretical knowledge or know the history of binary"
is that what bootcamp grads think a CS degree is about?


Sounds like someone took this quite personally. I don't see why either, the author's just giving encouragement to people who don't have the time/money to spend on a 4 year CS degree in their 20s or 30s+. She never claimed that a bootcamp grad is going to build a quantum computer or create a cancer-curing machine learning algorithm.

Also, I'm pretty sure most bootcamp grads would actually enjoy doing the "shit" work known as web development, else they wouldn't have bothered changing careers.

Finally, I've come across many CS grads who said their degrees gave them no real world practical knowledge when looking for their first job and others who write worse spaghetti code than a bootcamp grad who learned JS in 12 weeks. Don't forget that ultimately, everything to do with computers is an abstraction. Software is an abstraction to interface with hardware. Hardware is a bunch of circuits etc. powered by electricity which comes down to the flow of electrons. So who is in a position to dictate what knowledge someone must have, unless they are a genius in pure maths and physics?

Am I trying to imply that there's anything wrong with doing a CS degree? Absolutely not. My point is why are we arguing about pieces of paper and making very dubious generalisations, rather than assessing the person on their actual skillset?

The fact is that web dev is a huge part of every industry today and it needs people with the skills to contribute to it. Most unis can't/won't teach the latest web tech because they were never designed to accommodate such a rapidly evolving field, so they focus on fundamentals. Which is fine, but most companies need devs to build/maintain their web app - not a rocket scientist commanding a huge salary. Since when was it acceptable to hate on others who are just trying to make a living by filling this gap in the market?


"Web stuff. That's all bootcamp teaches you, the bare minimum to do basic web development."

According to what? Who? You? 🙄

"Bootcamp barely scratches the surface of CS, and it usually uses crutches to make the web apps anyway (React, Bootstrap, frameworks, etc)."

Define computer science. 🤔

"Bootcamp grads are typically given the shit work that nobody else wants to do, like CSS, HTML, JavaScript stuff."

Maybe because the "CS guys" either:

A. Over-engineer what's supposed to be a basic webpage or app
B. Have no clue on as to what they're doing (A reason why a company hires a web dev in the first place? 🙃)

"If web devs like that stuff that's great, but if they don't they should seriously consider getting a degree or rigorous self-learning"

If someone doesn't like a Bootcamp they should go to college? I'm sorry, what? 😕

I'm going to stop quoting the post here.

Reading your post sounds like what's indicative of the more toxic parts of our community. Hasty generalizations and gate-keeping.

It's scary to know people like this are tasked with projects of any scale. Making broad assumptions is generally what can make project development a living hell for all parties involved.

It's not the degree or educational background that makes a developer great. I shouldn't have to say that to another dev, but here we are.


What you call "over engineering" is called doing it correctly.The reality is most bootcamp grads make really bad code that needs to be fixed by a someone.

I agree that not every bootcamp grads is bad. Many have CS degrees or years of development experience.

But to think that a bootcamp alone is going to put you on the same level or close to the same level as a CS grad is insulting to every CS grad who worked hard for 4 years to grasp the knowledge. Passing a CS degree off as just "theoretical" fluff just shows the narrow-minded focus of web devs these days. A bootcamp is less than one semester of a CS degree. A CS degree has another 7 semesters on top.

"Define computer science"

Graphics programming, physics engines, game development, real time simulation, high performance computing, databases, embedded, networking, artificial intelligence, software engineering, human computer interaction, cloud computing, security, algorithms/data structures, computational sciences. Those are just some of the sub fields of CS. I can go on...and then you have web development.

Bootcamps are a scam. They take often a lot of money (upwards of 15k sometimes) and promise you the world. They teach you how to hide the fact you are a bootcamp grad. When you finish you find there are no jobs, (except maybe basic web stuff, and even that is rare). A bootcamp promises to turn you into a software engineer without ever doing a single software engineering course. Its a joke. Bootcamps create software technicians at best. You learn a framework or two that last you until the industry no longer uses it. ( Which doesn't take long in the software industry).

And yes, any good university does in fact teach web development using new frameworks.

As for saying CS guys have no clue what they are doing, don't kid yourself

There are a lot of things I could discuss here, but I just want to disagree with the suggestion that bootcampers need to learn to hide the fact that they came from a bootcamp. I suppose one of the reasons I wrote this article is I want to advocate for people who decide to make the career transition via bootcamp to be proud and see what skills they can bring to the table.


Computer Science is the science of computation; that is literally taking a piece of information and applying a series of transformations to it based on pre-defined relationships in order to produce another useful piece of information.

There is a good article about that:

Computer Science: Not about Computers, Not Science


Excellent read, thanks for sharing that.

Krebsbach makes a strong argument and I mostly agree with it. If I had to quibble it would be with the idea of algorithms being the fundament of CS. An algorithm is prescriptive, but like a recipe to the culinary arts it is the act of going between ingredient and product which is our primary subject of study.

Computation is a natural phenomenon, even if it isn't usually a physical one.


I'm not sure if that person sees the irony in the fact that all their comment does is support the author's point: that having non-tech skills, such as social skills, can be valuable for a developer.

It's as if we'd be living in some kind of utopia, if only everyone one on the planet was trained as a computer engineer


Bootcamp grads are typically given the shit work that nobody else wants to do, like CSS, HTML, JavaScript stuff.

Isn't that the stuff people rave about all the time?

Great article! I could have easily switched a couple of my CS courses to bootcamps. Maybe then I would have picked relevant soft skills like reasoning and compassion earlier. Hard coding skills, as we know, only help you so far.


Bootcampers and beginners rant and rave about web dev because they don't know that it's the dog shit basics of programming.

Bootcampers also rant and rave about web because it's easy and its something they can do with minimal effort to learn.

Bootcampers also rave about it because it's likely their first job and they are just happy to have work in that field.

Web dev is something high schoolers do. It's simple, it appeals to the masses.

Bringing a full stack web application to life and keeping it extensible and maintainable is not an easy task. You might be thinking that web development is merely writing a single HTML file with some simple styling and scripting on top of it, but it's not.

Your ignorance and arrogance stands as a living proof of the toxic culture many a promising developer has to survive through. That is not welcome here so do us a favor and delete your account.


Totally agree. I work with several Hack Reactor grads and 2 of the 3 are total idiots that have almost resulted in a project I'm on failing because they lack basic CS fundamental awareness of concurrency, networks, packets, testing and just general crap CS degrees go over.

The third guy is the exception, but he graduated from Berkeley with a petroleum engineering degree so I'm not surprised that his study habits carried over into becoming a solid software engineer.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Yeah, it's awesome to not have a CS degree, second only to having one. Yeah, you can get a job with boot camp education to write front end components, as that's all you'll be able to do. But don't complain when you'll be seen as a lesser than the rest of your coworkers with CS degrees who can architect systems, optimize databases, design security, etc. Also, your "soft skills" will be awesome, but I'm still to see a software engineer being promoted because they're a smooth talker even though they can't quite grasp why the app slows down exponentially during peak hours even though traffic only doubles. Education is an investment, sure, you can hit it out of the park without one, and miss with one, but in general, I'm betting on the ones with CS degrees.


I've seen folks from bootcamps become fantastic engineers and application architects, and I've seen CS grads write some truly awful, unmaintainable/overly clever code. The reverse is also true! Both a CS grad and a bootcamp grad both have a lot left to learn when they enter the workforce. I've found that the desire and drive to continuously get better is a way better indicator of someone's ability to succeed than their degree.


Of course there's exceptions. Bill Gates doesn't have a CS degree, look how far he got... Your typical "programmers" tho - the ones with a CS degree compared to the ones with bootcamp education... the degree holders, especially with some experience (1-2 years), are better.


The fact that you think soft skills == "smooth talking" shows that you don't really understand what soft skills are. I also feel pretty bad for your coworkers who write your front-end components, since you seem to think that work (and, by extension, those who do that work) are somehow "lesser" than you. In general, I think your comment was pretty mean-spirited and unnecessary, and I'm not sure what it adds to the conversation.


I'm sorry, do you think that someone who can only write front end components and someone who can architect and implement an entire system end-to-end are the same? Of course the ones who have limited knowledge and ability are the "lesser" ones... they get paid as such also. Or is this now discrimination?

My comment may be mean to people who don't have degrees in CS, but I would argue the entire article is mean to everyone who does. Saying that it's awesome to not have a degree because you can make up for that in bootcamps, one, it's generally false, as the only way to make up for lack of 4 years of formal education is 4 years of informal education (can't do it in 9 months), and if you spend 4 years doing bootcamps to make up for it, may as well get a degree (the cost will be similar too), two, it tries to devalue a CS degree so when anyone who's considering one reads it, they may believe they're actually better off without one, and consequently, not get it, and three, how can you know the value of a CS degree if you don't have one?! It's like me saying a PhD in CS is worthless, but I only have MSc.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Does the username "Big bad wolf" give you any indication of niceness? Let the asshole have his day, move on and enjoy life. Wagering skill on a degree is a losers bet.

The problem is that people take a degree over experience. Experience is worth so much more than a 22 year old fresh out of school. And I will defend that argument...you need one or the other. Experience has the benefit that is something you have done vs something you paid money to be taught.


I was going to honestly reply to this but then I checked your Twitter account and realized that you’re just a petty troll with a real bad take on life. So I’m 100% just discounting your opinion and moving on.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Yeah, in this politically correct world, anyone can post that my 6 years undergrad+postgrad in comp sci makes me equal to someone who took a bootcamp in web development, and when I disagree, saying they are a lesser software engineer than I am, because they are, I'm the asshole... But it's fine for someone to say that my education is a waste of time and money, and by proxy, I'm dumb for doing it... So I keep my name out of it as I don't want to put myself in unnecessary situations, but I will state my opinion, and it's not changing because you don't like it.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

You are an asshole. It’s people like you that make this industry toxic for everyone else. You are not only a horrible engineer, you’re a horrible person.

The fact that you would print on the internet that ANYONE is a “lesser” engineer than you. Even printing those words shows me everything I need to know about you.

You’re dumb for spending money on an education and then walking around trying harder to show everyone how much smarter you think you are than anyone else instead of lifting people up.

Your Twitter account has 0 followers and you have 10 times as many replies as you do tweets. And almost all of your replies are you trolling people.

So have fun with your shitty life, and shitty career knowing that everything you say is being said into a vacuum.

I bet $100 that you’ve never contributed a single thing to the community. Ben, kick me the fuck off this platform if you want, I’ve said all I needed to say.


Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Wait, did you think that your Udacity course in web development makes you the same as the rest of us with degrees in CS? Sorry to burst your bubble, but just because something is true and you may not like it, I'm not a horrible person for saying it. I'd be a horrible person if I pretended that we are the same just to make you happy.

My twitter account with 0 followers and no tweets, news flash, not everyone cares to be "followed". That's my "reply to snowflakes" account. Oh wait, did I just use it to reply to you?

Yeah, the vacuum I say things into just made you write a 6 paragraph reply. So much for that.

I give $5/month to Wikipedia. You're welcome. You also owe me $100.


It's fine to disagree and debate with points expressed, but please do so respectfully.

The author has made it very clear this post isn't an attack against folks with CS degrees. It appears that they're celebrating non-traditional routes into programming and trying to build up devs that don't have CS degrees by pointing out the different strengths they can bring to the table. In short, their message is an overwhelmingly positive one — responding simply to belittle and misconstrue the point of this article is not constructive.

Also, while we welcome debate, let's try not to let this escalate to the level of personal attacks. No side is right unless they're being respectful. This is often tough when a topic is particularly heated, but we must try hard to keep discussion on the issue itself and follow the Code of Conduct at all times. Name-calling is never acceptable. If we can't abide by this, it's best to just move on. While it may be tempting to engage, reporting conduct breaching comments or articles should be the go-to.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Please forgive me but: What a ridiculous affirmation. For decades, I have repeatedly had to fix errors by those who claim to know how to program without getting a university approbation. I even almost fired for not being able to figure out "fred-enstein's monster", a database that broke every rule of database design and theory. Fred himself was not able to explain his work and very frankly disparaged anyone had formal training. The term "Paintball-programming" is dedicated to Fred.

There are very solid reasons for the need of computational theory not the least of which is being the poor guy has to support the mess after the hired hand leaves.

Places like "Big Nerd Ranch" are chock full of code crankers that spew such awful code -- that I have to consume or fix -- our project schedules elongate 2-3x!

Please don't dismiss years worth of training. Are you prepared for parallel (multi-threaded/task) programming? The use and limitations of mutexes? Knowing the difference between callback, event, queued, real time, or synchronous programming? Knowing whether a requirement is NP-hard or complete?

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

Great article (well, not really true, but what the heck)!

Because I got slammed earlier for saying that the only thing better than not having a CS degree is actually having one, I'll change that now... It's awesome to not have a degree in CS... but you know what's even more awesome? Not doing bootcamps either.

I mean, why pay anyone to teach you anything, let alone anyone reputable, who charges more just because they have reputation... There's lots of videos online that teach you practically everything.

No degrees, no bootcamps... self-educate online. May limit your ability to grow in your career, may limit your ability to even get a job, but whatever, you'll still know stuff.

I just wonder where all that knowledge comes from. Must be from other people who watch videos. Works for me!

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

The term "imposter syndrome" doesn't really apply if you are actually an imposter. Some people will put the work into getting the second degree, and I guess you're not one of those people; weird that you feel the need to peacock about it. If you were hired onto any software team at an org I'm at with the attitude you have, I'd be actively questioning why we had a deficiency in recruiting more qualified people. They basically made a sitcom about the thesis of your article called "The IT Crowd". #millenials

Edit: you're probably also not very popular with your female CS-degree-having peers because you are the physical embodiment of the stereotype that they would have had to overcome to have their own more legitimate career successes.

code of conduct - report abuse