Let’s face it. Most knowledge-based jobs require evidence of higher education beyond high school. Many companies can afford to wait for the candidate that meets every checkbox on their list. But that doesn’t mean you’re completely out of luck as a software developer without a degree.
In fact, many talented software developers are self-taught or started in one profession and shifted into software through one way or another.
Are you even the slightest bit curious about software development? Then this post is for you.
Let’s explore the details and spark some new ideas.
Formal Education and Training Can Help
There’s no doubt about it. Proper education, strict training, and directed learning can offer a smoother path to a successful software career. We say “smooth” because formal training forces you into certain habits, patterns, and mindsets that tend to lead you in the right direction. Experts, professionals, and trainers with years of experience have honed their craft and know how to transfer that knowledge in a rigid structure.
Is that style for you? Only you can know. Sometimes you’ll only know through experience and effort.
We have personally interviewed hundreds of potential technology and software developer candidates at several companies. While many candidates are stacked to the brim with degrees and certificates, we have to stress that academics are only a single factor when considering a new hire.
Job Opportunities Are Plentiful
Think about the hiring process for a second. Huge companies like Google and Microsoft have so many applicants that their hiring requirements will be much more strict. Why bother considering someone without a degree in that case?
But guess what. Those aren’t the only companies hiring!
The U.S. Bureau of Labor Statistics estimated that the number of software developer jobs in 2018 was 1,365,500. That’s over one million jobs in the U.S. alone. And that number is predicted to increase by 21% between 2018-2028.
Those statistics don’t include jobs outside the U.S. nor do they include similar professions tracked by the Bureau like architects, support specialists, database administrators, security analysts, and systems administrators.
Thousands and thousands of other companies out there are looking for talent just like you. Recruiters want hungry, passionate, accountable people who are willing to go the extra mile to get their foot in the door.
The bottom line is that there are a lot of opportunities out there in the industry and a variety of companies aren’t as picky as the Googles and Microsofts of the world. By broadening your scope, you might find success at a smaller, more focused company that doesn’t weigh academics as heavily.
Try a Different Approach
The software industry is huge and continuously growing, and the required education, knowledge, and skill sets vary wildly across domains.
Some developers invent new graphical rendering algorithms and require advanced math on a daily basis. Others may spend all day developing software that does nothing more than collect data and shove it in a database. Neither track is “better” than the other, but one may be more relaxed in terms of education than the other.
Additionally, directed learning strategies aren’t always successful. For some people, self-directed learning is more successful than being stuck in a course that railroads you to oblivion. Do you fall into that bucket? Read on, my friend. Higher education doesn’t have to be (and isn’t) the only way forward.
Forge a Path Without a Degree
In all passions, it’s important not to get discouraged. Anxiety and stress can easily overwhelm you especially if you think you aren’t qualified or suffer from imposter syndrome.
It’s up to you. You are in control of your path. At the very least you are in the position of nudging your boat even if the river flows in a single direction.
Start now. Build up your passion and embark on your journey today. The good news is that you’re already at this blog, so you’re one step ahead of the competition.
Getting Started by Yourself
We’ve written extensively about how to become a modern software developer, so we’ll summarize the points here for your reference after you read the main article. You are going to read it, right?
The cheapest option to get started is by exploring online resources. Start with KhanAcademy, give yourself a diploma to graduate to Coursera and Pluralsight, and round everything out with physical books.
Once you’ve knocked out the online material, start setting up your own development environment to begin experimenting. This is the best time to figure out what you like and don’t like. What tools work best for you? Which languages click in your mind? It’s all up to you!
Join and Contribute to the Community
You’re ready to spread your wings and leave the nest now. Keeping your awesomeness locked away in secret isn’t going to do you any favors when landing a job.
One of the best tips you can get as a new software developer is to prioritize the creation of a public profile. Artists usually maintain a collection of their best works to show off as their portfolio. The same applies to you.
Job applicants that can speak confidently to their practical experience (even if that experience is explicitly personal) have a huge advantage over the others in the applicant pool. A degree showcases that you can be considered as hard-working and learned in a domain, but a public profile of practical projects proves that you are passionate enough to self start and self finish.
To start building up your profile, you’ll need to learn source control using Git and ultimately contribute to your own projects and other projects on GitHub. There’s a great crash course on YouTube regarding exactly those topics. We suggest taking advantage of code editors or development environments like Visual Studio 2019 and Visual Studio Code to assist with Git integrations, management, and visualizations.
This process will definitely be slow going, but in the end, it’s worth it. You’ll be satisfied with your self-determination, ability to learn new skills, and eventually rather large public showcase of your abilities.
Ideas for Self Training
There’s an endless amount of material out there to consume. The trick is to find the resources that fit your style and don’t waste your time.
We highly suggest that you read through our expansive guide to becoming a software developer. Many of the links in this section were lifted directly from that guide, but some are unique to this post. Make sure to go through all of them.
As you work through the materials, reference our big list of the best programming tools to install on your developer machine. Don’t install all of them. You would just be overwhelming yourself unnecessarily and crowding your toolbox. Pick ones that help you get started and give you the most value.
The list below isn’t in any particular order and isn’t an exhaustive list of everything we recommend. There are far too many guides, tips, and tricks out there to collect into a single list.
This is intended to be a starting point to get your mindset in the right learning place.
Ready. Set. Go.
Watch KhanAcademy Videos
KhanAcademy has a ton of bite-sized videos and resources to get you started on your developer adventure. While the content was originally (and in some ways still is) targeted to a younger academic audience, you shouldn’t use that as an excuse to skip over the free and brief content.
Keep going and dig into some other topics that we’ve curated below.
- What is a computer?
- What are the parts of a computer?
- What makes a computer, a computer?
- How do computers represent data?
- Binary & data
- Circuits & Logic
- CPU, memory, input & output
- Hardware and Software
- What is the Internet?
- Wires, cables, and Wi-Fi
Watch YouTube Videos
- Zero Programming Knowledge to Software Development Job
- What is Software Development?
- Is Software Development Right for You?
- How Software is Made
Join Coursera Courses
- Algorithms, Part I
- Programming for Everybody (Getting Started with Python)
- Data Structures and Algorithms
- Java Programming: Solving Problems with Software
Complete Pluralsight Training
- Introduction to Web Development
- Front End Web Development: Get Started