Author Archives: Jason

Entrepreneurship Journal, 10/12/2018

Last time I wrote I mentioned the following things:

  1. I sold 3 Rails testing workshop tickets for $50 each
  2. The Ruby Testing Podcast is doing well
  3. I was about to go do my first conference talk ever

Workshop

I haven’t opened sales back up since the initial launch. I’m doing another launch next week which will be the last launch before the course runs October 27-28.

I also decided to start offering free Rails testing workshops. My thought is that this can serve as a lead magnet and lead people into the paid workshop offerings.

Podcast

Yesterday The Ruby Testing Podcast got featured in Ruby Weekly 420. This resulted in the download spike you see below:

I’m at about 4500 downloads total.

Conferences

About three weeks ago I gave my first conference talk ever at DevOps MidWest in St. Louis. Then, last week, I went to Little Rock and gave my second conference talk ever at Little Rock Tech Fest. Little Rock Tech Fest was a lot bigger.

These speaking experiences were both positive. They gave me the confidence to apply to speak at more conferences.

Consulting

I’m continuing to work for the client who found me on awsrails.com. It looks like I’ll be doing this for at least the next few months as my main gig. This arrangement allows me much more time to work on CodeWithJason.com than my prior contract did.

The Freelancer-Consultant Spectrum

In the freelance programming world you’ll often hear terms like “freelancer”, “contractor”, “consultant” and even “freelance consultant”. I’d like to help put some clarity around a) what these terms mean to different people and b) what the real work is that most freelance programmers are doing.

First let me say that there’s basically no consensus as to what “freelancer” or “consultant” mean. People have abused these terms (especially “consultant”) to the point where they have no real meaning.

I want to share my personal definitions of these terms. I consider a freelancer and a consultant to exist at opposite ends of a Freelancer-Consultant Spectrum, or more precisely what I’d call an Employee-Consultant Spectrum.

I don’t necessarily see any particular self-employed programmer as being either a freelancer or consultant. There exists a large gray area in between the two.

At one end of the spectrum you have an employee: order-taker, implementer. At the other end you have a consultant: trusted expert. Probably about 95% programmers who call themselves “consultants” are really just contractors.

A contractor has much in common with an employee:

  • Work at client’s office
  • Attend client’s meetings
  • Work right alongside client’s other programmers
  • Seen as basically interchangeable with W2 employees
  • Get paid about the same as client’s employees (but hourly 1099 instead of W2 salary)

I see Freelancer/Contractor as being just one small notch from Employee. Here’s how I’d compare Employee, Freelancer/Contractor with Consultant.

Employee Freelancer/Contractor Consultant
Status Implementer/order-taker/peon Implementer/order-taker/peon Trusted expert
Perceived value provided Bandwidth (more features/bugs addressed) Bandwidth (more features/bugs addressed) Counsel (save/make money for business)
Pay Market rate Market rate Proportionate to value delivered
Labor intensity Large quantity of difficult work Large quantity of difficult work Small quantity of easy work
Presence Onsite or remote, ~40 hours Onsite or remote, ~40 hours Infinitely flexible

Notice how the Employee and Freelancer/Contractor columns match 1:1. That’s because a contractor is, for all intents and purposes, an employee. And when you hear all these stories about freelance programmers and imagine their kick-ass lifestyle, 95% of these people are really just glorified employees.

There are of course exceptions. Not all contractors are seen as peons. At the same time, not all employees are seen as peons, either.

I mention all this because when I first started freelancing I had some vague idea of what freelancing was like for other programmers and what freelancing would be like for me. Slowly, over the years, it was revealed to me that almost nobody has a great lifestyle as a freelancer. The people who really have it figured out are few and far between.

The way to move away from the Employee end of the spectrum toward the Consultant end of the spectrum is very difficult, especially for programmers (as opposed to e.g. marketers). The successful model I’ve seen is when a programmer becomes known as an expert in one narrow area of technology. Here are some examples:

