Do You Need a Software Degree to Become a Successful Developer?
Here are few reasons why a software degree is important
Lately, I have seen an emerging trend online from articles, tweets, and videos where people suggest that you do not need a software degree to become a programmer or land a job. Why should you spend 3-6 years studying and end up with sky-high student loans instead of teaching yourself through online courses and finding a job within months?
Let me take you through my journey towards a developer career. I applied for a bachelor’s degree in Computer Engineering and a master’s degree in Systems Engineering. I finished my journey in 2018 with six years of educational experience and three years of experience in the industry while taking my master’s. It was a great choice that I do not regret. A software degree made me realize the importance of education and the opportunities it provides when applying for a job.
Studying requires discipline, patience, and hard work — regardless of if this is through self-study or a university degree.
Note: I am using the term “software degree” as a common word for degrees in Computer Science, Computer Engineering, and IT Engineering.
Here is what we will discuss in this article:
- “You do not need a software degree.” — Wait, what?
- A degree is not a waste of time.
- The self-taught journey is not that easy either.
- A degree is a symbol of commitment.
- A degree teaches you more than you think.
- A degree provides a life of stability.
- A degree does not make you a better programmer.
“You Do Not Need a Software Degree” — Wait, What?
One thing that fascinates me is the number of people saying that education is not important. What is funny is that most of these people already have a degree and have found a way to get rich. For instance, Elon Musk said the following in an interview back in 2014:
“There is no need even to have a college degree. At all. Or even high school.”
Anyone who is a fan of Musk and the things he has accomplished would quickly jump to the conclusion that he is right. However, he has three degrees: physics, economics, and engineering. For someone with such a strong educational background to tell you that you do not need a degree does not sound very reliable. This statement is also hypocritical since the majority of people who have applied at SpaceX or Tesla are told that they need a degree to apply for a job.
Musk is not the only one. Other successful people like Bill Gates and Mark Zuckerberg have become examples of dropouts who have followed their dreams. However, it is important to keep in mind that Gates and Zuckerberg dropped out of Harvard — not community college. Not everyone has a clear vision of where they want to be in life or the ability to make a living just by following the self-learning path.
Social media platforms such as Twitter have also become a place where people are claiming that a software degree is not necessary to become successful as a developer. Here are a few anonymous tweets:
“College is a whole scam. You should be able to take the bar or the CPA exam and get the creds if you pass regardless of how you studied. You don’t need CS fundamentals for every engineering job, so you don’t need a CS degree to be an engineer. Your bootcamp is sufficient.”
“The truth is, CS degrees are worthless in this day and age for a majority of engineering/development roles. The gatekeepers will dispute this, because they are in denial. It’s not 1980 any more. We have tutorials and blogs now.”
“You don’t need a CS degree. You don’t need an expensive PC. You don’t need 4–10 years in University. You need only desire to code. That’s all you need to become a developer.”
A Degree Is Not a Waste of Time
In general, if you want to become good at something, you need to spend a few years learning it. You have most likely heard that to become good at something, you need to invest 10,000 hours. If you think about it, it takes the same time to acquire a bachelor’s degree in Computer Engineering.
Most people look for shortcuts these days — a way to quickly learn something with minimal effort and time. There are programming bootcamps that claim to teach you programming within three months or courses that guarantee that you will go from zero to hero in x programming languages.
Most of this is just marketing so that they can earn money. Paying $60,000 to learn programming in three months sounds easier said than done. Learning programming takes years. A software degree will not necessarily teach you everything you need to know, but it provides security when applying for a job.
The Self-Taught Journey Is Not That Easy Either
You can become a programmer and find a job without having a software degree. This does not only apply to programming but also other fields thanks to the unlimited resources available online. Nowadays, if you want to become a programmer, just watch some courses online, build a simple app, and then apply for a job. Not that difficult, right? It sounds like anyone can do it.
One thing I have learned in life is that there are no shortcuts. A few courses and tutorials here and there will not replace a university degree.
However, being a self-taught developer does not mean taking the easy path. Quite the opposite, actually. It requires immense discipline and courage. Not only that, one must be able to know what to learn to be able to apply it to something useful (e.g. building an app). As opposed to a university degree where everything is already planned, you become your own professor with your own plan.
A Degree Is a Symbol of Commitment
A degree builds on the trust of commitment. It shows that you are a person who has gone through many challenges, working hard to get good grades, meeting important assignment deadlines, handling things under pressure, and is able to collaborate with others. Working in industries requires the same effort and skills, and for that reason, they are looking for someone who can handle similar challenges on a daily basis.
Before I started studying, I had many thoughts:
- “Is this the right choice?”
- “Will I find a job after this?”
- “Is this what I want to do for the rest of my life?”
Having second thoughts or doubts about the choices you make is not uncommon — especially when you are making a choice that will influence the rest of your life.
A Degree Teaches You More Than You Think
When I started studying, I was constantly unsure if I was making the right decision. I was considering other degrees and even the dropout option. My degree consisted of many subjects that were not explicitly about writing code but taught important skills such as understanding the architecture and behavior of a computer machine, managing customer requirements, how to work in a multidisciplinary team, and so on. These are skills that are undoubtedly important and very similar to what industries face.
When studying, most of the things you learn are probably outdated or will be at some time. This has become a reason for most people to avoid getting a degree because they can learn up-to-date technologies online. However, it is important to understand that knowledge is in constant motion. What you learned a year ago may not apply today. This happens often within the world of programming. For that reason, universities cannot always teach you up-to-date content. So, what do they teach then?
Universities focus on increasing skills like problem-solving, communication, presentation, the ability to learn new things, meeting deadlines, writing quality documentation, improving discipline, etc. These skills may not be the top priority or even considered by a self-taught programmer.
A Degree Provides a Life of Stability
What happens when the market crashes and you need to find another job or want to find a better job? Having a software degree is like having a plan B. It makes it easier to apply for a new job in a competitive market. Additionally, you do not need to worry about salary negotiations because most countries follow a common baseline according to the degree you have. Negotiating your salary without a degree may be difficult because it requires another level of proof. Industries can trust a university, but as a self-taught person, you need to build that trust from the ground up and prove that you have the experience and skills they are looking for.
I would argue that it is easier to have a degree and apply for a job than to not have a degree at all. There are many job opportunities I would not have enjoyed if I had applied without a degree. Having a diploma involves a kind of pride. You know you have worked hard for it, and that it is appreciated by many industries.
A Degree Does Not Make You a Better Programmer
A software degree may show that you have done a great job and are committed, but it does not necessarily guarantee that you are a good programmer. This is a common misconception for most people who want a degree.
You can read a hundred books on how to fly an airplane, but it is when you actually fly that you learn how to apply the knowledge. The same concept applies to programming. When you learn something, you build fundamental knowledge. But when you apply it, it is only then that you really learn it. This is what separates a good and a bad programmer. The art of taking theory to practice. So, if you want to become a good programmer, the only way is to build apps, program a lot, and encounter challenges.
A software degree is a gateway for landing job interviews. Once you get the job, the rest is up to you. Most of the companies you will encounter understand that you are not an expert but want to see if you are capable of learning the things their employees do.
As mentioned, learning is in constant motion, and the factor that determines your programming skills is mostly based on experience and your ability to solve problems. Having a degree is a starting point that has more power than not having one.
In general, if you really want something, you will always find a way to achieve it. If you have the discipline and mindset to become a good programmer, you do not need an education, but the path is different and may be more challenging and demanding.
I personally believe that having a software degree is still an important factor and requirement for many tech companies, and it will always be. A degree shows that you are committed, able to work with other people, can handle deadlines, pressure, and so on. Additionally, it shows that you can learn other things that are not only about coding, such as how to manage a project, work on a team, design a system, understand the architecture of a computer machine, etc. These are valuable skills that will set you apart from the competition.
In short, do not take what people say for granted — like education is not important. If you are in the process of getting an education, then do not give up. If you are thinking about studying, then go for it. Postponing your whole future just because you read a random comment made by a random person on Twitter is probably not a good idea.
Last but not least, a degree is important and we must protect that concept. Otherwise, it will be pointless and everyone can work wherever they want. Would you want a pilot flying an airplane without any degree or certification?
Programming is not difficult to learn, but building high-quality, reliable, and maintainable software does not come from watching a few videos on YouTube.
If you enjoyed this article and want more like these, please share it with friends that may need it, it’s good karma. You can find me on Medium where I publish tech articles or you can follow me on Twitter.