Stay focused on Core — my Launch School story

Process is just as important as fundamentals at Launch School.

I finished Launch School’s Core curriculum two years ago, and I’d like to share a few things I learned in the process.

The most important lesson is that Launch School has everything you need to get you started in software engineering. Take your time with Core, and you’ll learn the fundamentals and the discipline needed to succeed later.

Thinking about joining Launch School? I hope this article gives you a good idea about how it works and if it may be a good fit for you.

Already a student? I’d like to reassure you that while it may not always be obvious, you’re on the fastest route to becoming a great software engineer.

Launch School jumpstarts your programming journey

In a nutshell, Launch School Core is a curriculum for people who want to learn the fundamentals of programming from scratch. It’s split into courses that teach you about things like programming, networking, and databases.

To advance from one course to another, you must pass an exam proving you learned the material to depth. Exams are difficult, and sometimes you’ll need to try a couple of times before you’re allowed to continue.

It can take a long time to complete the entire curriculum. But once you do, you should have the foundation and confidence needed to pick up new skills, work on your own projects, and find a job if you’re looking for one.

I didn’t want a job

Most students join Launch School to become software engineers. My motivation was different. I wanted to start a software business.

I was reasonably good at designing products. But I couldn’t code well, and it stopped me from building things start to finish. I wanted to fix that.

You don’t need a tech background

Before I joined Launch School, I worked as a product designer alongside software engineers for ten years. I interviewed customers, designed user interfaces, and coded up simple interactive prototypes.

Did my past experience help? Yeah, a bit. I had an easier time learning some topics I was already familiar with.

Is it necessary? No. You’d be surprised how many students come from unrelated fields and become better software engineers than those you meet in the wild. Others did it, and you can do it, too.

Forcing myself to take a year off

Learning on the side didn’t work for me. I’d read a book, finish an online course, play around with side projects. I understood parts of programming better, but didn’t understand how the whole thing came together. Sad face!

I realized I had to put in a consistent effort. But the timing never felt right. I kept taking on new work. I thought I needed to set more money aside. I was growing frustrated by my inability to act.

Eventually, I got so fed up with putting off my dreams that I decided to take the plunge. I’d take an entire year off work and completely dedicate myself to learning how software was made.

The Rails Tutorial sent me here

I didn’t find Launch School until two months into my year off.

The Ruby on Rails Tutorial by Michael Hartl was how I found it. Michael recommended Launch School at the end of his course, and I thought I’d check it out.

After two days of reading through all of the pages on Launch School’s website, I was sold. Fundamentals? Check. Learning to depth? Check! Correct mental models? OMG check! It seemed like exactly what I wanted.

It took 13 months

I had a pretty hard time at first. Everything was new and I could only stay focused for a few hours each day.

Spending days solving different (yet eerily similar) coding exercises was a tough sell at times. Was it really necessary? I guess there was only one way to find out.

After a few months, I found a good rhythm. Many things were still mysterious, but some became a little clearer.

I used the Pomodoro technique and wrote down what I worked on on any given day. I started out at around 50 🍅 per week, and gradually increased that to about 60–65 🍅 per week.

Here’s how long it took me to finish each course:

CoursePomodorosHours
RB101 Programming Foundations257 🍅128.5 h
RB109 Assessment: Ruby and General Programming136 🍅68 h
RB120 Object Oriented Programming96 🍅48 h
RB129 Assessment: Object Oriented Programming27 🍅13.5 h
RB130 Ruby Foundations More Topics and RB139 Assessment: Ruby Foundations More Topics129 🍅64.5 h
LS170 Networking Foundations and LS171 Assessment: Networking Foundations24 🍅12 h
RB175 Networked Applications (without optional projects)132 🍅66 h
LS180 Database Foundations and LS181 Assessment: Database Foundations125 🍅62.5 h
RB185 Database Applications36 🍅18 h
LS202 HTML & CSS and LS209 Assessment: The Take Home Project173 🍅86.5 h
JS210 Fundamentals of JavaScript for Programmers and JS211 Assessment: Fundamentals of JavaScript for Programmers205 🍅102.5 h
LS215 Computational Thinking and Problem Solving and LS216 Assessment: Computational Thinking and Problem Solving90 🍅45 h
JS225 Object Oriented JavaScript and JS229 Assessment: Object Oriented JavaScript133 🍅66.5 h
JS230 DOM and Asynchronous Programming with JavaScript179 🍅89.5 h
JS239 Assessment: DOM and Asynchronous Programming with JavaScript125 🍅62.5 h
Total1950 🍅975 h

Is Core enough?

You’ve completed several courses, but you feel you still can’t really build a complete web app. You spend your days learning fundamentals, and doing exercises.

Meanwhile, people on Twitter discuss the latest tools and share their amazing creations made with that hot new framework.

How can you possibly keep up with all that? Will employers expect you to know how to use these new tools?

Maybe you should start learning newer things on the side while working your way through Core? Or start a side project?

Focus on Core and nothing else

Modern tools are exciting. And it’s true, you’ll likely need them when you start a job. But right now I think your time is best spent focusing on Core.

Going through Core is like building a rocket. It takes a while. But when you’re done, you can reach escape velocity from Earth and really explore the space of software engineering. You can’t do space exploration riding a skateboard.

A rocket with the logo of Launch School on its hull flying through space

You can pick up new tools later. Rails? You’re ready. React? Sign me up. With your rock-solid fundamentals, and the confidence of having completed a demanding curriculum, you’ll be able to learn anything you need.

Sure, finishing a badass project should make getting a job easier. I’d recommend that you set aside some time for it when you finish Core.

It took me some time to catch up with modern tooling, too. But I don’t think I’d have been able to close the gap as quickly had I not finished Core first.

Fall into rabbit holes to satisfy curiosity

Some topics will give you a burning desire to learn more than what’s in the material. I think scratching an itch like that can be worthwhile if you do it carefully.

This happened to me when I had to recreate the layout of this Nutrition Facts label:

FDA Nutrition Facts label

I spent several days learning everything I could about text line height in CSS. Here are some of the notes I took at the time:

Mind map with text and screenshots about CSS line height

I still revisit these every now and then!

Occasionally digging deeper into topics helped me stay motivated and feel less like a robot following exact instructions every day.

Just remember to crawl out of that rabbit hole eventually 🙂

Code with other students to boost morale

The Launch School community is awesome. It’s full of kind and smart people who want to learn something well.

Writing code in front of other people can feel scary. I know I felt nervous joining calls and writing code. But it’s worth it. It will make you a better programmer. And you’ll motivate each other to go on.

Life after Core

When I reached out to current students in the Launch School community before writing this article, many mentioned they wanted to hear more about what happens when you’re done with Core.

There’s plenty of information available about Capstone, the optional next stage of Launch School. But there seem to be open questions about what happens after Core.

Do you start applying for jobs right away? Or do you finish a project first? Leaving the comforting structure of a well designed curriculum might feel scary and uncertain.

I’d like to help fill this gap. I’ll be publishing a separate article about what I did in the two years after Core soon. Stay tuned!

Thank you

Thanks to everyone who shared their ideas and feedback that made this article possible. I couldn’t have written it without you ❤️

Completing Launch School’s Core curriculum has been one of the most satisfying achievements of my life. I appreciate that someone cared enough to outline not just what has to be learned, but how to learn it, too.

Good luck building your own rocket ship!