Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

17 Steps to Becoming a Software Engineer (Without a CS Degree)

Are you interested in learning how to become a Software engineer, but don’t have years to dedicate to studying CS at university? Well, good news: you can absolutely become a software developer without a college degree!

Whether you’re re-entering the workforce or stuck in a career you dislike (administration, operations, banking, etc.), becoming a Software Engineer is totally within your grasp—as long as you’re willing to put in the hard work.

According to US News, software developers earn a median salary of $110,140 per year, and have an unemployment rate of 3%, making it one of the most lucrative technology careers. Additionally, the profession offers an above-average work-life balance.  

Even more, the Bureau of Labor Statistics projects that between 2020 and 2030 there will be a 22% growth rate. Meanwhile, the average growth for all occupations is 8 percent. This translates into 272,780 job openings. It’s a great time to learn how to get into software development!

And guess what? Despite the positive outlook and abundance of opportunities, only 3% of college grads study computer and information science. As you can see in the image below, in 2020 there were 1.4 million computing jobs versus the 400,000 CS students.  

You get the picture: learning how to be a developer can bring more financial security as well as flexibility in your day-to-day. But most people don’t have the time to sit through four years of CS classes to learn software engineering!

You’re probably wondering, do you need a degree to be a software engineer? Is there a good way to learn how to become a computer programmer without a degree? And once you have the skills, how do you get a programming job without a degree and launch yourself on this lucrative software engineer career path?

Here’s the good news: it’s totally possible to learn how to become a software developer from scratch! This 17-step guide will lift the veil and show you how to become a software engineer without a degree. So read on!

Disclosure: I’m a proud affiliate for some of the resources mentioned in this article. If you buy a product through my links on this page, I may get a small commission for referring you. Thanks!

Sponsored Resource

Udemy

Udemy has courses for every skill you need to become a software engineer — from HTML and JavaScript to algorithms and the coding interview. Whichever stage you’re at on your journey to become a software engineer, you’re bound to find what you need in the Software Engineering category.

What Is a Software Engineer? 

By definition, a software engineer is someone who writes the code behind software products (video games, operating systems, apps, features, robots, etc.). 

What does a software engineer do?

  • Design, build, and test software applications
  • Understand requirements and solve problems using coding/technology
  • Use programming languages to turn instructions into something a computer can understand
  • Might code something from scratch, or collaborate with a team of software developers, or improve/debug existing code
  • Might need to work with other professionals, e.g. UX designer, graphic designer, product manager, technical writer

Like any role, the specifics of how to be a software engineer will differ depending on each company’s software engineer requirements.


No degree, no problem. Here’s how to become a software engineer in 17 steps.
Click To Tweet


Software engineer vs. software developer

Is there a difference between a software engineer and a software developer? Not really. The terms are pretty much used interchangeably, and companies tend to view them as the same thing.

When you’re on the hunt for a software engineering job, make sure to search and look at postings for both “software engineer” and “software developer” to get the most results. Some companies even refer to the role as “software development engineer.”

Software developer work perks

Beyond enjoying the work itself, the software engineer career path typically comes with a bunch of extra benefits, like these.

High salary (how much does a software engineer make?):

  • As a software engineer, you can earn a high salary right out of the gate
  • For those with less than a year of experience = $110,417 per year, on average
  • For those with 10+ years of experience = $148,656 per year, on average

/ Remote/WFH possibilities: 

  • Software engineering is a very remote-friendly job, so you’ll likely be able to work from home at least part of the time
  • Even before Covid, WFH as a developer was considered normal, with 86% of developers working remotely sometimes and almost one-third working from home full-time

Casual work environments:

  • Along with flexible schedules, software engineering roles often come with comfortable, casual work environments
  • Many software engineers enjoy extremely flexible schedules; a lot of jobs don’t even start until 10am or later or allow you to choose your own schedule

Who doesn’t want a high-paying, flexible job, right? It’s often a “you can only choose one” scenario, but software development gives you the best of both worlds.

Roadmap: How to Become a Software Engineer Without a Degree

Before we get started, understand that the following software engineer roadmap steps are specific for those who want to know how to get into software engineering as a full-time job/career path.

