It’s the eternal debate. Is a degree really necessary nowadays?
The short answer: No.
The long one: It depends…
But let me explain.
First, what kind of developer do you want to be? A software developer, game developer, web, app, anything else?
There are many possibilities, but your journey can be quite similar either way.
I did actually study computer science. I got my bachelor’s and master’s degree and always wanted to become a game developer, for instance.
Then, in fact, I got a position in a game dev studio and after some experimenting with other industries, I’m now a back-end web developer. I love it, but I still like to make games by myself in my spare-time.
If I had to decide today, if I should go to the university again, I’m not sure if I would really do it.
The time after my graduation taught me one thing: There are so many more possibilities nowadays.
For starters, you could try to get an internship to get a glimpse at a certain job. Or if you’re already sure, you could apply for an apprenticeship.
Apart from that, there are many many boot camps where you can learn the craft of software development in a few months, instead of years.
But let’s have look at the advantages of studying computer science.
You get an overall look. You may start with assembler, then learn C, C++, Java, maybe even C#. You also learn a lot of theory and math. You can also take other interesting courses like IT Security, Design Patterns, and so on to get deeper understandings.
But that’s nothing you couldn’t learn in another way.
For me, the computer science degree is mainly a ticket into the tech industry.
You’ve got a master’s degree? Great! You should already know this and that, but the most important fact is, that you are able to finish a project over several years! This one is crucial.
For several years, you were able to focus on this one thing, this one big project, and even finished it. A skill that everyone needs in that industry.
It shows that you have the patience and the persistence to focus on one project.
Big companies like Google, for instance, seem to absolutely want you to have a degree.
And not only any degree. You need perfect grades and you ideally studied at a famous university. But even then, they will test you with several coding interviews.
After graduation, it’s all about your experience and your references.
For me personally, it was a big advantage, that I published an indie game and made some online courses. People could actually have a look at my skills without the need to talk to me.
Fun fact, a company that invited me to an interview actually bought one of my courses and even finished it. That was a great feeling.
So having those public references can help tremendously. All the recruiters I have talked to, loved it, because, of course, that way it’s easier for them to convince potential employers for an interview!
And, c’mon, as an ambitious developer, you always have some unfinished side projects collecting dust on your hard disk. Finish them and show them to the world!
Just imagine: A side project you have done in school or during an internship at home becomes a huge success. The right employer who sees that doesn’t care about your degree. They already know that you’ve got what it takes!
So decide for yourself. A computer science degree is this ticket and maybe it also provides some security to a degree, if times look bad.
But it costs you several years and maybe also money upfront, unfortunately. But then again it can be some kind of investment into yourself and into your future.
Going another way might not be so secure, but you have the opportunity to get into the industry earlier and develop the skill you want without all that other stuff.
It really is up to you. Sorry!
One additional side note, though: If you want to become some kind of entrepreneur and build your own stuff, you don’t need any of this. Just do it.
Header Image Designed by Freepik
The post Do You Need a Computer Science Degree to Be a Developer? appeared first on Programmer Goals.
But wait, there’s more!
- Let’s connect on Twitter, Facebook, YouTube, LinkedIn, Instagram or here on dev.to.
- Get the 5 Software Developer’s Career Hacks for free.
- Enjoy more valuable articles for your developer life and career on programmergoals.com.
Top comments (14)
Internet is a vast ocean of information that nowadays can teach you anything, but as wide and deep it is, finding the correct knowledge gets very tricky.
A computer science degree or software development degree are designed to teach the correct parts of that knowledge. Everyone can learn to code (it's amazing!) but what about coding with a maintainable structure? As grinch as i must sound right know, the idea of CS or SD degrees is to teach you how to solve problems efficiently, write clean and scalable code that is cheap to maintain over the years.
I'm not saying that you MUST get a degree, but that it does makes a difference in companies were money is being invested. With time it will be more difficult to compete with CS professionals as the amount of them is growing every year.
But of course, if your intentions are to work on small projects and not fully dive in into the world of software development it may be a waste of money to get a degree.
Can't people learn "maintainable structure", "solve problems efficiently" and "write clean and scalable code that is cheap to maintain over the years" outside the academy?
Many of the best software developers I know learned how to do it (proper) completely outside it.
We do have great books in the topic. :)
Cheers.
Of course! I didn't meant that it was not possible, sorry for the misunderstanding.
My comment aimed at the point that the learning curve is completed while you are obtaining a degree vs working on projects until you have learned everything. Companies usually will prefer experienced people.
One never stops learning, CS degree will not teach you everything but it gives you a great time advantage, it condenses everything you should know and what to look for when learning new stuff.
Time advantage? CS takes 3-4 years, it's possible to learn how to write clean, secure, scalable, maintainable code in a matter of months.
No. But a computer science degree gives you more than just the ability to be a developer. It lets you pursue a master's degree, then maybe a doctorate. It fills a requirement by some companies for internships or full-time jobs. A college degree will open more doors for you.
Thanks For Sharing Such beautiful information with us. i hope you will
share some more information about this post. please keep sharing! may i
Also share How to view saved wifi password on android without root..
Great article, it's encouraging to see other people writing about degrees not being necessary. I wrote a similar article with a stat based analysis of the different routes here:
medium.com/mayden-academy/routes-t...
I left school at 16 and was told in no uncertain terms by my CompSci tutor that I shouldn't pursue a career in programming as I was well behind the rest of my class. I was a bit of a trouble maker and didn't put the effort in that was required.
Took it fairly hard because my father is a programmer with a masters degree in the subject and it was what I had planned for my life, but wrote it all off. Did some time labouring on building sites, and was fortunate enough to get my head down and get a promotion in the company and worked my way up from the bottom.
Anyways, I was unhappy.
Four years ago I went all in on studying web development. I learnt how to code entirely by myself on the internet and dedicated early mornings and evenings for at least a year learning.
I can gladly say that today I am Team Lead of the development team at a leading Data Science consultancy in the UK.
Whilst I might not be the best programmer I am convinced that success in this field comes down to more than just lessons a degree will teach you. Communication, leadership ability, project management etc are all skills I have picked up from my previous jobs and are all valuable skills to have.
The theories you learn during the 4 years definitely help. It specially becomes useful when you are dealing with huge amount of data processing , then big O notations , difference between order of n and n square etc comes to aid . For N engineering software sometimes we had to deal with models containing millions of triangles , and to efficiently show the models you had to have a good grasp of the theories you learnt and I doubt whether someone without these concepts would be able to do that !
Of course, a Computer Science (CS) degree is not required for programming and doing some job in software engineering. This is proved by many programmers over the World. From another side, it doesn't have to be learned in one of the Universities, no matter they are famous or not. All the materials are available and a lot of people get deep CS knowledge alone being in the IT industry for more than decades.
The question is why? What pushes and motivates IT professionals working many years in their field, struggle for the profound CS knowledge?
I found answers here Teach Yourself Computer Science in the topics "Who is the target audience for this guide?" and "Why learn computer science?".
Which edX course would suffice to land a good job as a software developer
Hey. Sorry, but I don't know edX. Well, what kind of software developer do you want to be?
Well Said
Very good.
I don't have a CS degree, but the only regret I have is that my maths could be a bit better. I think I'd have gained that from a CS degree.