A few weeks ago a friends partner reached out wanting some advice on learning to program and getting a job in the technology industry.

“I’m currently a high school teacher (band director) and am looking to make the change to web development in the next year.”

He was really excited about starting his career shift from a band director at the local high school to a hacker and software engineer. The problem though, was that he didn’t really know where to start.
He wanted to pick my brain about two things I’ve recently gone though.

  • How does one make a shift from a non technology job to software engineering?
  • Where should I start?

When I first saw this email, I honestly had no clue how to respond. Sure, I recently transitioned from a career in manufacturing engineering to software engineering and developer. I was now automating distributed systems with ansible , using time series data to monitor systems with prometheus, and writing self service tools in python with the flask web framework. I didn’t really have a game plan at the time though. My game plan looked like giving it a try, and seeing how it worked out. Luckily for myself, I had a lot of time to learn, and some great mentors to help me. But that didn’t help the high school band teacher… I thought about his situation for the next few weeks and tried to answer the questions:

  • What would I do differently if I was making a career shift to the technology industry?
  • Where would I start?

The Fundamentals Blog Series

The fundamentals blog series is my answer to the above two questions. It’s my attempt to answer the high school band teachers questions about making the shift from non technical work to technical work. The fundamentals is a blog series about computer and technology concepts explained in a digestible and non convoluted format. The blog series is meant to be approachable, humble, and non assuming. We will cover a variety of software engineering and computer science concepts, have a chat about them, and test our understanding together with examples.

Audience

I’m writing this blog series for a few different people I’ve met over the years.

  • The high school band teacher looking to make a career shift.
  • The 4 year college graduate, wanting a refresher on the fundamentals.
  • The person who thinks computers are too complicated to learn about.

The blog series is also for folks just looking to better understand the world around us. It is my hope that more and more people realize that technology is just another language like English or Spanish. Technology and software engineering should not be seen as intimidating. They should be viewed as an exciting tool set in which you can build a new future! you betcha, it takes practice, but think of all the cool stuff we get to build together to make the world a better place!

The Goals of Series

I have two major goals for the fundamentals blog series.

Motivate non-traditional developers to break into the technology industry

You may have heard via social media, in the news, or from your grandma that many companies including Google and Apple have ditched the college degree requirements. This is pretty freaking exciting if you ask me… This means you don’t have to get into crazy student loan debt to have a really awesome career in tech. Demand is high, and it’s your brain they are demanding! Read a few programming books, this blog series(shameless plug), and take a coding boot camp. You’ll be well on your way to working in the industry! My plea to you is that you are passionate and devote yourself to learning and the process of learning. Use this blog as one of your many resources!

Have a conversation about technology concepts in a non-intimidating fashion

The blog series was designed to be a conversation between two people about bite sized computer science topics. Imagine that we are grabbing coffee, and while we are slamming that iced americano, or cappuccino we discussed bit shifting and why it’s important. I also want to have conversations about why things turned out the way they are Today, commonly known as history. While looking at history i’d like you to question the way the world works Today, and think how it could be better Tomorrow. The goal is for the series to be a learning path and to break down the barriers for other folks to join the party. Any yes, it is a freaking party. Let’s Party!

What to Expect

Before you join me on this journey, lets chat expectations.

Each blog will be no more than 30 minutes.

We are all busy, I get it… so i’ll keep the concepts contained. The content will be short, sweet, and concise. Expect to need around 30 minutes to read the blog post and test your understanding.

Testing your Understanding

Each blog will have an exercise to test your understanding of the main topic. Solutions will be on a separate, slightly hidden page, so try your best to answer the questions before peaking. Testing your understanding is pretty important for these posts, so give it a try!

No coding experience needed, but….

Although coding isn’t a prerequisite, we will be reading some code. The plan is to use a easy to read/use programming language to test understanding. I’m taking Paul Graham’s advice here:

How can I learn to program?
Find a friend who knows how to program. Get them to set you up with a system where you can edit and run programs. Use whatever language they suggest for a beginner (probably it will be Python or Ruby).

We will be using mosty python3 on this journey, but I’m also interested in bringing go and ruby into the mix. Are you ready for this?

Let’s do this!