The software developer roadmap will be less helpful for the person who is

  • Dabbling with code for the first time 
  • Unsure if coding is right for them 
  • Wishing to pursue web design, UX, UI, or any other design-related field
  • Wanting to freelance full-time
  • Hoping to start their own business 

But those are all great things to be aiming toward, and the rest of the blog is full of content about these topics too!

Now, let’s dive into the 17 steps of how to become a software engineer.


17 steps to becoming a software engineer *without* a CS degree
Click To Tweet


First Steps: Preparing to Become a Software Engineer

Getting started on the right foot can be immensely helpful in your software engineer learning path. These beginning steps will help orient you in the right direction, choose some initial software engineer training resources, etc.

Step #1: Gather inspiration

To keep you motivated on your journey of learning how to become a software developer without a degree, it can be worth it to start by reading about success stories of people who started out in your situation. Starting with this step can keep you motivated and focused on your journey — especially when things start getting tougher. 

The LTCWM podcast has tons of stories that can inspire you, including:

  • Admin assistant to software developer
  • Washing dishes managing engineers
  • Stay at home mom front-end developer
  • Frying chicken working at Google
  • And more!

How did they get to where they are? What steps did they take and how did they manage their time? If you’re a parent, for example, you can research stories of parents who’ve learned to code and glean their advice for juggling a family with learning how to become a developer. You can also learn from their struggles.

Step #2: Be crystal clear about your end goal in software engineering

Transitioning into a new career is not easy. But when you have a final destination in mind, it helps tremendously when you hit bumps in the road. A crystal-clear goal looks something like this:

  • “I want to work as a software developer at an established tech company.” 
  • “I want to work at a brand new startup, as a software engineer, in the industry I adore.” 
  • “I want to build useful, meaningful projects with a great team, and get paid well for it.” 

No matter the specifics of your dream, if you want to make it through all 17 steps, you MUST be committed to the end goal of becoming a software engineer. That’s what will drive you forward when the going gets tough—because learning how to be a software developer isn’t easy, with or without a degree! 

As well as the software engineering role itself, think about the type of company, industry, work environment, company culture, etc. you’re looking for, if possible.

To help you discover the role that’s right for you, check out Break Into Tech’s Find Your Fit course, a step-by-step guide for finding and positioning yourself for the perfect tech job.

Step #3: Choose a good software engineering language to learn 

When starting out, many people get stuck on the question of how to learn software engineering as a beginner. It starts with which programming language (and framework) they should learn. Ruby on Rails? Python and Django? MEAN stack? So many options, so little time.

Here’s the thing: once you know a particular language/stack well, it is not difficult to transition to a new one. That means that when you’re becoming a software engineer, your first goal should simply be understanding programming fundamentals. In essence, learning how to learn software engineering skills.

Once you have a solid foundation, you can easily transition to new languages, frameworks, and technologies. As co-founder of Flatiron School Avi Flombaum says, “The most important aspect of it is that you’re learning how to think like a developer.”

All of this said, you should focus on one language/framework to start your software engineer training. 

With so many languages out there, it can be hard to know which one to pick. I recommend taking some time to learn about the different languages. This podcast episode on picking a programming language is a great place to start.

Another trick is to reverse-engineer job postings. To do this, take a look at job openings for your dream software engineering roles on sites like Indeed or LinkedIn. Look at the skills, experience, and education requirements and start a list of the things you’ll need to learn and accomplish to qualify for your ideal roles.

For many wondering “what should I study to become a software engineer?”, Python is an excellent way to go.


For many, Python is a great first programming language to learn.
Click To Tweet


Python is readable and efficient, making it much easier to get comfortable with than some other languages. It’s also open-source, so you’ll have access to plenty of tools and a community of other developers, all for free. And perhaps most importantly, it’s flexible: the language is used by plenty of companies (Google, Facebook, Netflix, Spotify, etc.) and gives you a solid foundation to branch out into other languages later.

Here’s more about why Python is a great first language.

Sponsored Resources

