DEV Community

Cover image for Open Source Made Me $10K Working Part-Time for 30 Days
Jacob Herrington (he/him)
Jacob Herrington (he/him)

Posted on • Updated on

Open Source Made Me $10K Working Part-Time for 30 Days

Cover Image: Eyeglasses in Front of Laptop Computer by Christina Morillo
I give a lot of career advice. I mentor interns, juniors, and random people on the internet, usually drawing on my own experience or the stories shared on devpath.fm.

This particular set of advice comes from my own experience, I don't advise that everyone takes the same path I did (because it wasn't sustainable), but I do currently have evidence that I could spin up a quarter-to-half million-dollar consulting business if I felt inclined, which is pretty nice to know.

The story starts back in June of 2018 with a Pull Request on GitHub that changed a few lines of markup:

A screenshot of a GitHub Pull Request

@jacobeubanks and I made this Pull Request to Solidus.

It was modest, but for us, it felt like an achievement. We were both pretty new to Open Source, and neither of us had really contributed to a project that was actively being used like Solidus.

Getting that PR merged really struck a chord with me, so I started looking for other ways to help out around the project (which is hard on a 10-year-old codebase).

Before long, I had a handful of commits mostly around documentation and small UI bugs. I'd also gotten involved in the project's Slack channel and asked the maintainers how I could be most helpful.

I had some great opportunities to get involved because I was invited to weigh-in on the Solidus Stakeholders committee and also attended a community conference in Memphis.

Between the direction offered to me by one of the project's Core Team members, Alberto Vena, and the bugs I found on my own, I was able to get my name fairly well-known within the small community.

One thing leads to another and eventually, Alberto extends an invitation to the Solidus Core Team.

As an aside, here is my advice for contributing to an Open Source project when you're afraid of rejection or unsure of your own ability to contribute:

Do boring tasks. They have to be done, and no one rejects a pull request that fixes tests, documentation, UI bugs or improves CI configuration.

This allowed me to contribute even more. I could review PRs, troubleshoot and sort issues, share my thoughts more effectively in the community, and merge new improvements.

I would say, this was a six to eight-month time investment. But the experience alone was worth that investment. I benefitted by learning more about Rails, making new friends and connections, and building a small Open Source portfolio.

Fast-forward to June 2019. I receive an unsolicited DM from a founder working with Solidus:

Chat interaction with some details redacted

With zero outbound marketing, I was able to sign a client that would pay me over $10,000 USD a month for less than 20 hours a week chiefly because I was on the Core Team of the project.

