Why You Don’t Need a Degree to Be a Great Software engineer

To “Degree” or not to “Degree”, that is the question

Chad Bonthuys
5 min readOct 21, 2021
Photo by Lewis Keegan on Unsplash

Do you need a Computer Science degree to be a great software engineer or be considered a software engineer at all? Unfortunately, answering this question is not simple as one may think and has sparked an age-old debate with opposing views.

It is a common conception that a degree is an entry-level prerequisite to secure a high paying job, and based on this sentiment, one may state the following.

Obtaining a degree makes you a good software engineer.

There may be some truth to this but let’s take a moment to dissect this hypothesis. First, let’s take a step back and look at things from a different perspective and remove the software industry from the equation.

A different perspective

Richard Branson, a business magnate that is the founder of the conglomerate of businesses bearing the Virgin brand name, dropped out of school at the age of 16 and is now a billionaire.

Michael Dell is a billionaire and a founder of Dell Computers, one of the world’s largest technology infrastructure companies. A company that he started in his college dorm room. Dell dropped out of college armed only with $1,000 and his dedication and will to succeed.

Abraham Lincoln was born into poverty who served as the 16th president of the United States. With an aggregate of fewer than 12 months of formal education, he persisted on to becoming a self-taught lawyer, legislator, and vocal opponent of slavery through his lifelong interest in learning. Lincoln went on to issue the Emancipation Proclamation, which paved the way for slavery’s abolition.

Many other highly successful individuals have achieved great things that have not obtained a degree. You may be thinking, what’s your point? Well, they all have something in common ambition and high levels of dedication towards achieving their goals.

Now how is this all relevant to software engineering? Again, dedication is the key takeaway here. Learning how to code is easy; you can learn the fundamentals of writing a few lines of code within a couple of hours. However, working towards becoming a great software engineer is an entirely different story altogether that will require an incredible amount of dedication and the right mindset, and most of all, passion.

An analogy for becoming a great software engineer is like becoming a good musician. Take learning guitar, for example. Your starting point would be deciding what style of guitar you would like to play, and based on your decision; you would make your way to your nearest music store to deliberate between buying an electric, classic or nylon string guitar. Next, you would learn the guitar’s anatomy and become intimate with the strings and notes on the fretboard. Your journey starts with plucking a single note, and soon you move on to learning chord structures and strumming patterns and voila. Before you know it, you can put it all together play a simple chord progression. In due time after some practice, you will be happily strumming along to your first few songs. You would have only touched the tip of the iceberg; the more you learn, the more conscious you become that there is so much that you do not know.

The journey to becoming a great software engineer is akin to becoming a proficient musician, and both can be self-taught. In music, there are many different genres and instruments. Software engineering is a vast field and offers many career options such as client/server-side developer, machine learning engineer, mobile developer, full-stack developer and many more. Once you have decided on a field to specialise in, you would choose a language or technology stack to learn, just like a musician would decide on the type of guitar to buy and the equipment they need. Your language of choice has the prerequisite of learning the toolset and subsequently the different programming patterns, just as a guitarist would need to know the notes and chord structures on their guitar. So you have the basics down, and you begin to write your first glorious lines of code in your IDE or text editor of choice. Soon your application starts to take shape just like a musicians song starts to form. Still, you soon realise that your code may indeed solve the problem but not in the most efficient way possible, kind of like playing a piece of music with all the right notes, chords and lyrics, but the tempo is wrong.

Just because you can play a few chord shapes in succession does not mean that you are a good musician yet. Likewise, just like learning to write a few lines of code does not make you a great software engineer; it simply makes you a coder. Anyone who writes code that compiles is a coder, whereas a developer designs software and writes code to solve problems. A software engineer is responsible for the bigger picture; they evaluate client or company needs in conjunction with the user’s and methodically conceptualise a systematic solution.

What the Statistics Say

What is interesting is that if we look at the stack overflow 2021 developer survey, we can see that most professional developer respondents have obtained a degree. 49.34% have obtained a Bachelors degree, 24.56% have obtained a Masters Degree, and 2.58% have obtained a doctoral degree. The statistics could be due to the increase in the percentage of educated individuals. However, it’s a legal requirement to have a degree in engineering to hold the title in some countries.

Technology innovation has changed how we learn and opened up many opportunities due to coding boot camps, online courses and self-learning platforms. Schools have even begun teaching students from a very young age how to write code.

So based on the statistics, most software development professionals have obtained a degree, but again, does that inherently mean you need one to be a great software engineer? Again, I believe that is an archaic mindset, and everything you would learn in a degree setting can be self-taught with the right amount of discipline.

Employers point of view.

Some employers maintain a traditional approach to employment and won’t consider you for a coding position if you don’t have a computer science degree. Still, some employers are more focused on your portfolio and coding tests, and they want to know that you have the skills to do the job and not if you have earned a degree. Although according to Indeed.com, it seems that alternative certification paths are becoming more respected, 72% of employers think that coding boot camp students are as prepared to be high performers as college graduates.

My experiences

Some of the brightest minds that I have had the fortune of working with have had no formal education. I am a massive advocate of constant learning and improvement. Hence, if you have the financial means and the time available to study for a degree, I highly recommend you do so. Still, with the right amount of discipline, hard work and perseverance, you can learn everything you would doing a degree and then some.

Note that the views and opinions expressed in this article are purely subjective based on my life situation and experiences. Your opinion may differ.

--

--

Chad Bonthuys

Software Engineer // Divergent thinker // Aspiring Musician // Amateur Trader