
Ask HN: Has anyone got a job by contributing to open source projects? - anindha
I am trying to find a mentor that might help me ramp up in C++ on an open source project like Google Chrome. I am happy to pay for the mentorship.<p>I would also be open to collaborating with peers that are in my position and want to contribute to an open source project.<p>I have 3 years of experience in C++ but haven&#x27;t touched C++ for 5 years.
======
rvz
I have met engineers who have been hired by FAANG companies and have told me
that their regular community contributions towards high-profile open-source
projects (They particularly mentioned QEMU, LLVM, Rust, Swift and V8) was the
reason they got an offer. The barrier in regularly merging quality patches for
review in these projects is very high and it is advantageous for the likes of
these companies to shortlist you if you have significant contributions towards
these projects.

Most of the ones I know have been hired by Google, straight out of a program
called Google Summer of Code (GSoC) which prepares students for this and they
instantly get referrals if they complete their project.

Now if I were starting out right now I would look at tackling the first
contribution issues in smaller projects, then work your way up to the larger
projects. I’d say contribute to a project that you even use yourself, improve
it and branch out from there to fix issues in its dependencies / libraries.

Also the GSoC website has lots of participating organisations [0] to
contribute to.

My personal favourite orgs are

LLVM, Linux Foundation, Xi Editor, Haiku and Blender.