There are lots of great Python courses on Udemy. Here are 3 of the most popular ones:

  • 2022 Complete Python Bootcamp From Zero to Hero in Python
  • 100 Days of Code: The Complete Python Pro Bootcamp for 2022
  • Learn Python: The Complete Python Programming Course

Want to master Python?

Then download my list of favorite Python learning resources.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

If you’re brand-new to coding, a good rule of thumb is to start with HTML/CSS and JavaScript since these languages provide a good intro to programming and web development.

While you don’t 100% need to know what type of software engineering you want to do in the future (front-end, back-end, databases, etc.) it can be helpful to have a general idea. For example, Java could be a good option if you plan on doing back-end development.

Especially when you’re learning how to become a programmer without a degree, it helps to target some specialized skills.

Sponsored Resources

Here are some courses to get you started:

  • HTML/CSS: Build Responsive Real-World Websites with HTML and CSS
  • JavaScript: The Complete JavaScript Course 2022: From Zero to Expert!
  • Java: Java for Absolute Beginners

Check out my articles categorized by types of tech jobs to learn more about the various roles under the software engineering umbrella.

Step #4: Pick a platform/course 

There are so many software developer classes and programs out there that it can be difficult to choose how to learn software engineering without a degree. Here are some questions that can help guide you to the right software engineer training option!

Would you prefer smaller, individual software development courses/tutorials or big bootcamp-style software developer programs?

Many online learning platforms have different types of course formats. You could start with small, one-off tutorials and courses that teach you the basics of a skill or programming language. 

Or, for another level up, some platforms might have curated collections of software engineering courses that teach you the skills in-depth more. On Coursera, for example, these collections of courses are known as Specializations. 

Some platforms also have bootcamp-style courses that are very comprehensive and require more of a time commitment. edX, for example, has online bootcamps in various tech subjects. Here are 18 other online coding bootcamp options.

Are you more comfortable with self-paced or structured courses with deadlines?

Some courses are self-paced, meaning you work through the materials in your free time and assignments/quizzes aren’t “due” at any specific time; you set your own schedule and typically watch pre-recorded videos. 

Others are time-bound, which can sometimes mean you watch live videos or webinars, turn in assignments and quizzes on a set schedule, and work with your peers in a more collaborative way.

The best option for you depends on your preferred learning style. For example, if you need more accountability, a time-bound course may be the best fit. If you have a busy schedule, need more flexibility, and have the drive to stay on top of things, a self-paced course may be the best way to learn software development for you.

Sponsored Resource: Udemy

If you like working at your own pace, Udemy could be the perfect platform for you. Udemy courses are all self-paced and once you buy one, it’s yours forever—so you can come back to it whenever you want. Click here to see their software engineering courses.

Do you learn better with reading instead of videos? If you prefer reading/books to videos and online materials, check out this list of 54 programming books to help you learn to code.

Are you open to testing a bunch of courses with trial and error? Maybe try a few (for free) to see which you prefer before committing: Here’s a list of 101 places to learn to code for free.

Alternatively, check out some of Learn to Code With Me’s favorite platforms to learn below.

  • Codecademy
  • Coursera
  • Udemy
  • edX
  • LinkedIn Learning
  • Udacity
  • Pluralsight
  • Skillshare

Next phase: Learn smart

As you dive into your software developer learning path, this next section of the software engineering roadmap will help you make the most of the process.

Step #5: Practice software development skills…and practice some more 

What makes a good software engineer? It’s simple: a good software developer is just someone who works hard to develop software every day!

While the stack you learn doesn’t matter a whole lot, what does matter is learning by doing. This means dedicating some real time to perfecting your new craft. You must set aside a significant amount of time every day, every week, to learning and practicing how to be a developer.

You can’t become a software developer after 10 hours of practice. It’s just not possible. 

Some people say it takes 10,000 hours to become an expert. Now, you don’t need 10,000 hours of practice to get your first software developer job. But you do need to dedicate some serious time.

To give one example, the Computer Science Essentials for Software Development curriculum on edX takes about 4 months (7-9 hours per week) to make it through. 

To motivate you to practice, try doing the #100DaysOfCode challenge. In this challenge, you code a minimum of an hour every day for 100 days and tweet your progress every day with the #100DaysOfCode hashtag to stay accountable. Listen to this podcast episode with the creator of the challenge to learn more.

