The majority of software developers I know come from an extensive range of life paths. My own experiences make this a critical question I used to ask but now can tell you the answer.
Answer: You do NOT need a college degree to become a software developer, software engineer, programmer, coder, or web developer. In fact, most job postings have degrees listed under the recommended or preferred section, but it is rare to see it in the requirements section.
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 more good news is that there are not enough programmers to fill all the jobs right now. This reinforces the fact that if you can produce results, you can get the job.
So What Do I Need to Get a Job?
Degree or no degree, employers are going to care about 1 simple thing. Can you do the work? The easiest way to show your talent and skill is to have a portfolio of projects that show the ability to learn new things.
Trust me when I say I have hired enough people. Along with every other manager out there, I can clearly see when you have another to-do list or similarly overdone tutorial project on your resume. Come up with something unique that you will be passionate enough to work on that by the time someone looks at it; you can be proud.
Some of the best examples have been when people take their favorite childhood game and remake a version in their language of choice. When I first started to learn to program, I thought games had no place in the severe programmer’s arsenal; however, this is not true. Games can be tremendous and demonstrate a strong command of the language you are using and teach you all kinds of things regarding messaging, networking, database use, and more.
If you are having trouble coming up with ideas, I try to add 1-2 project ideas a day to my: Project Idea List. I limit it not to be tutorials but inspiration with extra info on how long it might take different skill levels to get started. I might come back later and make it more detailed, but it is just meant to be an inspiration for not.
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 are not going to care at all what credentials you have. The simple fact is that if you can contribute pull requests that have positive changes, you will be a gold start 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 using the language you either have been learning or want to learn. Now you want to evaluate how active they are following these steps.
Get Involved on Github
- Looking 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 active the project is and how often someone might be approving your pull requests.
- 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.
- Several commits – a project that is a few years old and only has ten or so commits is likely, not active.
- Recent Changes – Obviously, like with recent commits, old chances may or may not be wrong, but recent changes are always good.
- Pull Requests – You can get an idea of how active a project is and how many people contribute by looking at the number of Pull Request.
- 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 some new people.
- When I find something that I know how to do or have an idea bout, I’m either going to ask for more details, ask for help, or start working on a fix. When you click on an issue, you can see the already happening discussion, and this is how you can get to know some of the people and get involved!
I wish I had known about the issues tab a lot sooner, but it was years before discovering it. Before then, I would download the codebase and start poking through looking for fixes on my own, then send up a pull request. We all need to start somewhere.
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 meetups or similar places that list all the places 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.
Just 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.