Takeaways from Navendu Pottekkat’s session on “Building Your Career in Open-Source” at Open Source India.

Have questions? Comment below or reach out to me at @sudo_navendu.

You can also checkout this Twitter thread for a quick summary of my talk.

Timeline

From new programmer in January 2020 to Full-time Open-Source in March 2021.

  • January 2020: Started learning to code full-time
  • March - April 2020: Started open-sourcing personal projects
  • August 2020: Built and scaled my first open-source project (Went on to get featured on Product Hunt and JS Weekly and got to #1 Trending on GitHub)
  • September 2020: Featured project at TFUG India
  • November 2020: Started contributing to Meshery
  • March 2021: LFX Mentee at Meshery (Layer5)
  • April 2021: Maintainer of Meshery
  • May 2021: GSoC Mentor at CNCF for Meshery
  • June 2021: Maintainer of Service Mesh Performance
  • July 2021: Full-time employee at Layer5
  • September 2021: LFX Mentor for CNCF

Slides

Key Takeaways

Getting Started in Open-Source

  1. Learn a skill or explore different area until you find what you want to skill up on
  2. Make your personal projects open-source even if it may not get wide adoption
  3. Learn Git and GitHub (see resources)
  4. Learn things in public

Building and Scaling Your Own Open-Source Projects

  1. Solve your problem; It is likely that others face the same problem too
  2. Use social media liberally to scale up your projects
  3. Leverage successful open-source business models (see resources)

Making Your First Contribution

  1. Find the projects you are interested in (see resources)
  2. Learn the skills needed to contribute
  3. Join the community of the project
  4. Read the contributing guidelines
  5. Grab a “good first issue” and fix it

Non-Code Contributions

  1. Writing: Articles, social media content, documentation
  2. Designing: Artworks for social media, creating style guides
  3. Testing/Using: Reporting bugs, advocacy, improving UX, alpha/beta testing
  4. Mentoring: Reviewing code, mentoring a contributor
  5. Community Managing/Organizing: Being a project manager, being a release manager, organizing events and meetups, helping onboard new Contributors

(See resources)

Levelling Up

  1. Find more ways to contribute
  2. Do what a maintainer is expected to do even if you aren’t a maintainer
  3. Pay it forward

Making Money

  1. Get an internship/paid mentorship (See resources)
  2. Get a full-time role

Getting Sponsored

  1. GitHub Sponsors, Patreon, Open Collective
  2. Apply for open-source grants
  3. Donating the project to a foundation

Resources

Referenced Surveys

Tutorials/ Additional Reading

If you liked the content of the session, follow me @sudo_navendu where I will be sharing more similar content.

More of my talks are in this playlist.