As far as I understand, these guys make my by selling services other than programming. Instead, they transfer know-how from their brains to yours. The way they get clients is that they have books, courses, podcasts, blog posts, etc. that attract prospective clients to them. They don’t troll craigslist for contract job postings.

I don’t have all this stuff figured out yet but I wanted to help share step zero of getting from freelancer to consultant: realizing that most programmer consultants really aren’t, and knowing what the very few who became successful consultants are and what they did.

Entrepreneurship Journal, 9/14/2018

Last time I wrote I described the failed launch of a Ruby testing course I had created. I launched the course to 271 subscribers. When the dust settled I had made exactly one sale for $49. One sale out of 271 subscribers is a 0.37% conversion rate. Not great.

I had said in my last email that I was going to regroup and maybe try launching another product when I had about 500 subscribers. I only have a little over 300 subscribers but I did in fact launch something else. It went a little better this time.

Some time ago, maybe a couple weeks ago, I put up a sales page for a 2-day online Rails testing workshop. I didn’t make it available for sale. I just put a link to get on the waitlist. Six people signed up for the waitlist.

Yesterday, kind of on a whim, I replaced the waitlist link with an actual purchase link and emailed my list, letting them know tickets were available at $50 apiece. Two people bought pretty much immediately and then one other person bought not long after. I’m much happier with this launch than the last one. Three people out of 308 bought, for about a 1% conversion rate. A 1% conversion rate isn’t terrible, especially considering that I didn’t put a whole bunch of time and effort into trying to make this launch really effective.

My plans as of now are:

  1. Have a call with all three Ruby Testing Workshop buyers to understand exactly what their situation is and what kind of help they need
  2. Design the workshop to specifically address the needs of the buyers
  3. Get testimonials from the buyers, maybe even video testimonials
  4. Based on what I learned from this workshop, make my workshop sales page much crisper (my sales page is currently pretty vague because I’m honestly not super sure yet exactly what people want to learn)
  5. Relaunch the improved workshop

I figure if I tailor this workshop to precisely match what these 3 buyers want, there will be more buyers like them. I kind of believe in the idea of finding my “super fans” and then dialing in everything to specifically address them.

I also want to mention that The Ruby Testing Podcast is doing great. Check out the stats.

As of today, September 14th, there have been 827 downloads this month. Based on that I can expect about 1800 downloads by the end of the month for September, about twice what August was. I’m really blown away by the growth. I haven’t been doing anything special to promote the podcast.

I thought it would be a little challenging to get guests but not only has almost every guest I’ve asked said yes, but four people have reached out to me and asked to be a guest. I would actually prefer to spend less time on the podcast and more time writing articles but good guest opportunities keep popping out of the woodwork.

My plan as of now is to stop scheduling new guests so I can spend more time on writing. In my experience so far, writing is what gets subscribers.

In other news I’m speaking at a conference next week, DevOps Midwest in St. Louis. This will be my first conference talk ever. Three weeks later I’m giving my second conference talk ever at Little Rock Tech Fest in Little Rock, AR.

Another interesting thing: a week or so ago somebody found awsrails.com, a site I had put up about a year ago. This was a little after I had decided not to do AngularOnRails.com anymore. I thought maybe AWS + Rails would be my new focus. That exploration didn’t last long. But almost a year later (like 4 days before I was going to let awsrails.com expire and fade into the mists of time forever) somebody found it, contacted me, and asked me to do a project for him. I had to charge a lot in order for it to be worth it to me, but he was okay with that, and now he’s a client. It’s been a good experience so far. Things go so much better when clients find me than when I try to go after them.

Entrepreneurship Journal, 8/16/2018

A lot has happened since my last update on July 2nd. It’s hard to believe it’s only been about a month and a half since then.

I said in my last post that I would launch my Intro to Ruby Testing course on July 23rd. I did in fact do that.

