# Switching to a software development role without a formal degree
# Do you need a college degree as a developer or engineer?
A common question we get is how does somebody switch to a career in tech as a software developer, especially if you are a few years into an unrelated industry and you don't have a computer science or software engineering degree.
One example is Reddit user /u/jakestring55 who asked if he should consider going back to school, just to get a software development role (opens new window).
Luckily I have some experience with this - I'm also self-taught and made the switch about 10 years ago so I remember having similar thoughts myself.
Check out the Youtube video if you want to hear more:
The good news is that it's not particularly difficult, and thousands (maybe millions??) of developers and engineers started similarly.
Here's how to make the switch.
# Employers care about understanding, not degrees
There is an insane demand for software roles, and thankfully most employers will happily overlook your background if you can demonstrate that you can do the job.
This means that it really makes very little difference if you gain this ability from self-study, an online program, a short course, side projects, etc, it doesn't matter so long as you can demonstrate the required understanding of whatever the hiring manager is looking for (eg frontend skills, sql, backend languages, etc).
Your biggest hurdle is likely how to sufficiently express this ability on a resume before you get rejected before the interview stage. Some ways to do this are to explain any online courses or side projects you did in additional detail.
For example, "Completed an online bootcamp building a CRM using Flask, a Python-based web framework. The UI was built using React, with data stored in a Postgres database and cached using Redis. Presented the application to the graduating class of 200 students." This is a similar challenge for new grads, so read other tips on how to pass the resume screen.
For me, I worked things out myself by just working on progressively harder projects and really wanting to understand how things work. I also followed some basic CS courses which are available online for free (google for Stanford, MIT, etc - they all have free online materials, it's amazing). Here's an example introductory course from Stanford (opens new window).
# Play to your advantage
Employers have their doubts about hiring you, and it's up to you to persuade them to take the chance on you.
Talk about what you bring to the table (clearly you are a self-starter, motivated, and can learn independently - those are insane advantages over many software engineering grads).
In order to switch to a software career, by this stage you have probably already prepared a few projects which you should talk about. You would be very surprised how many software developers actually can't code (very well, or at all!) - demonstrate that you can do this and you should have a good chance.
# Take the long-term view
Even though the demand for tech roles is high, so is the competition. You may also not be in the best city / country for these roles.
If you are struggling to get that elusive first role in your dream job, see if you can get there by first starting in a related role. These might look like project management, product management, QA testing, integration support, etc - it is much, much easier to get to a role you want once you have at least established some experience in the tech industry or company you are interested in.
Get your foot in the door, and then look to transfer after a short period.
Good luck, and hope to work with you soon!