2019 has been a pretty interesting year. Here are some of the high points.
What went well in 2019
I didn’t flail around too much with product endeavors
My earnest attempts at building a successful product business started around 2008. In the time since then there have been a number of periods, some lasting many months, where I was completely without direction, just wildly flailing. These periods sucked because they were so obviously unproductive.
From February 2018 to now (December 2019), I’ve been pretty much steadily focused on the business I refer to as CodeWithJason.com. Obviously it’s good to stick with one thing for a long time, as long as it’s a good thing. I’ve definitely been guilty in the past of going around and laying foundation after foundation without sticking around to build the whole house. In this case I actually have stuck around long enough to build a good portion of the house.
I stuck with one client the whole year
In my career I’ve worked for a lot of different bosses and freelancing clients. A good portion of the people I’ve worked for and the teams I’ve worked with I frankly haven’t cared for that much, and haven’t worked for that long. (I’ve also worked for a number of startups that have had financial troubles, and so a number of relationships have ended that way.) Fortunately, in the late summer of 2018, I started a relationship with a client I like working with a lot, so much so that I expect he and I will work together for the indefinite future. (This relationship is what prompted me to quit freelancing.)
I got some good conference speaking gigs
Before the fall of 2018 I had never spoken at a conference at all. As of now I’ve spoken at 9 conferences, if I’m not mistaken. I’d say my biggest two speaking achievements of 2019 were speaking at RubyConf India, which was my first international conference talk, and RailsConf, which is of course the flagship Rails conference. I also really enjoyed speaking at RubyHACK in Salt Lake City and Southeast Ruby in Nashville.
My podcast endeavors went well
In May of 2018 I semi-experimentally started a podcast called The Ruby Testing Podcast. It was successful beyond my expectations. My guests included Michael Hartl and Kent Beck. To date I’ve gotten over 30,000 downloads.
Encouraged by my success with The Ruby Testing Podcast, and wanting to no longer be limited to the topic of testing, I decided to start a broader podcast called Rails with Jason. I’ve been happy with how it has turned out content-wise, for the most part, and I’ve had a number of big-name guests.
What didn’t go as well in 2019
The conferences were expensive
All the conferences I spoke at required some level of out-of-pocket expense.
When I first started seriously pursuing conference speaking around mid-2018 or so, my hope and expectation was that my conference talks would lead to lucrative consulting engagements (training gigs, specifically) that would give me a worthwhile return on my investment. Unfortunately those consulting leads never came in, or at least they haven’t yet. I can’t say these investments didn’t pay off, I can only say they haven’t yet, because it wouldn’t surprise me at all if I get a consulting lead 10 years from now from someone I met at a conference this year. I’ve found that the gestation time for consulting leads is often several years.
Anyway, the point is that I spent a bunch of money speaking at conferences and as of now I haven’t recouped my investment. So I’m probably going to take it easy on conferences in 2020. I plan to speak at perhaps one conference or maybe none.
CodeWithJason.com grew less than I expected
When I launched Rails Testing for Beginners in March, I did $988 in sales, which was the biggest launch in my limited career of doing product launches. Unfortunately things have only gone downward from there. Here’s a graph of year-to-date sales.
More concerning than the revenue numbers, my email list has only grown by a net of about 200 subscribers since March, or about 24 per month on average. That’s 288 new subscribers a year, which hardly seems like enough to sustain a viable business. I’m not ready to quit yet though. I think it’s reasonable to expect that audience growth can be somewhat exponential. Maybe in 2020 my email list will instead grow by 400 subscribers, and then 800 in 2021, and so on. We’ll see how things go. And of course, I intend to try to figure out how to deliberately make that number go up faster.
Other stuff that happened in 2019
In the later half of 2019 I had two great product ideas. One was a Rails CI tool with ridiculous parallelism built in that would allow you to run any test suite in under 10 seconds (I built a POC and it really worked!). Another was a tool that would make AWS + Rails deployment almost as easy as Heroku (which I also built a working POC for).
Unfortunately I discovered that each one of these two ideas would require a lot more time to get going than I really have available. Fortunately, I’m experienced enough now to bail early on doomed ideas instead of burning years of my life beating a dead horse.
Plans for 2020
Since I no longer consider myself a freelancer, and since I have a “day job” that I’m okay with keeping indefinitely, that makes that part of my 2020 plans easy. Unlike previous years, I won’t be spending time trying to get consulting clients or anything else on that side of things.
That leaves my product endeavors to focus on for 2020. Here are my plans in that area.
For CodeWithJason.com, I plan to improve and expand Rails Testing for Beginners, then re-launch it. In fact, I’ve already expanded RTFB from 99 pages to 189 pages by bringing in a bunch of the Rails testing blog posts I’ve written over the last several months. I’ve also begun radically redesigning and improving the sales page.
I also plan to try again with the AWS + Rails thing, but smaller this time. Building a whole software product to make AWS + Rails deployments easier is too time-consuming. So maybe I can do something smaller, like just write a blog post about how to deploy Rails to AWS. Then maybe I can build a tool or even just a set of scripts that makes parts of that deployment process easier.
I also decided to set a model financial goal for CodeWithJason.com. My 2019 revenue was about $2100 (which could conceivably still go up), so I’ll see if I can roughly double my revenue for 2020, and hit $5000.