Image for post
Image for post

My 3 revenue streams as a developer

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

Mehdi Farsi
Oct 12 · 5 min read


— Master Yoda

In 2017, I started to be bored to 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:

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 blogpost. 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 the 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 blogposts. A month later, I received my first opportunity to generate incomes 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 web framework for their application. I obviously said YES. A week later I sent my first invoice and had been remunerated a couple hundreds bucks for this task. It was the first time that I earned money in other way than coding for a given company.

Two months later (and after generating ~$3000 with my paid blogposts), my publication was generating an estimated 30 000 views per months. 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 of people interested to test my product. And so, without any paid ads and by generating incomes through my blog.. So in 5 months I created a successful blog and I had a targeted audience interested in learning more about Ruby.

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 weekend to screencasts recording. I was able to record 5 screencasts per weekend during 50 days. There was 32 screencasts for the launching of the platform. After few months — while I enhanced my communication skills and upgraded my recording studio — was counting about 900 subscribers. I won’t share with you the actual numbers but it keep 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 few cards on social networks, the visits on 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 9am to 5pm. To do so, I split my day in 14 slots of 30 minutes — from 9am to 12pm and 1pm to 5pm. The firsts morning and afternoon slots are dedicated to social networks and emails.

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

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

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.

Thank you for taking the time to read this blogpost.


The Developer’s Journey

Thoughts about the life of a developer.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store