Guilds

Responsibilities

In line with our value “Together we thrive”, organization of key areas of the Meltano ecosystem are stewarded by Guilds. Guilds are made up of members of the Meltano staff and contributers from the community. Rather than owning the work items of a given area, Guilds perform an administration and coordination role. Primary responsibilities are:

  • Ownership, curation and dissemination of a roadmap (with guidance and support from Product, Data, Leadership, the Community, other Guilds etc.), especially for major version updates
  • Ownership of community engagement (especially the publishing/tagging of “Good First Issues” and participation in company events such as Taptoberfest)
  • Ownership of key maintenance (releases, Dependabot pull requests, CI/CD workflows, PyPI publishing, etc.)
  • Ownership of Slack, issue and pull request triage (questions, bug reports, feature requests, community pull requests, etc.)
  • Ownership of knowledge sharing and mentoring (promotion/improvement of Docs, Blog Posts, ‘Best Practices’, topics in Office Hours, Newsletters, etc.)
  • Ownership and development of domain tooling (e.g. hub-utils) as needed

Expected Commitment

For Guilds to be self-sustaining, each should have at least 2 permanent members. Tenured engineers are encouraged to join a Guild and to work towards “subject matter expertise”. Newly hired engineers will likely be discouraged from Guild membership for a fixed period (say 6 months, TBD) so as not to specialize early or distract from onboarding. Given the likely time commitment, engineers should be discouraged from joining multiple Guilds at our current company stage. This can likely be relaxed as we grow 🚀

Each Guild might require different commitments of time and effort, but an 80/20 to 70/30 split is not unreasonable (with the majority chunk devoted to normal, non-Guild engineering responsibilities).

Processes

Each Guild will be responsible for their own rituals, but some general expectations are set below:

  • A 30 min recurring meeting in the “Team Meetings” Google Calendar.
    • Should be cancelled if all would-be attendees agree that everything that would be done already has done, or will soon be done async
  • GitHub project board that can be managed / updated async
  • A set of GitHub labels to tag issues with. Use the label sync config and workflow in the meltano/.github repository to sync labels across repositories
  • An ongoing Google Docs agenda that is updated before, during, and after each meeting as necessary
  • Fireflies AI in every meeting
  • Landing pages in the Handbook detailing membership, areas of concern and links to associated repos/resources
  • A guild-* Slack channel
  • An email alias (for contact references in the Handbook and elsewhere)

Some more fun and fanciful ideas (for the future) are:

  • Guild-themed GitHub badges to award to contributors
  • Matching Guild-themed stickers

Current Guilds