Want to become a better developer? Contribute to open source.
What motivates developers to contribute to open source? Is it the fame and the followers? The thousands of stars on Github? Why sacrifice your time to write code for free?
If you ask a man who’s collected 20,000+ stars on Github, he’ll tell you it was more about the journey than the fame that comes with surpassing Django, Redux or Golang in stars.
“Star count is not really all that matters,” says Evan You, creator of Vue.js.
“It’s a self-improving process when you write open sourced code. Because you want others to use it and you expect others to read it, you will write better quality code (and better documentation) than you normally would.”
Your legacy is limited when you’re only in it for the stars and the forks.
Legacy is built from consistency and discipline, from finding the motivation to write better quality code/docs and following through with it.
“If you keep it up for long enough, it internalizes and makes you a better developer,” Evan tells me.
Feeling the pressure that potentially thousands of other people might end up using your code (rather than only considering the 10 dudes on your team at work) is critical to your growth as a developer.
Think of contributing to open source as insanity mode for honing your craft; do it consistently enough, and that pressure from the mass accountability will become second nature.
But not everyone keeps it up. They’d rather say:
“Because of work, I don’t have time for open source projects.”
It’s not about having time, it’s about making time.
And if you care at all about the quality of the work you put your name on, about the legacy you leave, about the potential you’re not tapping into, then you’ll make the time to push for more from yourself.
Evan You is one of the few who chose to make the time.
“I started to feel that Vue had the potential to become something bigger than a side project — and I also always had this ambition of creating the framework of my own dreams, something that people will mention alongside Angular and React. So I decided to give it a push,” Evan said.
That push came in the form of a 3-week vacation (while working for Meteor) to push out Vue 1.0. He made the time.
Fast-forward to today, and he works on Vue.js full-time thanks to 91 patrons on Patreon who pay his salary.
Yoshua Wuyts, a rising JS star you should be following, just published choo (already broken 1k+ stars), a front-end framework. He’s on a 60-day coding streak.
He’s also someone who chose to make time for open source and sharpening skills.
“I tend to work max 4 days a week to keep a bit of spare time for Open Source,” Yoshua told me.
Developers like Yoshua work remote, save money to take month-long breaks for open source contributing, and then are able to sell themselves more easily thanks to spending time on their skills and building up that discipline.
Yoshua only became a developer three years ago. That’s how effective contributing to open source is at honing your skills quickly.
(BTW: If you want to become like Yoshua, you should watch this first. )
The value to contributing is quite clear:
- Contributing to open source will make you a better developer.
- It will help you internalize a discipline for writing quality code/docs.
- Your skills will improve as you solve more challenges and learn more.
- You’ll be able to sell yourself more easily, meaning remote, flexible work and great pay (to fund more OS contribs) are inevitable.
If you want to get started contributing to open source, here’s some suggestions from existing open source developers. Or just start browsing Github.
Also check out Evan You’s guide around promoting an open source project once you’ve got one going.
But most of all remember: Commit. Push. Unleash. #neverholdback
I put heart into every post I write. I’m incredibly grateful to anyone who returns the favor by clicking 💚 :)
Ryan Chartrand is the CEO of X-Team, a global team of extraordinary remote developers who can join your team and start executing today.
Check out and subscribe to X-Team’s blog at http://x-team.com/blog