So you want to be a software engineer?

When people hear that I am a software engineer, they often ask how they can get a job as a software engineer, too. It’s a good question. There are many perks to being a software engineer:

And there are far fewer barriers to entry than ever before. A few decades ago, a college degree in computer science and/or electrical engineering was a must. Nowadays, the field has been democratized and most employers care far more about your job experience than your education.

So let’s talk about your path to a future as a software engineer.

Deciding on your education path

Is it a good fit for me?

When I grew up, I assumed software engineers tediously shifted around zeroes and ones all day. The job was unimaginably difficult and complex in my mind– surely not a good fit for an average Joe like me. Not so. Get rid of your Hollywood stereotypes. It doesn’t matter if you’re right orleft brained, analytical or creative, nerdy or a jock. I firmly believe anyone with half a brain to learn can become a decent software engineer.

That said, it certainly ehlps if you already have an affinity for problem solving and logical thinking. For example, do logic puzzles come easily to you? Do you like to invent solutions to problems in your mind? If so, you’ll probably really love software engineering.

Education options

You could go to a 4 year university, major in computer science, graduate, and apply. That will give you the most depth of knowledge and open up the most job prospects. That’s the route I took. However, that path incredibly long and expensive, so unless you’re planning to go to college anyway, I don’t recommend it.

There are many community colleges and trade schools that offer software engineering or computer programming certificates. That’s a better, cheaper place to start, however you won’t find the same traction among employers that a 4-year degree will.

Going even further, you can do a shorter-term coding bootcamp. These are usually far more accessible (and cheaper) than the beforementioned schooling options, allowing you to study at your own pace. Typically, students can churn through a bootcamp in 6-12 months. Some coding bootcamps include a recruiter service with a job guarantee– the school will find you a software engineering job within 6 months of your graduation or your tuition back.

But if you really want to save and customize your experience, you can learn software engineering all by yourself for free. That’s where I’ll focus the rest of this article.

Your instructional plan

Here’s where I’ll give you a step-by-step activity guide to go from zero to developer.

0. This is a football

Before we learn to write computer programs, let’s first get a good understanding of what computers and programs actually are. Watch this video series from Code.org to make sure you understand the basics:

Once you get the gist of copmuters, get a good feel for what the internet is (hint: it’s not a black box on your desk). Khan Academy has a good 101 course:

1. Let’s get coding!

Okay, you understand the fundamentals of the world we’re operating in. Now let’s get started learning. There are many languages and many tools you can use to write software. But for learning, you want something:

What language checks all these boxes? JavaScript. JavaScript began as the language of webpages, and has since expanded off of the browser and onto the computer, becoming the most popular language in the industry. And because it can run in your browser, it doesn’t require you to install frameworks or development kits or anything. You can write, test, and run JavaScript code on any machine– a low-powered laptop, a Chromebook, your library computer, even your cell phone.

Now how do we get set up editing JavaScript? Well, technically you don’t need anything to write JavaScript code. The very browser you’re reading this article on will let you play around with JavaScript code! But we want the nice things that make engineers’ lives easy, and that starts with an editor. I recommend VS Code. It’s a great, free editor and has quickly become the industry standard for editing any type of scripting language.

You can download VS Code here– they even offer a non-install download that doesn’t require installation– but I recommend going one step further and skipping downloads entirely and just open vscode.dev in your browser and bam! You’ve got one of the best code editors on the planet running in your browser with no hassle!

Spend 30 minutes or so poking around in VS Code. Learn to create folders and files in the editor on your computer.

Once you are comfortable creating and editing files in an editor, we’ll start learning basic building blocks of writing code for the web. This is a good series of videos explaining how these pieces fit together:

Once you’re ready, go through the following guides to start delving into these languages:

  1. Getting Started on with the Web
  2. HTML – Structuring the web
  3. CSS — Styling the web
  4. JavaScript — Dynamic client-side scripting