loading...
Cover image for Open Source Made Me $10K Working Part-Time for 30 Days

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

jacobherrington profile image Jacob Herrington (he/him) ・4 min read

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 👇

Posted on by:

Discussion

markdown guide
 

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.

 

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

 

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

 

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.

 

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.

 

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! 🎉

 

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!

 

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!

 

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 ?

 
 

Very cryptic, Herr Herrington !

 

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

 

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

 
 

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!

 

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.

 

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

 
 

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!

 

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).

 

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!

 

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!

 

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#..

 

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!

 

Thank you great for your answer ,so interesting

 

Great write-up, thanks for sharing!

 
 

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!

 

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.

 

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.

 

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.

 

I like your content, but not a fan of the click bait title 🙄

 

Haha, I'm actually just experimenting with titles right now.

Although, this particular title is pretty accurate imo.

It would help me though if you could propose a better title for this article.

 

It is accurate indeed.

As long as the opening paragraph isn't shilling some shit-coin or whatnot I'd say it's groovy smoothie. 👍

 

Apart from PR, is there any way we can help open source and also benefit in monetization way?

 

Some projects (like Solidus) allow you to contribute with your wallet. In exchange, you can be advertised as a preferred agency or consultant. That can be useful. Otherwise doing community management or helping to troubleshoot issues can have the same effect as contributing code

 

Hi All - I am CTO & Co-Founder of Macrometa. Happy to help (ex: like provide visibility, reference, hiring etc) for any one interested in building open source / demos on our globally available geo-distributed data platform. The platform is a multi-model (KV, Graph, Doc, Streams) geo-distributed streaming database with local read-write latencies. You can see more at macrometa.co/macrometa-in-2

You can reach me at dg@macrometa.co. No spam please.

Regards,
Durga

 

Hey, thanks for writing this. It was a really insightful read.

 
 

Thanks for this inspiring article. As I'm looking for good ways to contribute to open source, this has been an interesting read.

 

Take a look at Richard Schneeman's project codetriage.com, it lists Open Source projects that are looking for help with information about their tech stack.

 

Hey Jacob, thanks for such a wonderful article and guiding us. Truly inspired by your story.

 
 

Hmmm that's a intresting perspective on contributing to open source

 

There are a lot of reasons to contribute to Open Source, this is just one example of why I recommend others contribute.

In general, it's just a great idea to try and contribute to the projects you like. 😉

 

Ben Orenstein is where I originally heard the quote "Be useful on the internet" as well. Good words to live by! Life is just generally better when everyone is trying to help everyone else :)

 

He is a smart guy. I think he told me that he got the advice from someone else, but I can't remember exactly.

I've found it's a great way to live.

 

Heck yeah, dude! This has been my thought process. Glad to see that it panned out well for you. Also reaffirming what I have initially done. Thanks for sharing.

 

No problem, glad it was encouraging!

 

Hello - Thanks for the article. Really enjoyed. What is your favourite guide / getting started for getting into Open Source?
thx

 

I don't think I know of many guides, but I do recommend codetriage.com to people pretty frequently!

 

Thanks for sharing your story! 😄