This kind of exposure is incredibly valuable. I'll be the first to tell you, I'm not the most experienced or qualified developer in the Solidus community (that'd be those other people I recommended), but this founder saw my name on Solidus.io, so they reached out to me.

Here is some advice for reproducing this kind of thing:

1. Contribute to Open Source

Besides being great for your technical skills, your people skills, and the developer community, it's also great for building your professional network and brand. Being an Open Source contributor on a handful of projects is a no-brainer.

2. Be vocal and useful

Put your name on things you care about (like I did with Solidus). Look for opportunities to help others, it is the right thing to do for the developer community and it also helps you expand your professional network. This is super-duper important.

3. Find projects with a direct correlation to paid work

This is a really good idea if you're looking to turn Open Source expertise into a paycheck. With Solidus, this is obvious; people use Solidus to build businesses. There are business connections for many, many Open Source projects, especially if you want to go the consulting route. Contributing to literally any framework or infrastructure tool is highly marketable to the people building businesses with those tools.

4. Be open to opportunities

I literally never ignore an email, DM, or phone call. Yes, I see a lot of annoying spam, but I also see stuff like this because people know I am someone to reach out to when you have questions. There are varying degrees of this, what I do is not sustainable after a certain critical mass, so find a system that works for you. Just be sure you're not making it difficult to get in touch with you.

5. Find a healthy balance

I chose to spin this work down after one month because I was doing this consulting while also helping to build a startup. It was not sustainable in any way, so I stepped away from an opportunity. You cannot be available for these kinds of opportunities if you aren't balancing your workload.

Regardless of whether or not you can emulate my path or if you have the same amount of privilege or luck that has put me in the position to capitalize on opportunities like this, there is one piece of advice in this article that I will swear by until I die:

Be useful on the internet.

I'm pretty sure Ben Orenstein told me this when we were recording for my podcast (still working on that episode), but it rings true and encompasses all 5 of the tips I just gave.

Ideally, this gives you some insight into how Open Source work can turn into a job offer or a business.

I'd love to hear about other experiences with this same kind of thing or advice for getting into Open Source in the comments 👇

Top comments (54)

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

The way I broke into the web-dev industry was contributing two full weeks to an open-source codebase called Teambox and then I became their CTO overnight. I've never held less than a CTO position since.

Open source is the egalitarian's dream for career progression.

I contribute to Dev.to codebase and the AWS Docs when I can.

I have to begrudgingly contribute to a few ruby gems since all the 10x ruby developers sailed out to Valinor, the Undying Lands, across the sea to the west.

I just had a wonderful Zoom call with Ben, Jess and Nick tackling a big old and ugly ticket.

github.com/thepracticaldev/dev.to/...

If you ever want to show you have good team skills, Open Source a strong qualifier.

Collapse
 
patmuch profile image
patrick karanja

"Be useful on the internet" - this is a powerful advice and i will endeavor to live by it.

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

In my experience, it makes you feel good and it also tends to result in great opportunities; it's a win-win.

Collapse
 
christinepinto profile image
Christine Pinto

Hi Jacob,
that's a great article. Thanks for creating and giving such amazing tips for contributing to open source projects. Looking forward to reading more and also to contribute more to open source projects.

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

Hey! Thanks for reading Christine. 🤠 Hopefully, this is useful to you in some way. I think if I had this information earlier, I would have started working on Open Source earlier in my career.

Collapse
 
briandesousa1 profile image
Brian De Sousa

First off, great story. Inspirational and some great suggestions on how to get involved in open source for those who haven't, like myself!

I have a similar (but not as cool story). I've been been running a personal blog for a few years but I'm not a frequent writer by any means. I take pride in posting quality content about topics that I have expertise on and ensure my articles are very thorough. For me, it was just a fun past-time and opportunity to share my knowledge with the larger developer community, until one day when a content manager from Logrocket.com found me. Although I didn't have a ton of blog posts in my portofolio, I believe what I had caught his eye because of quality. Since then I have been writing for the LogRocket blog and getting paid to do so. It's been a blast so far!

Collapse
 
yuanhao profile image
YuanHao Chiang

Hey Jacob, I always thought about doing small contributions to open source projects and have done them, but I always felt it was insignificant -- although the authors were always very happy to see me contributing! I should keep doing it :) amazing and congratulations on your well-earned money! 🎉

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

As a maintainer -- I'm never unhappy when someone makes a small improvement. I especially love documentation updates because that is a huge driving force for adoption.

One of the first things I do when I'm looking into a new Open Source project is trying to fix typos and unclear documentation. It forces me to read the docs, and I can be helpful!

Collapse
 
stefandorresteijn profile image
Stefan Dorresteijn

I think more than anything, this shows how important branding is for senior and freelance developers. If you want to get the good, high paying jobs, you need to show your skills. Open Source contributions is only one of the many ways you can do that. Being on Dev.to and writing about what you know is a great option too!

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

You're totally right. Having a bit of reputation can be extremely useful when it comes to building your career, that's one of the things I talk to a lot of my podcast guests about.

Avdi talked a bit about that when we chatted.

Collapse
 
csharplove profile image
csharplove

I got a question Jacob ,how can you join the open source community and also what language are requiere to start helping ...

Is there an specific programming languages for the world of open source ?

Also why people are saying java is dean I hear that for long time now like java is gonna be dead I couple more years ..., but I love c#..

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

Java is definitely not dead. It's everywhere! Spring is a popular framework, and Java is used for a huge percentage of Android development (with Kotlin). C# is also a wonderful programming language, I think it's actually getting more popular!

Personally, I first started getting involved by finding a project that we used heavily at work. For me, that was Solidus.

DEV is also Open Source, so if you want to work on a friendly project, that's a fun one!

Collapse
 
csharplove profile image
csharplove

