Despite what your teacher or that guy on Reddit told you, you can get a job in the software industry without an engineering degree. That’s not to say you should drop out of college — please don’t do that! This is just observing the changing nature of education requirements in the software industry.
The reality is, more and more job applicants are landing great jobs in companies and start-ups without following the traditional software engineer career path. Five or ten years ago it was imperative to have a master's or bachelor's in engineering. Now, an increasing number of developers are self-taught or boot camp certified.
How to become a software engineer without a degree
Although there are many benefits to pursuing a degree, you’re reading this article because you want to know how to become a software engineer without a degree. So, here are a few steps you can follow to put yourself on a path to getting your first software engineering job without a degree.
1. Learn programming skills
Do you have programming skills? While a lot of learning happens on the job, if you’re not coming in with a degree there’s going to be more emphasis on your programming skills and experience. This means you probably want to be at a level of understanding where you are beyond the basics and working with more advanced concepts.
You should have a good understanding of the tools, languages, and frameworks in your niche. If you learn how to use the most popular languages or frameworks, you're obviously going to have more job opportunities.
This article isn’t about how to learn to program, so I won’t go further into detail here, as there are many sites to help you learn (this is my favourite site at the moment). Online courses are great, but I also wouldn’t discount coding boot camps. While they can be expensive some of these costs can be greatly subsidised (especially in Germany) based on your job status. The good thing about boot camps is that you get experience working in a team and creating projects so once you’re done you have a small portfolio of work.
Places to learn to program:
- StackOverflow: You know what this is!
- Udemy: Affordable short-courses
- Coursera: Lots of free courses from top universities (you have to paid for the certificate)
- Codecademy: Well-designed, interactive courses with learning pathways
- Pluralsight: Large focus on upskilling and teamwork
- edX: Courses from the world’s top universities (online boot camps)
RELATED: Guide to the Software Engineer Career Path in 2023
2. Build your portfolio
As you learn and become a better programmer, it’s important to have a place where you can showcase your projects. And if you haven’t coded anything yet, get to it. It’s the best way to learn and it shows that you can do what you say you can do!
Here are some things you can include in your portfolio:
- Examples of previous work, such as code snippets or live demos of apps or websites you’ve built
- A list of technologies and programming languages you are proficient in
- Descriptions of the projects they have worked on, including their role and the problem they were trying to solve
- Information about their design process, such as wireframes or user flow diagrams
- Any relevant education or certifications
- Any open-source contributions or personal projects
- Professional references or testimonials
- A resume or CV.
It’s important to remember that a portfolio website is a way to sell yourself. If you’ve put some time into it and created something good-looking, it’ll go a long way. For inspiration, we’ve put together a list of some great developer portfolio examples from around the web.
3. Get experience
While a degree is not required to become a software engineer, employers will look very favourably at a candidate who has real-life experience. So try and get as much experience as you can from personal projects, participating in hackathons, or even interning with a company. Here are a few ideas:
GitHub: As you probably know, GitHub is a great way to showcase your activity as a developer. GitHub shows a record of your contributions to your projects and other open-source projects. This means employers can see real-time examples of your work. They’ll be able to assess the quality of your code, and your level of experience with frameworks and programming languages (among a range of other things).
Internship: There are a lot of mixed feelings when it comes to internships. There are really good opportunities and some places where you’ll feel taken advantage of. The most important thing is that you are learning and building a strong portfolio. Look for an intern position where there is structure and developers who can mentor you. For more on internships read: Steps to Get a Software Engineer Internship.
Hackathons: This is a very low-cost way to gain industry experience and network with other junior developers in the scene. You’ll be able to see how ideas can be turned into software through teamwork and collaboration. You’ll also develop a lot of great career skills outside of coding like soft skills and presentation skills. This is a really fun environment to be involved in and can lead to a lot of future opportunities. Here are some upcoming hackathons in Berlin!
Freelance: If you have a foundational understanding of software development and the associated tools, chances are you can use that knowledge to help small businesses with simple development problems. Fivver is a bit of a warzone, but sites like this are great ways to get experience that you can showcase to future employers. In my experience, email has the best ROI when it comes to picking up small jobs. Find small businesses in your area, figure out how you can help them, and then send them an email. If you know your way around WordPress and PHP then there will be plenty of opportunities.
Yeah, you could go to every tech conference and meetup in your city but that doesn’t really make sense for a beginner. First, focus on getting skilled and gaining experience.
That being said, it’s definitely a good idea to find a local tech meetup you can attend regularly. There, you’ll meet some like-minded people, develop your confidence and likely get a chance to contribute in your own way.
We mentioned hackathons earlier. Again, they are a great way to meet a mixture of people from future founders to tech professionals. In the startup scene, a lot of people like to recommend their friends for positions even if they don’t meet all the specific requirements (this is a good thing!)
5. Apply for jobs
So now you are at a point where you feel comfortable applying for entry-level developer jobs. This part of the journey is not fun for anyone. It’s a tedious process and you’re efforts are often met with rejection and/or silence. Don’t let that discourage you though. There are ways to maximise your application efforts.
Tech recruiting platforms, like WeAreDevelopers, offer a better way to job search. Companies are so desperate for developers these days that they will come to you. All you need to do is create a profile, choose your preferences, and companies that are interested in you will reach out.
The added benefit of using the WeAreDevelopers platform is that you can get interview support. It might be the case that you are struggling to move past the initial interview stages. Our team can help coach you through interviews so that you’re always putting your best foot forward.
That being said, it’s never advisable to put all your eggs in one basket. There are lots of other places you can find job leads particularly LinkedIn. Recruiters are notorious for spamming the inboxes of developers. Annoying if your not looking for a job but useful if you are! It’s also a good idea to develop relationships with these recruiters — they can be very helpful in getting you the first interview without all that application nonsense.
6. Interview Preparation
Let’s be honest, those interviews can be nerve-wracking. I could easily write pages and pages on how to best prepare for an interview and you still wouldn’t be 100% prepared. So don’t stress it, just focus on what’s in your control don’t worry about the weird “would you rather” questions interviewers like to ask.
There are a few things you want to keep in mind when entering the interview. Let me break it these down real quick and then we’ll talk briefly about the technical aspect.
Research the company: You want to have a solid understanding of what the company does. Sure enough, you’ll be asked, “so why what interested you about this role?” You want to relate your answer to what the company does and the product and so on. Startups and tech companies place huge importance on company values, so it’s worth writing these down somewhere and thinking of examples where you embodied these values.
Be personable: The initial interviews are used to get a nice understanding of how you will fit in the team and the wider company. So you want to let your personality shine through and try to connect with the interviewers. At the end of the day, you’ll be working alongside these people so you want to know if you can get along and if you share any common ground. I really think you should have fun with it and be honest, if they don’t like what they see, then it’s not a good fit for you anyway.
Provide examples (context-action-result): It helps to bring specific examples of how you’ve contributed or can contribute. If you’ve got some projects up your sleeve, talk about specific problems and how they were solved. I sometimes forget this but try to organise your examples in the context-action-result format. This was the problem, here’s what we did, and this was the (positive) result.
There will come a point in the interview process where you might be asked to take a coding test so that the team can assess your programming abilities. Now, this part is really up to practice — you either know it or you don’t. Thankfully, there are a lot of websites that help you practice coding challenges including questions from industry leaders like Google or Facebook. I can’t really provide more insights here — go and study!
Software engineering jobs
In this guide, I’ve outlined the steps you can take to start your career and become a software engineer without a degree. I hope I’ve given you some actionable steps to take. Let me know if you think I’ve missed anything.
This might be further down the line, but once you are in the market for a software engineering job, we can help you! For some great job opportunities in Germany, Austria, and Switzerland, head over to the WeAreDevelopers career page and see what’s waiting for you. We partner with Europe’s top tech companies to match them with software engineers like you in a way that removes the hassle of traditional job-search.
Thanks for reading ✌️