My launch window was 5 days. On the first day I made exactly one sale. Later that day (IIRC) the guy came back and said that he actually didn’t learn anything in the course. I believed him. He was way too advanced for the course. I gave him a refund.

Then the next day or day after, somebody else bought the course. This guy actually seemed to get something out of it. But no more sales after that.

So after all this I made a grand total of $49 in sales. It was pretty disappointing.

But not everything is going badly. Here’s my “new subscriber” report:

I took a break from writing blog posts and stuff for a while, apparently from like April to June. But then in late June I started again and you can see the positive impact on subscribers. I haven’t kept up the blogging for certain reasons but I plan to pick it back up soon.

My total number of subscribers right now is 289. As of my last post on July 2nd it looks like I had 250. I’m pretty happy with that growth rate. It will be nice to get to 300. I think I can do better though.

I’ve been continuing to record The Ruby Testing Podcast. I’ve been able to get some pretty big names on the show. I’m really happy with the way the podcast is going so far.

I have 868 total downloads for the podcast so far. It will be cool to get to 1000.

I’m giving my first-ever conference talk in about a month. The conference is DevOps Midwest in St. Louis, Missouri. You can see my name on the speakers list. That should be pretty cool. I also gave a talk last week at the Chicago Ruby meetup.

Today I canceled my Teachable subscription, which was the platform my Intro to Ruby Testing course was on, and refunded my one sale that hadn’t already been refunded. I’m not sure exactly what I’ll do next. Putting together a course honestly felt pretty unnatural to me. Maybe I’ll do another book this time instead.

Things have been pretty crazy at the “day job”. I don’t really feel like talking about it that much right now but I’ve been learning a lot and expanding professionally.

I believe my focus with CodeWithJason.com for the next few months will to be to grow my subscriber list and build a more cohesive body of work. Maybe once I reach around 500 subscribers I’ll try launching another product.

Entrepreneurship Journal, 7/2/2018

Last time I wrote I said that I was planning to create a tiny, inexpensive Ruby testing course and then launch it to my relatively small subscriber list. Since that time I did in fact start building a course. I actually got maybe about 90% of the way done. But then I decided my course was dumb and confusing so I started over. Now I’m at about the 90% mark with the new version of the course.

I got far enough with the new version of the course that I felt comfortable committing to a launch date. The date I picked is Monday, July 23rd, 2018.

My plans between now and July 23rd are:

  • Finish the course material
  • Finish the course’s sales page (already 95% done)
  • Write several ebombs so I can provide free value before I ask subscribers to buy something
  • Put together an email launch sequence

My plan is that the launch sequence will consist of at least 5 emails, most of which will contain an ebomb or link to an ebomb. The first of the 5 emails will go out on Monday, July 23rd, notifying subscribers that the course is now available for purchase and will be through Friday night. The last email will go out that Friday, letting subscribers know that the course will no longer be available after Friday night. The emails in between will mostly just contain ebombs.

In other news, I finally made it to the round number of 250 subscribers. Here’s what my subscriber graph looks like:

As is labeled in the graph, the big spike is from when I got featured in Ruby Weekly. You can see that my flow of new subscribers really slowed down in mid spring. Part of the reason for the slowdown was that I got sidetracked by other, more pressing work during that period. Another part of the reason is that I chose to stop focusing on ebombs in favor of creating the course material. I also spent a non-trivial amount of time getting my podcast up and running.

The main thing I care about at this point is selling more than $0 worth of the course on my July 23-27 launch. After that we’ll see what happens. If my sales are abysmal, that probably means something is wrong with my offer or the way I did the launch, and I need to address that. If sales are fine, then the logical next step would be to go get more subscribers and then launch again.

Entrepreneurship Journal, 6/13/2018

This is the longest I’ve gone without posting an Entrepreneurship Journal entry in a while. The last one was almost three months ago.

I’m happy to report that I’ve continued to stick with the same focus, Ruby testing, and I still feel good about it.

