Here's my 2018 in review!
Children, Time, Advice
On January 1, 2018, my son was just 3 months and 6 days old.
One thing you learn when you have a kid is that a LOT of the business and life advice we hear is not geared towards parents. There were so many times when I muttered "yeah, try that with a baby" to a podcast.
Finding good advice through the lense of parenthood is rare. This is probably because many of the people we listen to don't have kids of their own, or divorce that element from their advice - in either the case, advice that takes parenthood into account is rare.
There's a larger point here that I'm slowly internalizing - everyone giving business and life advice has a context through which they are giving it. This means that what works for some may not work for you. This idea (although not related to children) is covered a bit in this excellent Art of Product episode.
In any case, this whole section is an excuse to get to this sentence: young kids are fucking hard to have around, and finding time to work on my business outside of work hours (I have a job!) was a major source of stress this year. Working from home exacerbates this, but I won't give up being home during my kid's most important years.
Andrey Butov does a good job explaining the struggle of work and kids in episode 10 of our (newish) podcast.
What Happened in 2018
Here's what I can remember doing in 2018!
Released Scaling Laravel
Most of the work for Scaling Laravel was done in 2017, and then delayed a few months after my son was born. I released the course in early 2018.
This was my big "thing" for the year, and the main driver of revenue. The next largest driver was Shipping Docker, which was released in 2017.
The sales cliff for courses is steep - sales drop off almost immediately and remain low very soon after an initial launch, so the majority of revenue for a course is made up-front. Revenue from Shipping Docker was therefore low relative to Scaling Laravel.
Docker in Development
Docker is a technology that is still moving and changing rather quickly. My course Shipping Docker is about 2 years old as I write this.
This year I refreshed a free part of the course: Docker in Development. This was one of the first things I made for the original course - it was in need of a refresh since I learned and refined quite a bit afterwards!
If you're interested in seeing my current dev workflow using Docker, check out both Part I and Part II of the refreshed Docker in Development course linked above.
For Laravel specifically, I created Vessel, which essentially is this same development workflow, but specifically for Laravel (and improved upon).
Vessel was released in late 2017, and I've continued to work on it in 2018. The goals for this project were:
- Great documentation
I spent more time on the docs than the initial project. Good documentation is a lot of work, and I wanted to be proud of the docs I made. I really enjoyed the process of crafting them.
A lesson here: If you want your project to gain traction, the bar is fairly high. One way your project can stand out is through great documentation and a developer-friendly API.
From a business & marketing point of view, this can really help your project get traction and, if it's open source, attract great pull requests. Finding a project with light or bad documentation is super common. However, great documentation and ease-of-use is quickly becoming table stakes.
Many of you reading this probably has seen Steve Schoger's tweets promoting what eventually became Refactoring UI. Growing a Twitter audience is a great way to generate interest in your projects, and Steve really succeeded there.
Other than being "famous", one way of having an interesting twitter account is by giving as much useful information as possible. Steve Schoger, Adam Wathan, and Wes Bos have really perfected this.
If that's something you're interested in (it's certainly not the be-all-end-all of business), combining a tweet with an image and maybe a link off to an article is a great way to help grow your audience. I make heavy use of Carbon to help make my own tweet tips.
I've done some of this myself in 2018 - Here's a few examples:
- Collection of Nginx tips
- MySQL INFORMATION SCHEMA tip
- Linux human-readable disk usage tip
- MySQL mysqldump tip
These are a great way to generate interest in courses - I have a bunch of MySQL tweet tips lately to help with my upcoming MySQL Backups course.
My next course is going to be all about MySQL Backups. This course is in-process right now and is about 75% complete as I write this.
My favorite part about creating this particular course is that I found someone to help me edit my videos. This saves me an incredible amount of time and stress.
Hiring people to help with time-intensive tasks is going to be a theme for me in 2019.
This course is NOT going to be one of better revenue-generating courses. I can tell by how many people have NOT signed up to the email list relative to past courses.
That's disapointing, but totally OK. I like the content of this course a lot - this is a woefully neglected topic. Stack Overflow is often leading people astray.
Thanks to having help edit my videos, and already having infrastructure around selling and viewing the course, I'm not squandering too much opportunity cost in creating a course whose sales won't match my previous "larger" courses.
I've started building an application to help people automate their MySQL backups (and other stuff, eventually).
Why make an application around a course that's not my most popular? My thinking is that course popularity isn't necessarily an indicitation in who will pay a monthly subscription for a service. More importantly, I feel like I have some competitive advantages:
- I have an audience in the devops/server space
- I can integrate tightly with providers such as Forge (and others!) to make the experience really great
- I know there is a market for it, and its rough size, thanks to apps like Ottomatik - which was sold to someone non-technical and outside of the tech communities I (we) hang out in over the last year or so
- There are shortcomings in similar apps and open source tools which I feel like I can handle better
So, we'll see where that leads! The Long Slow Saas Ramp of Death is a real thing, so if I spend most of 2019 on this, I know my business revenue will drop like a rock. That might just be the risk I take this year. We'll see.
Has Opinions Podcast
My friend Dan and I started a "for-fun" podcast who's name, in typical techie fashion, is based purely on a domain I had lying around - hasopinions.wtf.
I love podcasts where the hosts shoot-the-shit and sprinkle in some interesting things about their business. That's the podcast I hope to make. It'll take time and practice to really find my voice and a focus for the pod.
I don't have grand plans for this in terms of business. I want to keep it fun. I don't have the time nor the inclination to make another thing feel stressful.
Not every aspect of your life needs to be monetized!
I started moving videos from Servers for Hackers onto a Youtube channel to see if they'd gain any traction.
Based on subscriptions and comments, I think this was a good move overall! I'll likely continue to add Servers for Hackers content onto Youtube.
This is another thing I'll be looking to hire out, as it's a bit of a tedious process. However it's one that can be systematized through documentation or programming.
Over the last 3-4 years, I've released about one large course a year.
Revenue has grown the most within the last 3 years. However, in 2018, it stayed steady with 2017 (it was just a tad lower than 2017).
What's that mean? I'm not sure! In one sense, it's a win, since it's so hard to find time to get any work done between the day job and having a kid. On another hand, there are people under similar constraints but making many multiples of anything I've ever made. That doesn't really mean anything, but as Rob Walling pointed out, entrepreneurs have a knack for turning any positive thing into a negative! I must be a great entrepreneur...
I do, of course, want to grow my revenue!
Continuing to grow my audience feels like the right way to grow that revenue number. This means producing more content - which is good, because it's something I like to do!
Finding time to put out a lot of free stuff, and make at least one more course in 2019 (after MySQL Backups) is a large part of my 2019 plans.
The backops.app app may interfere with that - we'll see!
How much did I make?
My side business has made more than my salary in 2017 and 2018.
Why don't I quit?
I would make way less money! Although I'm aware that this doesn't account for opportunity cost and the potential to make more if I capitalize on the "free time" found by not being employed.
In the last 3 years, my business has made "significant" money relative to my salary (the last 2 years made more than my salary, and the year before that, I made about 50% of my salary).
Because of this, my family is out of debt from student loans and vehicles, I was able to put 20% down on my mortgage (fuck off, PMI), I'm able to save for retirement, have an emergency fund, and basically follow the good advice from /r/personalfinance.
In theory I'm in a good position to go out on my own. However, I'm planning on keeping my job for the following reasons:
- I have a lot of flexibility right now, and any future job will likely have less. I'm very lucky to have found/been found by UserScape.
- I know a paycheck is coming, but also am finding time to make additional money. This alleviates a lot of "Founder Stress".
- Health care in the US is a disaster and is super unfriendly to small business. Striking out on your own is a LOT scarier thanks to the rising cost of health care and how bad the quality of the open market appears to be in terms of expense and coverage.
- "Real" work gives me an avenue to learn about topics I would never come across otherwise.
Here's what I plan on working on in 2019:
- Finishing the MySQL Backups course
- Creating a free Nginx course
- Creating a free server course that's a bit more start-to-finish-hosting-of-an-application
- Creating a paid Ansible course (probably? AWS is a strong contender, but would be a HUGE course)
- Working on backops.app
Competing with all of this is time spent in the day job, raising a kid, and potentially working on a SaaS app. - which is way more than just coding.
Numbers to Track
I haven't tracked any particular metrics over the last few years (I wish I did!). Here's a few things that I'm going to start to track, and hopefully back-fill where I can:
- Newsletter Subscribers
- Twitter Followers
- Youtube Subscribers
- Podcast Downloads (although the pod is really just for fun)
You can see they are geared towards audience growth, and not revenue. Revenue will hopefully follow, but I refuse to set a revenue goal.
Having a business of my own started by finding out I enjoyed helping people by digging through code and learning about servers. I want that focus to remain - in other words, I want to enjoy my work.
Things I Like
Here's some podcasts and resources I've really enjoyed in 2018.
- Justin Jackson has been putting out great articles and podcasts about his journey making his SaaS. The journey is hard and he's not afraid to say so.
- Art of Product podcast - Ben and Derrick's journey to build their apps has been super interesting to follow. They're great guys making interesting products.
- Tropical MBA Podcast - They've recovered from their momentary period of "rich founder problems" (which can be forgiven since they sold their business), and are now in full swing with really interesting episodes around being an entrepreneur.
- Bootstrapped FM - Yes, it's my boss (and Andrey!). But it's the perfect "shoot the shit" podcast. Make more episodes, guys.