One year of self-employment: a retro
November 9, 2021 • Reading time: 5 minutes
A year ago today, I left my last job to do a 3-month
batch at the Recurse
Center, followed by... something. I never really
articulated what that something was going to be, which was part of the point. I
wanted to take some time to discover what really motivated me as a person.
A big part of the "something" has turned out to be
initiative.sh, a project that I
launched recently and
continue to develop full-time.
I expect to be on that journey for the rest of my life, but a year on, I do have
a few thoughts to share. In honour of one tradition I don't miss, the sprint
retro, I'll structure my insights according to the good ol'
liked/lacked/learned/longed for format.
Liked
- Setting my own direction. It's a big change to be able to work on projects
that I actually care about, doing work that interests me. In response to my
grumbling about some tedious/complicated work that I was going to have to work
on, my wife asked why I was doing it. After some reflection, I told her that
it's because I wasn't coding for fun - the project was what I wanted to be
doing, even if each individual task was not.
- My velocity. It's a truism that one developer can do in one month what six
developers can do in six months. The release cadence I've been able to
maintain has been remarkable: 22 releases in the past month alone. And they
aren't all small changes, either: things like permissive parsing, creating and
editing things, and undo history have involved substantial work.
Lacked
- Hobbies. Okay, it's not exactly an original discovery that the fastest way
to kill enjoyment in a hobby is to do it for your job. But my experience has
been a bit different: I enjoy this work as much today as I did a year ago,
maybe more now that I've found my footing. However, by promoting the hobby of
tinkering on side projects to my full-time preoccupation, I ended up leaving a
void in my evenings and weekends. I'm still working on finding ways to fill
that time, but I'm making progress. I've done a lot of canoeing over the past
year and finished my first woodworking project this summer: a pair of
Adirondack chairs.
- Service. I've written a lot of code this year, but I don't feel like I've
done enough to support others. Some of this comes from not having users, some
from not having coworkers, but maybe those were both distractions from a real
lack that predates my self-employment.
Learned
- I'm in the right field. I could have done anything after leaving my job,
and I ended up getting up at the same time in the morning, sitting down at the
same desk, doing more or less the same work (albeit with more code and less
meetings), and working about the same hours as I had before. So either I'm
well and truly embedded in this rut, or this work really is my calling.
- This doesn't have to be forever. The notion of getting a "real job" again
one day doesn't frighten me. I was afraid that once I'd had a taste of
freedom, I wouldn't be able to go back. But really, while I would want to
choose an employer that is doing something I care about, the idea of reversing
course and re-entering the working world isn't that scary. It's even kind of
appealing, to once again work with others to build something bigger than I am.
Longed for
- Users. Until recently, I could count my user base on one hand, which
carried with it a lot of challenges. For one thing, it's hard to stay focused
on building something without the reward of seeing people use and enjoy it.
For another, it's hard to find the right direction for development without
users to offer feedback and suggestions. When I launched, there were two small
features that people asked for over and over: case-insensitivity and command
history. They were both already on my roadmap, but having so many people
asking for a thing made it much easier for me to prioritize my work.
- Colleagues. The Recurse Center community has been great for supporting me
technically, but I do miss working alongside other people. I miss teaching new
developers, and I miss whiteboarding out problems with developers of all
levels.
Action items
No retro would be complete without action items, right?
- Volunteer. As hinted at before, I'm going to start volunteering my time
with a non-tech-related charity on a regular basis.
- Open-source initiative.sh. Oof, this is a scary one. I started this
project in the hopes that it would one day generate a bit of passive income. I
don't know for sure if this is the right move, but ultimately I would rather
maximize the number of people using my work rather than the amount of money
I'm making from it. And I do miss collaborating with others.
- Start something new. I have plenty of other project ideas. Once
initiative.sh is in a stable place, I want to start dividing my time between
it and another project.