[0] -
[https://summerofcode.withgoogle.com](https://summerofcode.withgoogle.com)

~~~
edwintorok
I highly recommend GSoC. It is a fantastic opportunity to learn and contribute
to an open-source project by having a mentor from that project that you can
talk to, and get paid to do it.

I was already contributing to an open-source project (fireflier) when I
applied for GSoC for the ClamAV project, and continued to contribute to the
project after GSoC was over. Shortly afterwards got invited to be part of the
team, and when the project got acquired by a company the next year I got a job
there to continue working on it (initially part-time because I wanted to
finish my studies at the university, and after that full time).

Try to apply to 3 or 4 projects that you like, but don't get too disappointed
if you don't get accepted the first time. It probably helps if you already are
a contributor to an open-source project so that people can check your coding
style/knowledge by looking at GitHub/Sourceforge etc.

~~~
seotut2
The OP is probably not a student, judging by his profile page, and GSoC is a
program exclusively for students.

~~~
anindha
Yes, not a student. It was useful to look at GSoC projects as a source of
inspiration.

------
pgeorgi
I started working on open source firmware: first openbios, then coreboot.

The one thing that made this a job opportunity (my career is coreboot-based
for about 12 years now) was that I built some rapport within the communities.
These days I'm paid to work on Chrome OS firmware, which uses coreboot.

Becoming the go-to person for some aspect of the project is easier for smaller
projects rather than huge operations like Chromium for several reasons, among
them:

1\. No matter what you do, you won't out-run an army of full time developers
that have multiple levels of management to coordinate their efforts (which is
a force-multiplier to some degree).

2\. Projects the size of Chromium tend to have lots of discussion internally
within participating teams. There's no ill will about this, it's just how
people work when they happen to share both project and office space.

So yes, open source work can lead to fine careers, but you'll need some
differentiator that makes people go "maybe I should ask anindha about this".

If or when that happens in a "marketable" project (as far as careers go there
was certainly luck involved in my story: openbios has little commercial use,
and coreboot's commercial prospects looked grim for a while as well), at some
point some team will want to have you work on their tasks full time: Much
better than hoping that you aren't busy doing whatever else you need to pay
the bills.

There are probably other ways to get a career based on open source work, but
that was mine.

~~~
em-bee
and coreboot is growing. i saw a job post just a few weeks ago from a company
that is using coreboot, and coreboot developers were hiring too, or will soon.
perfect time to get involved.

when it comes to hiring, a differentiator is that you are already working on
the project. not everyone contributing now is actually waiting for a job.

in one niche community i was able to get interesting jobs because i was the
only one willing to move to take the job.

------
bbx
I got my last job thanks to MarkSheet [1], a free open source tutorial I
published on GitHub.

Now that I'm freelancing, my work on an open source CSS framework called Bulma
[2] has allowed me to find clients more easily.

[1]: [https://marksheet.io/](https://marksheet.io/) [2]:
[https://bulma.io/](https://bulma.io/)

~~~
michaelanckaert
Thanks for your work on Bulma! Are you available for freelance work? I’m
starting to use Bulma on a new project and could use some customizations here
and there.

~~~
bbx
Drop me an email: [https://jgthms.com/](https://jgthms.com/)

------
daenney
I did.

I used to contribute quite a lot to the Puppet ecosystem. I met a ton of
people through my interactions with the community and by being the maintainer
of a few things like Puppetboard, pypuppetdb and the apt module. Through my
contributions around PuppetDB I ended up working closer with two engineers who
eventually asked if I were interested in coming to work with them.

The company was Spotify, and I accepted the offer in fall 2014 and stayed for
a good four years.

This has been a massive boost to my career and it's mostly just been dumb
luck.

~~~
_hzon
It's not dumb luck, you put yourself in the picture by contributing to the
project. If you were picked up on the streets by the Spotify CEO because he
accidentally overheard you talking about developing software, now that would
have been dumb luck.

~~~
daenney
I believe some luck was involved. At the height of the Puppet community and
size of PuppetConf our paths could've easily never crossed.

But you're also right, I put in a lot of work there and it paid for itself.
Ironically none of this was done with the purpose of getting a job, I had one
already that I was quite happy with.

------
austincheney
I have an open source project that absolutely got me hired to Intuit years
ago.

The biggest win of doing open source work is that it’s more challenging than
corporate work. You build product management skills and really learn to focus
on objective quality factors and continuous improvement.

At this point in my career I have passed the tipping point and my open source
work is making me less compatible to many of my corporate JavaScript peers. I
am not interested in easy, dicking around with unnecessary configuration
madness, and prefer to write original code. I am less interested in learning
how to write code and more interested in data structures and algorithm design.
Contrarily JavaScript is a low barrier of entry field where many newer
developers have little or regard for automation practices compared to various
other concerns.

------
jsqu99
I did!

I can't tell you how exciting it was to be hired to help a company enhance the
[https://github.com/spree/spree](https://github.com/spree/spree) extension I
authored.

It was the most rewarding phase of a 20+ year career.

Bottom line: if you make yourself known/valuable in a community, opportunities
will pop up. Go for it!

~~~
anindha
Spree looks cool. Some big companies are using it.

------
rleigh
Yes, three separate jobs to date over a span of 16 years. However, none of
those three jobs directly utilised my open source contributions over the last
20 years. They made use of the skills I had, and which those open source
contributions demonstrated publicly.

I didn't start working on open source projects because I wanted to get a job,
and have some fodder for padding my CV. I worked on them because I was
interested, and got deeply involved in several over many years. I think
getting involved solely for getting a job, is doing it for the wrong reasons.
You need some intrinsic interest as well.

------
dvirsky
Sort of - I became active in the Redis community when it was just starting to
pick up. Mostly helping out users and giving local talks, but occasionally
contributing some code as well.

Over the years this led to several job offers, and while I didn't directly
take any of them, I stayed in frequent touch with the founders of Redis Labs,
who found me through this activity. And a few years later when I was looking
for a new job, they were my natural choice. And one of the best jobs I've ever
had.

------
langitbiru
Dan Abramov was hired by Facebook because of his opensource contribution. I
think.

[https://twitter.com/dan_abramov/status/650968538564444160](https://twitter.com/dan_abramov/status/650968538564444160)

------
OJFord
I had a maintainer of two related (as were my changes) open source projects -
one an SDK under the (big but perhaps not quite FAANG company's) organisation,
the other FOSS not provided by the company that used the SDK - reach out after
collaborating for a bit.

Essentially I think he recognised there was work to be done, and wanted
someone on a fixed-term basis to get it done, but maybe it could've led to a
permanent position.

I was due to start a new job the next week or something when we spoke, so
unfortunately it didn't really suit me at the time, but I was very glad of the
opportunity, the company remains #2 on my 'consider when looking to move' job
list, and it came 100% because I was working on something open-source to solve
a problem _I_ had, and that some others happened to be interested in.

I would never say OSS development is a requirement of a software engineer, nor
want it to be, but I do recommend it to people starting out (I've mentored a
couple of pre-u niversity students) - and I think it could be a great way for
you to get back into C++ too, not only writing it again, but getting peer
review and tips like 'since C++17, we're now able to do this like this instead
which blah'.

I'm not sure about finding a mentor to help contribute to a project. Rust has
a program exactly like that to connect people with maintainers so they get
mentorship and experience and the maintainer gets some work done and feels
good for supporting the community. But obviously that's for rust projects.

You could whet your teeth on something simpler perhaps, before moving on to
Chromium or similar?

------
akulkarni
I am a potential employer (CEO TimescaleDB).

Contributing to one of a company’s OSS projects or to a related project is
great way to get that company’s attention and prove your ability even before
any interviews.

~~~
anindha
TimescaleDB looks cool. I'll check it out and have a play with the source
code.

------
pizza234
I think the question is somewhat ill-expressed.

As far as I understand from the description, you're interpreting open source
contribution in a very specific (albeit typical) way:

    
    
        1. generically contributing to a well-known project to get recognition by the industry;
        2. get hired in a certain project team through specific feature(s)
    

I generally discourage approach 1, for a couple of reasons.

The first is that a lot of people in the industry try this way (I did it,
too), and this makes "newcomers management" onerous for projects.

The second is that commitment to newcomers is unrelated to the project
size/fame. You'd think that large and established projects necessarily care
about newcomers; there is no such connection. A notoriously committed
community/project is for example GitLab; I won't mention another "very famous
project" who couldn't care less, instead (to the point of labelling issues as
"good first issue" and then ignoring them).

There are obviously project-external devs who gets their code approved, but
based on what I've seen, they're people with experience in the field, and who
work in a more targeted fashion (ie. approach 2).

I don't have experience with approach 2, however, if fits exactly the GSoC
initiative, so you may either try to get in, or, in order to find a real-world
answer to your question, research how many of the GSoC students are generally
hired.

My opinion related to improving one's career by contributing to open source is
to contribute to welcoming projects that you find interesting, and get known
in the field. In other words, networking. I think start working on a
famous/big project with career in mind has a very high chance of leading to
frustration.

My direct answer to your question is "yes, I do know people who got a job with
their involvement in open source", and it was about networking, not about
working on a famous project.

------
wdfx
I did. I got my last job in the VFX industry because I'd learned python in my
spare time writing external render engine plugins for Blender.

------
krzkaczor
I did a lot of open source work in blockchain (ethereum) ecosystem. I wrote a
couple popular tools (typechain), as well as I, contributed to other projects.

This was one of the key factors that helped me land my dream job so
definitely, open-source work will help you get hired but this might depend on
the industry. Blockchain is open source by default.

------
WalterBright
Several people have gotten well-paying jobs due to contributing to the D
programming language effort.

------
Buetol
Yup, all of them in fact, it's a very tangible proof you can work on the
subject. Sadly, I do mostly Python and JS so I can't mentor you but as
mentionned in other comments, lot of projects are looking for contributors,
Firefox is good project for example.

------
tambre
Google Chrome is not open source. Chromium which contains the guts is.

You should include some minimal contact information, because as of now I can't
find any way to contact you. Been a Chromium contributor for a little while,
so I might've been able to help a bit.

~~~
anindha
Thanks I've reached out via email. Thanks for the tip - I also updated my bio
to include my email.

------
rikkus
I worked on KDE apps and some of the core bits for a while and hung around on
IRC, where I found some Qt work. I did some short term gigs and some permanent
(making Zaurus apps, among other things), all entirely remote. This was in the
early 2000s.

------
matt_morgan
I was one of the original leads on

[https://en.wikipedia.org/wiki/Steve.museum](https://en.wikipedia.org/wiki/Steve.museum)

Did it GET me a job? Maybe not. Did it come up in every interview since? Yes.

------
em-bee
i offer paid and free mentoring (free if you work on my own projects, most of
which are FOSS).

i don't know if i have enough experience C++ to be a good guide for you. it
depends on what you expect from a mentor.

i recently worked with a student learning rust, without any rust experience on
my side. i helped the student to structure the program, while they had to
explain to me how certain rust constructs worked. that had the effect of the
student having to explain what they learned about rust, which is a powerful
way to increase their learning. (if you want to learn something, try teaching
it to someone else)

~~~
fspear
I would be Interested in getting some mentorship...I have also started to
learn rust and kubernetes plus doing leetcode on the side, I also want to
contribute to OS projects and have some more activity on github... I am
getting a bit overwhelmed and my motivation is dwindling so I think a mentor
might help. How can I contact you?

~~~
em-bee
being overwhelmed and loosing motivation are good reasons to work with a
mentor.

i have added my email address to my profile.

i am looking forward to talk to you.

------
ndjskska
It's hip to have open source in some fields, and not in others. I've heard
negative comments on multiple interviews - especially when there's an overlap
between the open source project and your future work. Will you devote your
full working hours to the company or to your hobby contributions? Will you
open source the IP of the company?

If you contribute to FSF projects, the FSF will ask your current and future
employers to exclude any claims over your contributions - even your hobby
contributions.

------
rodrigocoelho
Yes. I believe I have stood out and have been hired in some job applications
relating to PHP/Yii because of a popular extension I contributed to the
framework.

------
ohthehugemanate
Hard "yes".

As a manager at Microsoft I look at the github profile of every applicant who
passes recruiter screening. Open source familiarity is a must, and regular
contribution is a strong positive flag in my mind.

I think some companies/teams hire from contributors to their projects... But I
haven't seen that happen personally so I can't speak to it.

------
jonhearty
Origin Protocol hired several engineers that started as open-source
contributors to their open source code base, one of which had no experience as
a professional software developer (he was in real estate).

------
gmays
We consistently hire open source contributors who contribute to the WordPress
open source project. They're primarily engineers, but some have transitioned
to product management (PM).

~~~
anindha
Thats great! Do you mind sharing where you work?

------
viraptor
I didn't actually follow those, but it looks like if you start contributing to
openstack, you'll get people emailing you with offers. Not as many now as 5
years ago, but still.

------
rurban
Only contributing unlikely. Happens, but rarely. Leading a project very often.

------
pictur
it will be an irrelevant question, but do you think that contributing to an
open source is becoming a standard thing now?

~~~
onion2k
In the past decade I've seen a few hundred resumes for developer candidates
and I haven't seen one mention open source contributions yet. A few have had
forks of open source projects in their Github accounts but with no indication
that they've ever PR'd anything upstream. There could be many differeny
reasons for that (geography, programming language, industry, etc) but it
certainly seems to indicate its not all that common.

~~~
imedadel
Suppose that I want to mention my open-source contributions in my resume.
How/where should I mention that?

~~~
shoo
No need to overthink it. You could add a very short section at the end with a
brief list of bullet points of the project name, a few words explaining what
you did, and a link to the PR.

Different people will consume your resume in different ways. Automated resume-
digesting systems and recruiters might get excited and tag your profile with
keywords associated with those open source projects. Or they might not know
what to do with the information and throw it away. Similarly for HR. Flesh and
blood engineers screening your resume may get excited if they read that far.
But once you've made it past the resume screening stage, it'll likely be
completely irrelevant, except in the unlikely case that you're being hired for
a gig specifically based on your experience with one or more of your
contributions.