As I mentioned in my last post, I finally enrolled in 30×500. It was 30×500 that helped me arrive at my focus of Ruby testing.

At one point I think I asked Amy and Alex in 30×500 how many subscribers I should have before launching my first product. I think had around 225 subscribers at the time. I was wondering whether I should work on getting more subscribers or if I should launch a product to my existing subscribers. The answer I got was that a list my size is big enough to launch a product to. The advice was to launch a tiny product.

So that’s what I’ve been working on. For the last couple weeks I’ve been working on an “Intro to Ruby” course. My intention is for the course to be tiny in scope and for the price to be relatively low.

Also since last time I wrote, I started a podcast called The Ruby Testing Podcast. According to the stats I’ve gotten 131 downloads so far. Seems good, I guess. So far I’ve interviewed two guests. I have one more interview scheduled for July. I’m holding off on scheduling anything more right now because I’m teaching a class through mid-July.

My near-term plans are to finish the course as quickly as possible and then launch it. After that I plan to work on getting more subscribers, improve the course, and sell the course for a higher price. I plan to pretty much repeat that process indefinitely.

Unlimited Memory

I just finished reading Unlimited Memory by Kevin Horsley. I have a hunch it might turn out to be one of the more useful books I’ve ever read. To be more precise, I read most of Unlimited Memory. Some time ago I let go of the idea that I need to read every book word-for-word.

Some years ago I read Moonwalking with Einstein by Joshua Foer. I was inspired to read Moonwalking partly because I’m super absent-minded and I want to not be so absent-minded anymore. For example, one time I drove two and a half hours to Detroit for a work thing and forgot my laptop, so I just had to immediately drive back. Another time I accidentally left my car running overnight.

I found Moonwalking to be somewhat useful although the book format was my least favorite format of book. It was what I call a “journalisty” book. Some books, like The Better Angels of Our Nature by Steven Pinker, are super thick and packed with a huge amount of data (data as opposed to anecdotes). Journalisty books tend to be short and contain anecdotes instead of data – and often specious conclusions. Other books of this format, that a bunch of people love but I don’t, include The Power of Habit and So Good They Can’t Ignore You.

Anyway, my memory from Moonwalking is that I learned from it the memory palace technique. I found that technique pretty useful. I actually haven’t put it to use a whole bunch since because, ironically, I forgot about it.

I also learned from Moonwalking that time passes by more quickly when each day is similar and more slowly when each day is different. I think there was some guy who spent a long time on an isolated island or something and he way underestimated how long he had been there because the days just blended together. This made me think about what a person’s life would seem like if they spent their whole life at the same job in the same town. Life would probably seem like a brief blur.

I found Unlimited Memory to be a better and more useful book than MoonwalkingUnlimited Memory was stylistically kind of amateurish but the content was sufficiently useful that I didn’t care about the style.

Unlimited Memory talked about the memory palace technique and also talked about using things like your car and your body in addition to the insides of buildings. I thought this made sense. I plan to make use of this idea.

The main thing the book discussed that I’m currently interested in is how to memorize numbers. The technique this book suggested was to turn numbers into words. Each number can be represented by a sound, like this:

1: T or D
2: N
3: M
4: R
5: L

…and so on. Vowels are “wildcards”. So the number 43 could be represented as “rum” – R for the 4, M for the 3, and U, which is just a filler. I could have used “rim” or “ram” for 43.

I’m currently using this technique to try to remember all the presidents. I have a quasi-autistic obsession with the presidents. So far I’ve read biographies of George Washington, John Adams, Thomas Jefferson, Abraham Lincoln and Theodore Roosevelt. At one point I thought I would read biographies of all the presidents but later I decided that wouldn’t be the greatest use of time. I’ll just read about the most interesting ones. I just tested myself and I was able to remember the first 12 presidents. The cool thing about the number memory system is that it allows random access. So if you ask me who the 8th president was, I could say Martin Van Buren. Later I expect to use this system to memorize not just the presidents but information of a more practical nature.

