Teamwork
- In team discussions, respectful expression of dissenting opinions is encouraged.
- Sharing/posting helpful tips or gotchas encountered is also encouraged.
- Give shout-outs, specific praise, and credit to teammates wherever possible.
- In addition to following company policy for vacation, WFH and sick days, let your team know when you will be out, and remind them close to that time.
- When working from home, if you’re going AFK (away from keyboard), let your team know that you are and when you’ll be back.
- Make sure to be available during core hours as detailed here: Communication
Decisions
When a collaborative decision is called for, unless every team member expresses support for the same option, the team should have a discussion, after which the decision should be put to a vote OR settled by a manager or senior engineer. This is to prevent situations where the most vocal person effectively makes the decision or prevents a decision from being made.
Pairing
Pair programming is encouraged. Numerous programmers have found it to be beneficial, with benefits including:
- Learning more about coding from each other
- Complementing each other’s weaknesses
- Becoming more familiar with our codebases and tools
- Exposure to each others’ helpful habits
No one should feel pressured to pair program, except in a training or onboarding situation if they have explicitly been asked to. If two people are both interested in pairing, they are free to do so. Otherwise it’s fine to decline a request to pair, if you don’t feel you work efficiently that way. (This agreement is specifically about “pair programming” in the sense of sitting at the same desk writing code together, and is not intended to imply that it’s OK to avoid working collaboratively on a story.)
Conflict
Guidelines for conflict resolution are provided in Conflict