5 Ways Developers Can Have Multiple Income Streams

A couple of weeks back I was having a discussion with a former colleague who was upset due to no job and was not having some luck to find some freelance gig either. Another developer also had similar situation and despite of knowing something he was not able to get work.

I have been working independently for 5 years. Prior to that I was engaged in typical 9-5 jobs. When you work solo, you should expect some tough time unless and until you have multiple revenue streams. What I learnt so far that developers are not good at selling themselves and they believe that they only way to earn money is..by coding which is not true. Here are a few things which I tried myself and worked and there’re few which I’d like to implement.

Repackage Existing Skills

The quickest way to earn money is to leverage existing skills in a form of a package or product and offer to others. If you are good at something like System Architecture, DB Design or even debugging, you can package it and offer it as Productized Consulting. If you made some tool or library during your employment to ease your work, just wrap it up and offer it to other developers.

Learn new Skills

Success is no accident. It is hard work, perseverance, learning, studying, sacrifice and most of all, love of what you are doing or learning to do. Pele.

No matter how old you are, what position you hold and how much money you make, you should always be in learning mode. In our field learning is very very important as things are rapidly changing. I am categorizing it in short and long-term skills

Short-term skills:  These are the skills you would like to acquire as soon as possible to earn quick bucks. Based on my experience and observations, I found that for front-end developer making WordPress themes is demanding and for back-end developers writing web scrapers is hot.

Long-term skills: These are the skills you would like to acquire by doing planning and research. It could be learning new programming language, learning new paradigm in existing technology or even learning something entirely different, for instance,  a programmer learns about SEO or online marketing. There’s no harm in it. Try to be a technology agnostic and never be afraid to adapt new things. I learnt Python after winning a freelance project. The project was porting a cold fusion based system in Python. I had never worked in Python before but I knew CFM. All I knew I’d do it, specially when documentation and forums are available. Nevertheless, I did well and earned a long contract in the same company.


Teaching is the best way to acquire new knowledge. You learn better when teaching to others because you need to prepare yourself to reply others questions. It is not necessary to be an expert in the subject you are going to teach, specially when you are making video tutorials.

Harrison Kinsley aka sentdex is quite familiar name in Python community. He has been making free Python videos for 4 years. Watch his video in which he explains about his journey.

Just because of his free video tutorials he was offered jobs in companies like Facebook and Apple. If you are camera shy, you can start from screencasts. You can make free video tutorials on Youtube and earn via Ads or use sites like Udemy or Skillshare which let you upload your online courses for others to buy.


I often say to my pals: Blog is the new resume. Gone are the days when you’d prepare a fancy resume with professional jargons and submit with hope you’d be hired. Sorry it does not happen anymore. Now employers or HR Managers try to take advantage of social media or Internet to learn different traits of a candidate. They want to know how good he is in certain skills and how effectively he can explain something. Being a technical person you might share your code as well on your blog. Google love blogs. When you discuss a certain topic, it would have certain keywords which people will google on Internet and eventually your site would come in result page. For instance, I wrote a post about writing Facebook Messenger bot. It ranks in top 10 for certain keywords like facebook chat bot php or facebook messenger bot php tutorial. My posts about scrapers also did reasonably well. I got a few gigs and contracts just because of my blog.

One thing I’d say here, don’t write for sake of earning, write for sake of writing because if you write with hope that your new post going to give you a few bucks, you will miserably fail. Write with intention of helping others or write because you just want to share what you feel. People will consider you an authority on the subject and they’d come to you one way or other.

Distribute your work free

This is a trait Pakistani professionals are usually not aware of. They want to keep their work to themselves rather than sharing with others. I am not asking you to release proprietary work on public forums. What all I am saying to do work that you want to show off to others. For developers Github and designers Dribbble  are popular platform to share your work. Often I was asked to show code. Now I could not share the work I did for previous companies or other clients. Sites like Github gives you opportunity to let your interviewer know about your work quality. Don’t come up with excuse of “I don’t have time”. You do have time for watching TV/movies and social media. Even if you allocate 2-3 hours/week then it’s enough to release many packages. You can always get ideas of writing code. Also, open source work gives you idea of working on new technologies.


There are many many ways developers can earn if they expand their horizon and embrace the change. Also, when you learn the things mentioned above you also learn many other indirect skills as well. When you blog you’d learn about SEO, Google Analytics and Webmasters tools. When you try to make videos, you learn about video editing tools and usage of it.

I hope this post will inspire you to take step right away. Do share your experience with me.

If you like this post then you should subscribe to my blog for future updates.

* indicates required


  • Chidubem Ezinne

    Hey Adnan,

    Thanks for the article. I’m a college student majoring in Comp Sci but I have quite of bit of experience and I would like to get started with freelancing, but I can never land a project on freelancer or Upwork…

    Do you have any tips?

    • Adnan

      Thanks for your feedback. AS I mentioned, you need to prepare your profile; either working for others or open source.