As the tech industry has continued to boom in recent years, creating exciting jobs that are often coupled with lucrative salaries, it’s no surprise that a growing number of people are making career changes to get in on the action.
While some of those transitioning into the tech workforce already have a background in software engineering or hold a relevant college degree, a growing contingent is starting from scratch, enrolling in specific training programs or bootcamps to shore up their skills and prepare them for a new career. And it’s working. Course Report has found that when it comes to return on investment, coding bootcamps “require less time, less money, and offer nearly equal earnings when compared to a CS degree.” Hiring managers at some of the world’s top tech companies have also stressed the importance of a candidate’s skill and attitude over the school listed on their CV.
All of this is to say that whether you’re new to the workforce or ready to make a mid-career leap, there are paths into software engineering that don’t require a college degree. The following guide offers key strategies for ensuring you have all the necessary skills to do the job and stand out from a competitive hiring pool.
Do You Need a Degree To Be a Software Engineer?
In fact, it’s not uncommon for bootcamp graduates and self-taught individuals to have an advantage over recent college graduates — several hiring managers have said that fresh graduates lack skill in writing production-ready code — in other words, their capstone projects remain prototypes, so they might not have real-world experience in developing and testing complete solutions. Bootcamps and online courses, meanwhile, are geared toward making graduates workforce-ready.
How To Become a Software Engineer Without a Degre
Perfect Your Prerequisites
- Containers. Containers allow software engineers to optimize for multiple operating systems. Containers bundle the software that engineers develop into virtual packages that can speak to a variety of different operating systems. Proficiency in either Docker or Kubernetes is an increasingly sought-after skill in the software engineering world.
- Cloud platforms. As tech continues to shift towards big data, software engineers continue to hone their skills in cloud platforms such as AWS (Amazon Web Services) and GCP (Google Cloud Platform). Cloud platforms allow companies and products to scale and require software engineers to have experience working with cloud-native applications. Products or platforms that promote strengths in data science, artificial intelligence, or machine learning all utilize cloud platforms.
- Version control tools (Github). When a software engineer writes code, they store it in a platform called a “source-control.” If teams of software engineers are all writing code for the same product or application, version control tools allow them to collaborate without interfering with each other’s work. Github is overwhelmingly popular and is the best version control tool for software engineering beginners.
Refine Your Coding Skills
- Python. Currently one of the most popular programming languages in the world, Python allows software engineers a common and open-source language to use for general-purpose programming. Python offers a dynamic feature set that is portable across a variety of operating systems. Python also has automatic memory management – this means that software engineers don’t have to keep manual tabs on memory management. Python is one of the most key skills for software engineers today.
- SQL. More than 30 years old now, SQL is one of the most
widespread database languages. Software engineers typically aren’t responsible for maintaining or organizing databases, but they do need to understand how to navigate databases so that they can build programs that speak to them.
- Ruby. Developed originally in 2011, Ruby is another object-oriented language that software engineers utilize to build web applications at a high pace. Often, Ruby is paired with the Ruby on Rails framework. Open-sourced as well, Ruby also utilizes automatic memory management (or “garbage collection”) to support multiple programming paradigms or features.
Practice With Coding Projects
Select projects that show a variety of skills, such as using standard frameworks/libraries, understanding full-stack development, creating mobile apps, and setting up a development environment.
Many software developers use their GitHub profile as both a portfolio and a place where they practice coding projects because it shows potential hiring managers all of the open-source projects you’ve contributed to as well as projects you’ve started. Your dashboard indicates at-a-glance how often you commit code and how popular your code is. Consequently, GitHub is one of the first destinations hiring managers go to evaluate a candidate’s web presence.
When it comes to optimizing your GitHub profile, consistent activity on the site is a key factor. Your profile lists your contributions to repositories with a color-coded heat map broken down by month and year. Each individual contribution needn’t be major — it could be a bug fix, feature suggestion, or commit message — but you should make sure you create proper documentation each time. Remember, a good coder also knows how to write documentation for other humans to engage with their code.
When you create your own project, a well-written ReadMe file is one of the most important parts of a good repository. It tells people:
- What the code is for
- How to build/install the code
- How to contribute to the project
When you contribute to an open-source project, write a detailed commit message to explain why you changed the code. This helps a recruiter assess how well you’ll work on a team.
- The subject line should describe what was changed in 50 characters or less. Also, include a short annotation about the type of commit, such as a big fix, feature, change to the documentation and so on.
- The body should give a more detailed description of the change. This should typically be 72 characters per line to ensure that the message fits into a terminal window when using Git on the command line.
Network or Find a Mentor
Build a Portfolio
Expand beyond the projects you built for school or through a bootcamp. Talk about how your work on different projects impacted your desire to continue pursuing software engineering. Create projects that highlight your innovation and ability to develop solutions that can benefit companies where you wish to apply.
Consider Related Jobs
Practice Your Interview Skills
Many of the interview questions — both technical and behavioral — can be challenging, which it’s why it’s important to prepare as best you can. Many former candidates have shared commonly asked interview questions, mentors and bootcamp instructors can help students workshop their answers, and whether you’re interviewing in person or remotely, read up on the best practices that will ensure a smooth and successful interview.
Work Towards the Job You Want
Resources To Help You Become a Software Engineer Without a Degree
- CodingBat. CodingBat is a free site of live coding problems using Java and Python. Users don’t have to download or install any software, get immediate in-browser feedback, and can practice writing live code to address short problem statements.
- Try.GitHub.io. A free resource to help you learn Git. If you already understand basic Git commands, this guide will help you understand more challenging concepts such as branch, revert, merge, cherry-pick, rebase, and more.
- Free Code Camp. A nonprofit repository of tutorials, Free Code Camp offers free lessons in HTML, CSS, Java, SQL, and Python. Students can access coding challenges, interact with an online community, and pair up with other students to work on projects.
- Learn Git Branching. Offering both a visual and interactive way to learn Git, Learn Git Branching includes step-by-step demonstrations of powerful Git features, challenging levels, and a sandbox.
- LearnPython.org. As the name suggests, LearnPython.org helps students learn Python through tutorials and interactive coding challenges. The website also has counterparts for other programming languages, such as Java, SQL, Perl, Ruby, PHP, and HTML.
What if You’re Considering a Degree?
Degree Paths To Consider
People working in software engineering often hold a bachelor’s degree in computer science. However, a degree in a related field such as mathematics, engineering, physics, or information technology can also offer a path to a software engineering career.
While the average software engineer holds a bachelor’s degree, many also hold a master’s degree in a relevant field. Those who work in more advanced areas of software engineering, such as machine learning and neural networks, might also hold PhDs.
FAQs About Becoming a Software Engineer Without a Degree
What Percent of Software Engineers Don’t Have a Degree?
A 2018 survey of software engineers by Overstack Flow found that 27% do not hold any type of college degree. Of all respondents, 86.7% said they had taught themselves programming languages, tools, and frameworks without taking a formal course.
Can I Call Myself an Engineer Without a Degree?
In short, yes. Many software engineers don’t have a college degree in a relevant field (or, in some cases, don’t have a degree at all). What matters to organizations is that a software engineer possesses the relevant technical and soft skills needed to do the job.
What’s a Good Degree To Pursue To Become a Software Engineer?
A bachelor’s degree in computer science, software engineering, or a related field such as IT, mathematics, physics, or engineering can help prepare individuals for a career in software engineering.
Ready to switch careers to software engineering?
Springboard offers a comprehensive software engineering bootcamp. You’ll work with a one-on-one mentor to learn key aspects of front-end web development, back-end web development, databases, and data structures and algorithms. Modules include learning resources, practice exercises, projects, and career-related coursework.
Check out Springboard’s Software Engineering Career Track to see if you qualify.
Not quite ready to dive into a software engineering bootcamp?