Do you need a degree to become a software engineer? The short answer is a resounding no. Although going to college and earning a degree in computer science (CS) or a related field is the most straightforward path to becoming a software engineer, plenty of successful developers — perhaps as many as 50% — don't have CS degrees.
In fact, software engineering is arguably one of the easiest fields to succeed in without having a degree. Most other high-paying careers absolutely require you to earn a relevant degree. You can't become a lawyer in most states, for example, unless you go to law school. Nor can you practice medicine without a medical degree. But you can earn six figures by working in software development, even if you lack a degree.
But how do you actually do that? What does it take to succeed in a software engineering career without a degree? To provide guidance, here's seven tips for aspiring developers who don't have a CS degree and don't plan to obtain one.
- Learn a Popular Programming Language — but Not Python
- Earn Software Engineering Certifications
- Contribute Code to Open Source
- Write Technical Documentation
- Seek Out Degree-Blind Employers
- Work as a Freelance Developer
- Attend a Coding Bootcamp
1. Learn a Popular Programming Language — but Not Python
Learning to program in widely used languages is an obvious way to prepare yourself to land a software engineering job without a degree. Arguably, though, your chances of success are greatest if you avoid Python (or at least don't focus on it).
Python is often the language that everyone says you should learn as a beginning programmer because it's so widely used — not to mention relatively easy to master. The reality, though, is that Python is not used for many complex software development projects. Most jobs that require Python programming skills will also require other types of skills, like data science expertise or cloud administration, because they require the use of Python alongside other tools.
If all you want to do is program, learn a different in-demand language, such as Java or C.
2. Earn Software Engineering Certifications
You don't need a CS degree to work as a software engineer, but having some type of document that attests to your ability to program is important for landing job interviews. That's why it's worth investing time (and money, if applicable) in earning at least one or two technical certifications related to programming.
Some online programming courses, such as Coursera's "Introduction to Software Engineering," offer certificates of completion. You can also pay for training and certification in software engineering from organizations like the IEEE Computer Society.
3. Contribute Code to Open Source
Contributing code to open source projects is another way to prove that you are ready to work as a software engineer. Most open source projects don't care — or even know — if their contributors have CS degrees. They care only about the quality of their code.
So, seek out a project that interests you and learn how you can contribute code. In many cases, doing so is as easy as submitting pull requests on GitHub.
4. Write Technical Documentation
Writing good technical documentation is a great way to show that you understand all aspects of software engineering — including not just how to write code, but also how to design, test, and deploy applications, because documentation often details all of these topics.
Documentation is also something that the typical developer doesn't enjoy creating, which means you may stand out to employers in a positive way if you position yourself as someone who actually enjoys and is good at documenting software.
So, when you write code to build out a portfolio, be sure to write great documentation to accompany it.
5. Seek Out Degree-Blind Employers
Degree-blind employers are companies that don't consider educational background when evaluating job applicants. If you want to become a software engineer without a degree, applying to degree-blind companies is an obvious way to increase your chances of landing a job.
There is no official list of degree-blind employers, and in some cases companies might consider degrees for some job openings but not for others. In general, however, your best bet in finding a degree-blind position is to look at startups, which are less likely than enterprises to have formal educational requirements when hiring.
6. Work as a Freelance Developer
Another way to land a job as a software engineer without a degree is to take on freelance work. Freelancing in software development may not provide the income stability of a full-time position, but businesses are more likely to be willing to take a chance on a programmer without a CS degree if it's for project-based freelance work than a full-time hire.
Plus, once you've gotten some freelance development work under your belt, you'll be in a stronger position to land a full-time development job.
7. Attend a Coding Bootcamp
Enrolling in a coding bootcamp — which is an accelerated program that promises to teach students how to code in as little as a couple of months — has become a popular path for folks who want to work in software engineering without obtaining college degrees.
There are many potential downsides of coding bootcamps. They often require you to attend class full-time, which means you can't work a job while attending the bootcamp, and there is no guarantee that you'll finish successfully. Nor is there a guarantee that employers will view completion of a coding bootcamp as evidence that you're truly prepared for a software engineering job.
Still, if you can afford the time commitment, a coding bootcamp can be an onramp to a successful career in software engineering.
Conclusion: Yes, You Can (Excel as a Developer Without a Development Degree)
There's no "one dumb trick" or guaranteed set of steps to follow if you want to work in software engineering without obtaining a formal degree. But there are a variety of effective strategies that can lead to a flourishing software development career for folks who didn't attend university for programming.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.