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:
@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:
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 👇


Latest comments (53)
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
Thanks for sharing your story! 😄
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!
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
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 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. 👍
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
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
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!
Happy you found it 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 ?
Your choice.
I choose that the invitation is for anyone that wants to be part of the team, thats the beauty of OSS
Very cryptic, Herr Herrington !