Source: unsplash.com

My 3 revenue streams as a developer

An honest return of experience on how I generated income as a web developer without working as a freelancer.

Tech - RubyCademy
5 min readOct 12, 2020

--

CHILL AS HARD AS YOU HUSTLE...

— Master Yoda

In 2017, I started to be bored with only generating revenues through freelance work. So I decided to try as hard as possible to generate $10 000/month without freelance work and with a minimum of time spent on this task. I’m a good Ruby on Rails developer with a real passion for knowledge sharing. So my strategy was to articulate the different revenue streams around my specificities. I thought about 3 possible revenue streams:

  • tech blogging
  • creating an e-learning platform
  • creating ebooks

I achieved my financial goal in 18 months of dedication. So here, I’ll share with you this journey as a solopreneur.

At the end, I’ll share with you an overview of how I manage my time to handle these 3 revenue streams.

Generating revenues as a blogger

As a Ruby developer, I quickly decided to dedicate my blog to the Ruby programming language. Also, I decided to use Medium to host my blog. Indeed, I liked the idea of being part of the Medium Partner Program. I also liked the concept of publications. So, after creating my account I had to choose a publication name. After a while, I decided to use rubycademy. It was related to both Ruby and the notion of teaching.

After setting up my publication, it took me a couple of days to finish my first blog post. I was so apprehensive to release it that it took me almost a week to do so. Three days after the release, I barely passed 100 views... At this time, I wanted my fellow developers to criticize (or troll) my post. This would mean that they’d care about it. But nothing happened. This made me understand that my writing skills weren’t enough sharp to make people curious about my blog.

At that time, I only had 2 choices: Go hard or go home. So I decided to write and release non-stop until the thirtieth article. It took me 50 days to achieve this milestone. This level of commitment paid off as at the end of these 50 days I found my writing style, I had a good amount of articles about various topics and I started to grow a significant audience that liked and shared my blog posts. A month later, I received my first opportunity to generate income from my blog. Ok, not exactly from my blog...

One day, I received an email that asked me if I was willing to write a post for the blog of a startup that used Ruby on Rails as a web framework for their application. I obviously said YES. A week later I sent my first invoice and had been remunerated a couple hundred bucks for this task. It was the first time that I earned money in another way than coding for a given company.

Two months later (and after generating ~$3000 with my paid blog posts), my publication was generating an estimated 30 000 views per month. That’s when I decided to redirect this targeted audience (people with a strong interest in Ruby and Ruby on Rails) to my e-learning platform. First, I built a landing page with the possibility to let an email for beta testing the platform once released. A week later I had 1000 emails from people interested to test my product. And so, without any paid ads and by generating income through my blog... So in 5 months, I created a successful blog and I had a targeted audience interested in learning more about Ruby.

Rubycademy.com

As I had a significant mailing list, I decided to take the time to build a nice product in a reasonable time: 50 days. I planned to release the platform with 30 screencasts and a promise to add multiple screencasts on a weekly basis. Some of the screencasts could only be available through a monthly subscription of $7.

As an experienced web developer, it took me 2 weeks to develop the platform and I dedicated my weekends to record screencasts. I was able to record 5 screencasts per weekend for 50 days. There were 32 screencasts for the launching of the platform. After a few months — while I enhanced my communication skills and upgraded my recording studio —RubyCademy.com was counting about 900 subscribers. I won’t share with you the actual numbers but it keeps growing month after month.

Fun Facts about Ruby

Recently, I decided to grow my Social Network audience. So I launched the “Fun Facts about Ruby” series. This series is composed of cards that contain cool tricks and notions about the Ruby programming language. This format is ideal for sharing on Reddit, Twitter, Facebook, etc... After releasing a few cards on social networks, the visits to my blog and my platform increased significantly. This meant that this format really interested my audience. So I decided to create Fun Facts about Ruby — volume 1. This volume contains 30 cards. I gave the possibility to preorder the eBook. I’ve already got ~400 preorders at $4 each. My goal is now to release a new volume per trimester.

Ok, now that I shared with you my 3 revenue streams, let’s talk about how I manage my time on a daily basis.

Time management

Firstly, I work 4 days a week from 9 am to 5 pm. To do so, I split my day into 14 slots of 30 minutes — from 9 am to 12 pm and 1 pm to 5 pm. The first morning and afternoon slots are dedicated to social networks and emails.

The last one in the afternoon is dedicated to preparing the work for the next day. In the other slots, I code, record or write a blog post. After 5 pm, my time is allocated to my activities and my family.

The fact of splitting my day into multiple slots of 30 minutes forces me to achieve something at the end of a slot:

  • resolving a bug
  • coding a subtask of a new feature
  • writing the scenario of my next screencast
  • writing a section of my next blog post
  • reviewing my current blogpost
  • etc…

Having this level of granularity is very comfortable as a solopreneur. Indeed, I only invest my time in small tasks that produce a great ROI at the end of the week.

Voilà!

--

--