Check out this podcast episode to learn time management strategies and systems for productivity to make practicing coding fun and consistent.

Step #6: Use tools that real software developers use

While free coding resources like Codecademy are great, you’re not in a real-world environment when you use them. Instead, you’re typing directly into the web browser and getting a score based on a quiz or some other kind of interactive activity.

This is certainly useful as a way to get yourself accustomed to coding and solidifying the concepts in your mind. However, in the real world, you’re not going to be working like this.

So, what you want to do from the beginning is to build how real software engineers build. You want to use the tools that they use. Down the road, this will make it much easier to transition into a full-time role and join a team.

But it’s hard to build how real devs build, and use tools real devs use, when you’re first starting out. (If you’re anything like I was, it’s hard to even know where to begin.)


When learning how to code, use tools real developers use.
Click To Tweet


The good news is that there are programs out there that teach you how to use these tools—like Version Control with Git, an online course through Coursera.

Its curriculum touches on the tools and processes real engineers use every day, like:  

  • Git or GitHub
  • The command-line interface
  • Bitbucket 

This will enable you to adjust much faster once you’re in a real job, rather than having yet another steep learning curve to master.

Another Git course to check out is The Ultimate Git Mastery Course by Code With Mosh, which is taught by a software engineer with over 20 years of experience in the industry.

Step #7: Read code written by other software engineers

Another important aspect of becoming a software engineer is learning how to read other people’s code. You can do this by browsing through GitHub repositories, and looking through documentation.

Sometimes, documentation can be wrong…but the source code never lies. By learning to read that code, you’ll be able to understand what’s going on and how a program is working. (This skill is also important when it comes to debugging, because you’ll be able to identify which piece of the code shouldn’t be there.)

This is often an overlooked skill, but it can really benefit you to see how experienced developers do things. Don’t just do a cursory skim of the code, either. Delve in deep, learn the ins and outs, map out the functionality, and finally, recreate it if you can. This way, you’ll be able to reverse-engineer an existing program, helping you understand that much better how to become a software developer who can create your own programs.

You can even contribute to open source projects on GitHub. Making changes to real developer projects and collaborating with a network of other developers can help you build your confidence, your resume, and your portfolio.

Listen to this podcast episode to find out how to find your ideal first open source project.

Step #8: Stay informed (podcasts, news, events, social media, etc.) 

Another way to learn smarter is to regularly listen to experts in the industry and immerse yourself in the world of code. This helps you stay on top of new developments and figure out the best things to learn next. 

  • Swipe to Unlock is a great, comprehensive book on the must-know concepts of technology and business strategy. A great starting point. It’s available on Amazon.
  • Tech News Briefing is an excellent daily, bite-sized podcast that gives you a run down of all the important tech news trends, from new gadgets to consumer trends to cyber issues. 10-minutes long so not a huge time commitment. 
  • Techmeme Ride Home is another great podcast that keeps you up to date on the day’s important tech news and topics. 15 minutes and you’re up to date. 

If you’re not a huge fan of listening to podcasts, try subscribing to a few tech newsletters. Here are a few to try:

  • StrictlyVC: Gives you all the info you need to know about the VC scene in Silicon Valley and beyond. 
  • The Information: Paid site, but free newsletters. Focused on Silicon Valley news.
  • Built In NYC: They have ones in different US metro hubs, so choose the one that’s closest to you. Stay up to-date with the latest tech news & trends. 
  • TLDR: daily newsletter with links and TLDRs of the most interesting stories in tech, science, and coding

Beyond that, you can follow tech thought leaders on Twitter or Instagram, join relevant Slack groups in your city, and/or join groups on Facebook to make tech a part of your daily life — even if just in a small way.

Step #9: Build actual coding projects 

Don’t just read tutori



This post first appeared on Learn To Code With Me, please read the originial post: here

Share the post

17 Steps to Becoming a Software Engineer (Without a CS Degree)

×

Subscribe to Learn To Code With Me

Get updates delivered right to your inbox!

Thank you for your subscription

×