Most software developers I know come from an extensive range of life paths. My own experiences make this a critical question I often used to ask myself without clarity. However, now I can tell you the answer to the question. Do software developers need a degree?
Answer: You do NOT need a college degree to become a software developer, engineer, programmer, coder, or web developer. Most job postings have degrees listed under the recommended or preferred section, but it is rare to see them in the requirements section.
With the current market short tens of millions of skilled workers worldwide, and the Bureau of Labor Statistics showing roughly 200,000 open positions for software developers in the US, many employers are lessening requirements to get hired. Considering how common it was to find people without degrees before this shortage, most hiring managers will consider more about what skills and knowledge you can demonstrate vs. what degrees you hold.
To add to this point, at the time of writing, Google is running a campaign promoting their ‘no degree’ certificates. These certs cover a wide range of in-demand job skills, including programming.
The good news is that there are not enough programmers to fill all the jobs. Since the world lacks software engineers, you have an opportunity. If you can produce results, you can get a job.
Keep reading, and I will tell you about the skills you might need and the actions you can do now to help your chances of getting a software engineering job.
Projects Can Help You Land A Job
What do I need to do to get a software engineering job?
Degree or no degree, employers are going to care about one straightforward thing, can you do the work? The easiest way to show your talent and skill is to have a portfolio of projects demonstrating your ability and knowledge.
Trust me when I say I have hired enough people to have a good idea about what makes the hiring decision easier.
Like every other manager, I can see when you have another to-do list or similarly over-tutorialized project on your resume, this is not bad, but you can do better. If it is your first project starting with a tutorial is very helpful in gaining the fundamental skills that will allow you to build something more meaningful.
By all means, start with these simple tutorials if you have not ever built anything:
The Python Foundation provides good resources. I started with the tutorial found in their documentation, and it was just enough to get me excited and keep me going: The Python Tutorial — Python 3.10.6 documentation
Another good tutorial I enjoyed was William S. Vincent’s Django for Beginners; it is a book that costs a little money but is well worth it if you want to get deeper into Python web development. There is a series of 3 books.
Finding Good Tutorials:
Some of the best examples have been when people take their favorite childhood game and remake a version in their language of choice. However, it would be best if you were careful as game devs sometimes develop bad habits that make it hard when they get their first job.
When I first started to learn to program, I thought games had no place in the serious programmer’s arsenal; however, this is not true. Games can be tremendous, demonstrate a strong command of your language, and teach you things like messaging, networking, database use, and more. But there is a trap here I will talk about in another article because there are some bad habits you must avoid at all costs.
If you are having trouble coming up with ideas, I try to add 1-2 project ideas a day to my: Project Idea List. Not limited to tutorials but also includes inspiration with extra info on how long it might take at different skill levels to get started.
If you feel like you still don’t know what to do next, keep reading, and I’ll give you some specific steps to follow.
Other Things You Should Do NOW
Beyond building projects, another great way to land a job without a degree is simply getting involved in the community. Opensource projects will not care at all what credentials you have. If you can contribute some pull requests that positively impact you, you will be a gold star to any project.
Low Hanging Fruit on Opensource: Start by looking around on Github, find a few projects that look like things you would be interested in, and use the language you have been learning or want to know. Now you want to evaluate how active they are following these steps.
This also will help you when your perspective job asks about the experience. Even though it is not industry “work” experience, working with others and using the standard tools will go a long way.
Getting started on GitHub can feel intimidating, and I’ll give you some easy starts.
Start On Github
Start by looking around a bit at GitHub and find some projects of interest. Follow the guide below to find something likely active, and don’t be afraid to reach out to people.
- Look at the code tab on the project of interest. There are a few places you want to start paying attention to so you can get a feel for the activity of a project and how often someone might approve your pull requests.
- #1 Most recent commit – not having a recent commit is not always a bad sign but having a more recent commit is always a good sign.
- #2 Several commits – a project that is a few years old and only has ten or so commits- are likely, not active.
- #3 Recent Changes – like with recent commits, old changes may or may not be bad. However, recent changes are almost always good.
- #4 Pull Requests – you can get an accurate idea of how active a project is and how many people contribute by looking at the number of Pull Requests.
- #5 Issues – in general, people reporting issues represent a project people care about and can be a good sign.
- Next, I like to head over to the Issues tab and start reading. A good trick is to use the “easy to fix” tag. You can see all the issues that have been marked accessible by someone. This is a great way to get your feet wet and meet new people.
- When I find something I know how to do or have an idea about, I will ask for more details, help, or start working on a fix. When you click on an issue, you can see the discussion, which is how you can get to know people and get involved!
I wish I had known about the issues tab sooner, but it was years before I discovered this treasure of opportunity. Before then, I would download the codebase and start poking through looking for fixes on my own, then send a pull request. We all need to start somewhere.
I also recently found this great tutorial via a programming podcast, which has been really helpful for learning Git. I can only say I wish I had found it sooner.
Get Involved Locally
Many of your local areas will have groups geared toward programming, hackerspaces, or tech in general. A great place to find new ones is to look online at Meetup or similar sites that list all the businesses and events around you.
I join these groups so I can find up-and-coming developers that are looking for occasional work. It is a great way to find and make connections that lead to a job.
Remember, the most important thing you can do is show you have the skill. So find ways to show that, and you will do well.
The last point for this article is that I recommend you read my other article: Getting Your First Programming Job. You might find the section about ways to find a job helpful if you feel you are ready to start looking and want to gain experience as a developer.