Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2017 - Rishi Gupta - Growing the Zulip Developer Community from 1 to 300

PyBay
August 11, 2017

2017 - Rishi Gupta - Growing the Zulip Developer Community from 1 to 300

Zulip is an open source alternative to Slack, optimized for productivity.

The Zulip project has grown from 1 to 300 contributors in about 18 months, with more commits merged per week than Docker and Django combined.

Rich Gupta presents specific, reusable techniques used to build an open source project and make the community successful.

Video: https://youtu.be/lXFO2ULktEI

PyBay

August 11, 2017
Tweet

More Decks by PyBay

Other Decks in Programming

Transcript

  1. Community stats • Feb 2016: 1 contributor • Aug 2017:

    320 contributors • This talk: a few insights from the last year • Love to talk about this, find me afterwards! 18 months
  2. Insight 1 • The development experience is a product –

    Good onboarding, fun to use, responsive to customer complaints • At Zulip – At least 25% of our GitHub issues – Many months of founder and core team time – Heavy testing of onboarding – Several contributors dedicated solely to Zulip tooling
  3. Insight 2 • Onboarding (first 10 hours) really matters –

    Really different from corporate code base • At Zulip – Fast, bullet proof dev set-up – One-click cloud VM for sprints and hackathons (combat poor internet connection) – “Bite size” issues don’t require interaction • Detailed instructions, like “first ‘git grep foo’, then ..” – Extreme responsiveness
  4. Insight 3 • Initial training (first 100 hours) can be

    expensive! – At company, onboard 1.1 people per employee. At Zulip, more like 5 to 1. • But worth it – Some of our best contributors started off very inexperienced • So, worth optimizing this process!
  5. Insight 3 • 100,000 words of developer documentation – Makes

    it easy to answer questions – The “right” filter • Automated grading – 100 custom lint rules, 93% backend test coverage, 100% mypy coverage • Automated issue management – zulipbot, written entirely by high school students (Cynthia Lin and Joshua Pan)! • Automated learning – Manually graded ‘git rebase -i’ tutorial – Future: auto-graded ‘git rebase -i’ tutorial • Self-help codebase – A lot of maintainer time spent (re)-naming variables – Few abbreviations (user_messages not ums) – mypy type annotations
  6. Insight 4 • Communication platform really matters – Everyone is

    remote – No PMs or tech leads or managers to spread information around – Subbing to zulip repo => 100+ emails a day – IRC/Slack not great if you only check in once a week • Happy to chat afterwards how Zulip solves these problems :). Rishi Gupta <[email protected]>