Thank you great for your answer ,so interesting

Collapse
 
mrpcpete profile image
mrpcpete

G'day Jacob, your article has resonated something I've longed to articulate, and it's your innovative approach that has inspired me to commence on a path with certainty for which I am grateful. Perhaps this was one of the many reasons that convinced you to share this with the world. Watch this space. You deserve the gratitude thanks

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

Haha thanks! Glad it helped! 🤠

Collapse
 
mrlizard profile image
Mr-Lizard

Great article, I enjoyed reading it. However, I am part of the Grammar Fourth Reich !!

"One thing leads to another and eventually, Alberto extends an invitation to the Solidus Core Team."

Did you mean literally that, or rather that Alberto extended the invitation to you, to join the Solidus Core Team ?

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

Your choice.

Collapse
 
mrlizard profile image
Mr-Lizard

Very cryptic, Herr Herrington !

Collapse
 
cmelgarejo profile image
Christian Melgarejo

I choose that the invitation is for anyone that wants to be part of the team, thats the beauty of OSS

Collapse
 
leob profile image
leob • Edited

Great article, but how did you become involved with Solidus to begin with - how did get to the point of making that first PR? Were you using Solidus on a project?

Your advice is great but the point for many people is which OSS project they should pick to work on, if there isn't something obvious that naturally presents itself (best choice is of course to contribute to a project that you're using and benefiting from).

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

In this case, my employer is building a product on top of Solidus.

However, my employer didn't actually ask me to work on the project, I was just looking for an OSS project to work on and that one made sense!

Collapse
 
leob profile image
leob

Right! Yes that was a perfect opportunity then, and as always in life, one thing leads to the other. Thanks for the great story and the great advice!

Thread Thread
 
jacobherrington profile image
Jacob Herrington (he/him)

Happy you found it helpful!

Collapse
 
adityamenon profile image
Aditya M

Hi Jacob, thanks for the helpful post! Could you talk about how you ran into Solidus in the first place? I remember looking for substantial, open source Rails codebases containing fully functional apps, a while ago. Aside from dev.to itself (which is how I found this site!), I didn't find many. Even awesome-rails does not feature Solidus in its listing... so I'm curious :D

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

My company was building on it. Here are a few OS Rails app that might help you, if you're still looking:

github.com/codetriage/codetriage
github.com/discourse/discourse
github.com/rubyforgood/diaper
github.com/houndci/hound
github.com/ManageIQ/manageiq

Collapse
 
adityamenon profile image
Aditya M

Oops, I see below that you've already commented to someone that your employer was working on a project using Solidus - sorry about the repeat question!

Collapse
 
oathkeeper profile image
Divyesh Parmar

Hi Jacob, this is an inspirational one. Since few weeks I have been trying to learn how can I find projects with react.js, redux only because that's what I have been working mostly and I want to see the standard code that such high profile developers write. So in the process I documented naive tricks that helped me, here dev.to/oathkeeper/finally-found-a-.... This way I could find projects which are open source documentation like dvc.org and a game title website that people are building.

I am really hopping to grow my career and find such opportunities, but when I start reading code it gives those thrills inside at the same time I feel soothing looking at so pure, fresh, non-hassling code. Thus, my majore thing turn more towards learning such approach. Thank you for sharing this info, I guess 1.5 year I'm in my career and its still not late to keep doing this thing more. Thanks for sharing!

Collapse
 
oniontwister profile image
OnionTwister

Great write-up, thanks for sharing!

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

No problem, glad you enjoyed it!

Collapse
 
tkjqa profile image
Troy Johnson

Great article! We need more solid human beings like you.
You just motivated me to get involved. You state some excellent advice for junior or senior programmers by the way. Please keep giving back to the community.

Collapse
 
zerophase profile image
Zerophase

I'd say your title leans a bit towards clickbait, as you need to get a client in the first place, and practice web programming. Would have been nice if you would have focused on getting yourself onto one of the major projects payroll.

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

I agree with the title being clickbaity, I've been experimenting with different titles lately.

However, getting the client was kind of the point of the article. I didn't do anything to get a client, they came to me because of my Open Source contributions to the tool they were using.