In today’s job market, many of you look for ways to improve your employability and earnings potential. And you may have noticed articles pointing out the apparent shortage of programmers, along with information on the amazing salaries and benefits they receive. Combining all these things, you may be one of the many people who are now trying to break into programming.
And for those of you who are trying to break in, one of the most popular questions evolves around degree requirements. Mainly, you want to know if degrees are required. And you want to know if the degree has to be in a specific field of study.
Today we’ll answer your questions and give you some things to think about. Because as you’re about to see, the answer to whether programmers need a degree isn’t always simple.
Some Say No, You Don’t Need a Degree
First, many programmers don’t have a degree. Others do have a degree, but not in computer science (CS) or software engineering. For example, my degree is in business administration. Also, I’ve worked with developers that have degrees in music, physics, graphic design, math, education, and even dietetics!
But are these just an example of survivorship bias? Maybe.
Do you mere mortals still have a chance at a lucrative programming career? Definitely.
The growing number of people without degrees in the field tells us that you can break into this field. And it gives many of you hope that you can take your unrelated degree or coursework and turn it into a career that you love.
Whether you take the route of being completely self-taught, completing online courses and certifications, or enrolling in a bootcamp, you have opportunities to break into this field without a degree.
Others Say Yes, You Do Need a Degree
On the other hand, plenty of people will say that a degree is required. And specifically, that without a degree in computer science, you will not make it as a “real” programmer or software engineer. They may mention that although many developers have jobs without a CS degree, the vast majority still do.
And even of those that have degrees in other disciplines, many still have coursework in other analytical and math-based degrees. For example, before I switched to my business degree, I had successfully completed coursework in calculus, differential equations, Fortran, and other classes that helped me learn how to think through problems in a systematic way. Perhaps that gave me an edge that others didn’t have.
And there is some truth to what they say. Although you may learn how to hack together some simple programs on your own, you may not get a good understanding of why things work the way they do. And you may end up creating inefficient or buggy applications because of a lack of some foundational principles.
But don’t let that discourage you. Learn from these people to find out where their concerns are coming from. See if there’s something that you can learn from their words of caution to give yourself an edge when learning programming skills.
So, don’t dismiss what they’re saying about whether programmers need a degree. Instead, turn it around and figure out what you need to know that they assume you can’t learn on your own.
Why Do We Have the Difference in Opinion?
So, some people say that yes, programmers need a degree. And some companies enforce that. But plenty of others don’t.
This may come from a company’s personal experience with bootcamp grads or engineers without degrees. Or perhaps it’s because of the technical and in-depth nature of their particular discipline or focus.
How does this apply to you? Just know that there is a difference and try to make it work for you. So, if companies require a CS degree and you don’t have one, then spend more time applying at companies with fewer requirements. Look for entry-level positions or companies that work closely with bootcamps to bring in fresh and diverse talent.
And when looking at different positions, consider what you want to do long term and how you’ll get there. Some positions are easier to get into without a degree, so you could start there to get your foot in the door.
Some Jobs Require a Degree
Certain types of jobs, more often than not, will require degrees.
For example, if you want to be a network architect, a degree will help get your foot in the door. Designing complex networks often requires low-level computer engineering knowledge that most bootcamps don’t offer. Although you can still get into this field without a degree, it is much more difficult.
Additionally, if you want to get into embedded systems engineering, you’ll see that many job postings typically require a bachelor’s degree or higher. Combining hardware and software into one often requires knowledge that’s harder to get on your own.
However, this doesn’t mean that you don’t have a chance here. It will take more time and effort to break in. But depending on your background, you may want to skip certain specializations when you’re first getting started.
Other Jobs Have Lower Barriers to Entry
While some positions have stricter requirements, others welcome those without degrees.
Start looking at different job postings in the programming space and see what you can learn outside of a traditional degree.
So How Can You Improve Your Chances Without a Degree?
So if you don’t have a CS degree, what skills will help you? Well, you’ll need to tap into your ability to learn, your discipline to stick through the difficult parts, and your curiosity and desire to learn new things.
Additionally, you can improve your chances in a few other ways.
First, focus on positions that welcome people who are new to the industry. Investigate companies that are more beginner-friendly. And build your network by attending meetups and collaborating with others online. Find out where others in your scenario are getting jobs and what they did to make it happen.
Next, harness your sense of curiosity and go past just making things work. It’s not enough to complete a software tutorial on a learn-to-code website. Instead, you’ll want to step back and ask “why did this work?” So, read the documentation. Learn more about the code you’re writing. Or try implementing the same functionality in a different way. All these activities will help you gain a deeper knowledge of what you’re doing. And it will help you remember it more.
Also, when you’re using open-source libraries, dive into the library’s code and see what it does and how it does it. By learning more about libraries and other people’s code, you’ll learn not only how to read code you haven’t written but also about writing clean, maintainable, and professional-looking code.
Finally, remember that the journey may be difficult. You’ll struggle and get frustrated at times when you can’t figure something out. But that’s part of the job. Learn to enjoy the struggle, as that’s something every programmer encounters on the job.
What’s The Right Answer For You?
So, now we should know that programmers don’t need a degree. But does that mean that you shouldn’t get one?
That depends. It’s time to take a look at how you learn and where you are in your programming skill development. If you’re naturally talented at computers and programming, then you may not need a degree. Heck, you might not even need a bootcamp and can teach yourself through books and online tutorials.
Others of you may want to skip the degree and start with a bootcamp to get some structure and guidance. And finally, some of you may also want a deeper dive into computer science and will get a bachelor’s and maybe even a master’s degree.
Whichever way you go, take some time learning programming basics on your own. Start with some online tutorials and free classes. Determine if you’re able to pick up on things without instruction and dedicated coursework. And then reassess what your goals are and what you think will be best for you.
To sum it all up, no, programmers don’t need a degree. But you will need to rely on your discipline and curiosity to make it in this industry.
This post was written by Sylvia Fronczak. Sylvia is a software developer that has worked in various industries with various software methodologies. She’s currently focused on design practices that the whole team can own, understand, and evolve over time.