Entrepreneurship Journal, 3/22/2018

So I’ve changed my focus for the thousandth time. I’m now exploring the idea of teaching Rails testing.

Let’s review what I’ve explored since roughly this time last year:

  • Angular + Rails
  • Landing page breakdowns
  • AWS + Rails
  • Shopify email marketing
  • Job search skills for programmers
  • Rails testing

Of all the things I’ve tried since ditching Angular/Rails, the job search thing was the most successful. I was able to get about 100 of my Angular/Rails email subscribers to follow me to that topic. I also wrote an ebook on the topic and sold more than zero copies. (I sold four more than zero copies, to be exact.) So why did I decide to move on?

In January I enrolled in 30×500 which was something I had wanted to do for a long time. My approach for going into 30×500 was to be totally neutral and not bring the baggage of any previous ideas or endeavors I’ve had. If going through 30×500 led to the job search focus still making sense, then great. If going through it led to working on something else, great. The important thing is that I come out with something that works.

A big part of the 30×500 process is research. You go to places where people talk about the thing you teach (“watering holes”) and find out what their pains are in order to alleviate their pains.

I decided to do my research at /r/rails, at least for starters, to see what I could turn up. I ended up uncovering a certain amount of pain around TDD/testing, which is something I have a lot of experience with. I’ve been doing Rails testing since 2011. Many of the questions I saw were things I could answer.

I started writing blog posts (“ebombs” in 30×500 language) about Ruby/Rails testing. To my delight and surprise one of my posts ended up getting featured in Ruby Weekly. Then I decided to email my list of 2,353 Angular + Rails and job search subscribers and basically say, “Hey, I’m only going to write about testing from now on. If you want to keep hearing from me, click this link. Otherwise you’ll be unsubscribed.” So far 154 people clicked the link. Combined with the 43 people who opted into my “Ruby testing micro-course”, that makes a total of 197 subscribers.

(Side note: I just remembered that I kicked off my Angular on Rails product sales with only about 300 subscribers.)

Here’s where I’m imagining going with the Rails testing specialty. I’m imagining that to make money from this I can do two things: 1) sell online Rails testing courses and 2) sell live, in-person Rails testing classes. These are arguably roughly the same service, just delivered two different ways.

I discovered not long ago, through a Twitter conversation with Wes Bos, that it’s apparently a common pattern for someone to buy a course and then request custom in-person training services. This was a real eye-opener for me. It means that, presumably, all the work it would take to market and sell a packaged Rails testing course would be along the same exact path that it would take to market and sell onsite Rails testing courses.

I’ve also recently realized that it would probably be a really good idea for me to speak at conferences. So I started applying to a whole bunch of conferences to talk about Rails testing. I even got a talk accepted but the dates ended up not working out.

My plans as of right now are to keep putting out educational material around Rails testing and to keep going through the 30×500 course and keep following its advice. I can’t emphasize enough how helpful it has been to be part of 30×500. It’s so nice to follow a path as opposed to try to blaze my own trail which I’m demonstrably not very good at.

Unlike some previous ventures I have no goal of getting to my first dollar of revenue as quickly as possible. I want to focus more on building something that’s genuinely good and helpful. I want to focus more on doing things right than doing things super fast.

Entrepreneurship Journal, 2/1/2018

In 2016 I started selling an ebook about how to use Angular and Rails together. Between June 2016 and December 2017 I sold about $8K worth of the book and related video package. I sold (and still sell) these products at AngularOnRails.com.

In July 2017 I decided to put AngularOnRails.com on the back burner for various reasons. I then proceeded to flail around wildly for a while. I tried several new business ideas, all of which I ended up deciding I didn’t like.

I eventually basically said, “Okay, fuck it. I give up. I’ll just go back to the thing that was working—AngularOnRails.com—even though I’m maybe not super crazy about it anymore. It will be easier to grow this existing success than to try to make a new one.”

