This is a set of guidelines on how I like the team-work to happen. I’d like to hear your thoughts, ideas, and your guidelines after you read it.
1. Communication
- It’s important we communicate well and often.
- I like Slack the best as our go-to communication tool.
- I like async communication, using threads over multiple consecutive messages, and reactions for ACKs.
2. Documentation
- I like Notion for documenting decisions.
- It’s important to build a knowledge base based on Documentation and not on people remembering stuff.
3. Reporting
- I don’t like to micromanage nor to be micromanaged.
- I value strong reporting skills about the status of the issues and the capacity to anticipate possible setbacks with time.
4. Problem Solving
- If you are stuck with something, I expect you to communicate it. But first, I expect you to try a couple of things to unstuck yourself.
- The first thing I will ask you is how did you try to solve the problem and why those things didn’t work.
- I’ll do my best to help unstuck you otherwise.
5. Ownership
- I expect you to take ownership for your work, and to solve the issues without too many input from me.
- Speak your mind when something is broken and pair it with solutions.
- Be punctual to the meetings and be present on them.
6. Coding
- I’ve high standards for our codebases. I like the code/commits/PRs to be organized.
- Unit testing is there to help us. I will require new additions to be tested.
- If the tests does not pass on CI for a particular PR, that PR cannot be merged until we fix the tests.
- I like to spend some time refactoring old code. It’s a good opportunity to make the codebase stronger and to keep adding test coverage.
- I like to automate the boring stuff, so please let me know if you see something that you feel should be automatic and we can work on it.