Communication and culture

GitHub

GitHub is where Starsim is built and lives. Use to open issues, start discussions, plan projects, etc. Everything on GitHub is public by default, so it’s the best place to ensure transparency and build commuity. Of course, never share anything sensitive on GitHub (either in a commit or in a comment).

Slack

Slack is our primary means of rapid back-and-forth communication, when it would be impractical to use GitHub (e.g. many messages back and forth discussing a bug or potential feature). Use it for quick questions, status updates, sharing links, and informal discussion. Keep conversations in the appropriate channels rather than DMs when possible so others can benefit.

Teams

The Gates Foundation uses Teams for internal team discussions. For discussions that are either intentionally public (e.g., planning a new feature) or for which there is no harm in being public (e.g., who is going to review a PR), prefer GitHub or Slack. For discussions that are or could be sensitive (e.g., planning an internal application, discussing non-public data, etc.), always use Teams.

Email

Use email for communication with external collaborators, formal requests, and anything that needs a longer-form written record. For Starsim technical matters, prefer GitHub or Slack.

Meetings

  • Stand-ups: Brief daily or weekly check-ins to share progress and flag blockers.
  • Sprint planning: Periodic meetings to prioritize and assign work.
  • Ad hoc: Scheduled as needed for design discussions, debugging sessions, or onboarding.

General tips

  • If you’re stuck on something for more than ~30 minutes, ask for help.
  • Document decisions and context in GitHub issues or PRs, not just in Slack (where messages get buried).
  • When in doubt about process or conventions, check the style guide or ask a teammate.