The majority of software developers I know come from a very wide 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 right now at 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.
More good news in that there are simply not enough programmers out there to fill all the jobs right now. This re-enforces 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 and I along with every other manager out there can clearly see when you have another todo 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 programming I thought games had no place in the serious programmers arsenal, however, this is just not true. Games can be great and demonstrate a strong command of the language you are use 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 to not be tutorials, but inspiration with a little 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 for not it is just meant to be inspiration.
Other Things You Should Do NOW
Beyond building projects another great way to land a job without a degree is to simply get involved in the community. Opensource projects are not going to care at all what credentials you have. The simple fact is if you can contribute pull requests that have positive changes then you are going to 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 that are using the language you either have been learning or want to learn. Now you want to evaluate how active they are follow 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
- Number of commits – a project that is a few years old and only has 10 or so commits is likely not active
- Recent Changes – Obviously like with recent commits old chances may or may not be bad but recent changes are always good
- Pull Requests – You can get an idea for how active a project is and how many people are contributing by looking at the number of Pull Request
- Issues – in general people reporting issues represents 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 easy by someone. This is a great way to get your feet wet and meet some new poeple.
- 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 discussion that is already happening 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 literally years before I discovered 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 are going to have groups geared toward programming, hacker spaces, or tech in general. A great place to find new ones is to look online at meetup or similar places that list all the places and events going on 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.