You can do anything, but not everything
Life after Launch School’s Core curriculum
When I wrote about my Launch School experience last week, I said you could get the most out of it by staying focused on the Core curriculum. But what are you supposed to do when you complete the curriculum?
Do you work on a project before looking for jobs? What kind of project should you work on? So many questions.
What I learned the hard way is that finishing Core will allow you to learn anything, but you won’t be able to learn everything because building things takes time and our time is limited.
Trying to do everything requires spending more time or lowering the quality of your output. Putting less on your plate will help you accomplish more by giving you enough time to make your work shine.
Deciding not to apply for Capstone
If you’re interested in finding a job, consider Capstone. This optional second phase of Launch School has a great track record at helping Core graduates complete impressive projects and land high paying jobs.
As promising as that sounds, Capstone wasn’t for me. I wasn’t looking for a job — I wanted to bootstrap a software business.
The extra skills I’d develop at Capstone would’ve been nice. But not wanting a full time job, I’d have to pay out of pocket. I didn’t want to do that given how part of Capstone was dedicated to helping folks land jobs.
Bridging the gap between fundamentals and modern tools
Setting aside my long term goals of starting a business, I knew I’d have to take on freelance work after a long period of full time learning. I wanted to complete a project to help me secure a new type of work.
I wanted to add software engineering services to my existing product design practice. My fundamentals were rock-solid and I knew I could pick up new skills as needed. Still, a couple of things were missing.
First, I wanted to bridge the gap between fundamentals and modern tools used at the time.
Second, having done product design for over ten years, I needed a way to prove that I could do software engineering now, too.
Planning a self-initiated Capstone project
I started by listing the qualities I wanted my project to have. Here’s what I wrote down at the time:
- Teaches me how to build & deploy a web app.
- Lets me experience delivering a project with fixed constraints.
- Can be showcased to increase my credibility as a software engineer.
- Is interesting to me personally.
- Combines aspects of software engineering and product design.
- Is visual, interactive, easy to understand.
- Has wow factor.
- Can be built in 6 weeks.
Based on this, I decided to build a web app where you could create, manage, and deliver CSS styles to other websites. This idea was largely inspired by my frustrations as a product designer.
Styles like link or button colors are commonly defined in the codebase of a project. Product designers are responsible for the styles, and yet they often need help from engineers to make changes.
I explored an idea where designers could make changes themselves instead of having to involve engineers. They’d edit styles in a web app and have them delivered to the website the developers were building.
I shipped Tokenhost 3000 after 7 weeks. That’s a week longer than originally planned. Not perfect, but I thought it was an acceptable delay.
Let’s talk about how it works. If you’d like, you can check out the demo yourself: Tokenhost 3000 (Pssst: it’s on a free hosting plan, so you’ll need to give it 15–30 seconds to boot up).
When you press the Try Demo button, you get a temporary space for editing themes like Light or Dark. Each theme is a collection of CSS styles. That’s the web app part for designers.
A little widget shows up in the bottom right corner of the page letting you change themes. Any style changes you make in the web app show up in your project in real time!
Racing against time to ship
Rushing to squeeze in everything I thought I needed, I ended up with little time for final tweaks and for writing a great case study to explain my process.
The case study could’ve benefited from a little more love. It won’t matter that you built something cool if your demo and description don’t get that point across.
It’s hard to estimate how long something might take if you’ve never done it before. If I were to start over, I’d try to put less on my plate just to err on the safe side and have time to spare for polishing.
Did I end up using Tokenhost 3000 to get freelance jobs? Not exactly. Many companies stopped hiring when the COVID-19 pandemic hit, and I decided to continue improving my skills instead.
I’d still use this project to showcase my skills. But I’d probably spend a couple extra weeks making tweaks and editing the case study. It would’ve been so much easier if I’d chosen a smaller scope to begin with!
Do less to achieve more
You can’t learn or do everything — and you don’t need to. Make sure to pick a project small enough so there’s enough time for polishing touches and writing a clear case study.
After Core, your value lies not just in the skills you already have, but also in your ability to learn new things just in time. Taking the time to walk someone through your process will help you prove that potential.
Doing less doesn’t come easily because you have to sacrifice something. But if you don’t do it yourself, your hand will be forced later when your project meets reality. And it might be too late to recover at that point.
By evaluating potential rabbit holes ahead of time and putting less on your plate, you ensure there’s enough time for the things that ultimately matter more.
Resources to help you plan and ship projects
A book about “shaping up” ideas before you start working on them. It forces you to think about the problem you’re solving, and consider risks and potential rabbit holes that come with it.
Just F*cking Ship
A set of guidelines for building a successful web application. It has some great chapters about limiting the scope of your work to deliver high quality software.
Questions from Launch School students
I probably didn’t cover everything in the article above, so let me separately answer some of the questions asked by the awesome folks in the Launch School community chat.
Did you do one or more projects before applying for jobs, and what kind of projects did you decide to do?
I completed one Capstone-grade project to help me get freelance jobs doing not just product design (which is what I did before), but also software engineering.
I decided to ship a web app where you could create and manage CSS styles, and have them delivered to other websites in real time. I picked this project because it combined relatively advanced topics (maintaining a real time connection with a web app via an API) with my existing domain of expertise.
It’s difficult to tell if this project would’ve helped me achieve that goal. The COVID-19 pandemic started shortly after I was done, and many companies stopped hiring. So I ended up starting more projects to gain experience instead.
What sub-industries can I work in after Core? Gaming? Medical? Data? Strictly web/app dev?
I think that with some effort, you could work in any of the industries you mentioned. Gaming companies may expect you to write C++. Companies working with large amounts of data might want you to write Python scripts.
Will Core make it possible for me to bootstrap my own SaaS companies?
Bootstrapping comes with its own set of skills required beyond technical skills. I think Core helps develop some needed non-technical skills like discipline and the importance of making a consistent effort over a long time.
In terms of technical skills, you’ll definitely have enough to start building something. How much more you’ll need to learn will depend on the complexity of what you’d like to build.
How do I become a DevOps engineer?
I’m not a DevOps engineer, so I can’t outline an exact path for you. But like with other industries, it would probably have to be a combination of developing some domain expertise and proving your ability to learn and solve problems to a prospective employer.
A great thing about Core is not just the foundation you develop during the curriculum. It’s that many other things you’ll have to learn rest on this foundation, and learning them will be easier for you compared to folks without this foundation.
It’s possible that these companies have an ongoing need for Rails developers, with fewer developers available in the market. It’s unclear to me if those companies would be looking for junior or more senior developers, though. Something worth looking into!
Interested to hear about how your bootstrapping journey is going post-Core!
I think I’m starting to see light at the end of this tunnel! But it took me a while before I committed to pursuing one idea.
At first, I did my self-initiated Capstone project and a bunch of other projects to bridge what I thought was a gap between fundamentals and modern practices.
Then I started exploring machine learning. This was very exciting, but after a while I realized I couldn’t keep learning, exploring, and working on a business idea all by myself.
Any of these things were possible, but not all of them at the same time. I had to focus on something smaller. I converged on a new way of learning web app layout with CSS Flexbox.
There are lots of ways to learn Flexbox out there, but I’d like to put a twist on it. You can keep an eye on this blog or follow me on Twitter — I’ll be sharing more details soon! 🚀