So I went back to AngularOnRails.com and tried to think of how I could grow its revenue. At that time revenue was at a couple hundred bucks a month (although it varied quite a bit from month to month). The two products I had for sale were a $49 ebook, a $99 video package and a $249 “corporate” package which no one had ever bought.

I figured the easiest way to grow revenue would probably be to add a higher-tier product (~$500) that people would actually buy.

I had gotten the impression that most people who were learning Angular + Rails were doing so because they wanted to get a job. So I sent an email to my list. The answer was an overwhelming yes. Over 50 people responded (out of a list of a little over 2000) saying yes, they were in it for a job.

So I thought maybe I could add some sort of “get a job” course as a higher-tier item in my product ladder. But then I realized there’s nothing specific to Angular + Rails about getting a job. So rather than add an item to my product ladder I decided to create a whole new product ladder.

I decided to call the new site Six Figure Coding, drawing some inspiration from Million Dollar Consulting. I emailed my AngularOnRails.com list. Over 100 people signed up for the SixFigureCoding.com email list within the first two days. The intention was to make the site all about how to get a higher-paying programming job (or how to get your first programming job).

Then, later, I decided I didn’t like the name Six Figure Coding. I renamed it to Code with Jason.

Then I realized that if I wanted an instant traffic injection for Code with Jason, I could just move some of my best-performing blog posts from AngularOnRails.com to CodeWithJason.com. That’s what I did and it worked.

Then, slowly, it dawned on me: I don’t have to completely abandon the audience I’ve built up at AngularOnRails.com. I can just retroactively decide that I’m just renaming AngularOnRails.com to CodeWithJason.com. I can still offer the same products, which are still selling, and I can still use the same lead magnets, which are still working. My email list can continue to grow as always.

But the advantage to the new domain name is that now I’m no longer limited to just talking about Angular + Rails. I can do a course that’s just Angular if I want. I don’t think the job search idea was a bad one but now I’m no longer sure that I want that to be the primary focus.

So my plans for the near future are:

  1. Launch my job search book, which I already have 95% done
  2. Move all the products at AngularOnRails.com over to CodeWithJason.com
  3. Move all the lead magnets at AngularOnRails.com over to CodeWithJason.com
  4. Start experimenting with an Angular-only product

I don’t imagine creating a product called “Learn Angular” or something like that. It will almost certainly be something more specific like Angular testing or observables or something like that.

Entrepreneurship Journal, 1/18/2017

Some interesting things have happened since my last update.

I renamed Six Figure Coding to Code with Jason. Something always rubbed me the wrong way about Six Figure Coding, like I was bragging about how much money I make or something. Plus I discovered that my readers aren’t mainly focused on making more money. They’re mainly focused on getting a more enjoyable/fulfilling job. I also like the name Code with Jason because it can be used for almost anything I want.

I realized that since I’m not concerned with keeping Angular on Rails alive as a business anymore, I’m free to move content from AngularOnRails.com to CodeWithJason.com for an instant traffic injection. So I did. I moved over my top 7 posts from AngularOnRails.com which account for about 2300 visits a month.

After I moved these posts I realized that if I want more traffic I can just write more about Angular + Rails. I can even move Angular for Rails Developers over to CodeWithJason.com and continue to sell it there.

I changed the name of my upcoming ebook from Six Figure Coding: The Book to The Job Search Manual for Developers.

I appeared on a podcast called Developer on Fire. Unfortunately I did this just before I changed the name from Six Figure Coding to Code with Jason. Oh well.

I plan to go on more podcasts after I finish and release the book. The planned release date for the book is still February 6th, 2018.

I’ve been working on the book pretty consistently. I got it to the length I want. Now I’m going through and editing it. Turns out I’m really not happy with most of what I wrote. So I’m rewriting a lot as I go. I suppose that’s kind of how it works.

Next steps are to finish the book, get a cover designed for the book, rewrite the sales page for the book, then launch the book, then go on a podcast tour.