At Oath, we are builders, not bureaucrats. Every person that works with us has a product development job of engineering, design, or operations. And we do everything to let our team do amazing work: minimizing distracting meetings, giving work flexibility, and creating clear expectations.
There is one manager; the CEO, Jonathan, who is in charge of signing off on planning and launch. We aim to give our team a breath of fresh air in a working environment that prioritizes long-term quality experience over short-term growth, profits, and shareholder value.
Async Working, Fully Remote
Our teammates are adults. As long as they get quality work done, it doesn’t matter when or where they do it. We believe asynchronous remote working is the best bang for the buck allowing for better talent, work-life quality, and productivity.
That being said, it has to be done right.
Async, remote work requires a strong culture of transparency, autonomy, and responsibility. Because work happens in different time zones and working hours, we must put a heavy emphasis on recording processes, product, engineering, decisions, and structures. There should be no domain knowledge stuck in one-person’s head. Teammates should be able to build off of existing systems by just reading docs. This means one of the core requirements before a launch is easily, understandable docs.
As company practices evolve, we will update the Company Handbook.
Get shit done
If someone needs your help and it won’t take long to unblock them. Please help them out ASAP, don’t make them wait half a year. Either do it yourself, or point them to the right docs so they can send a pull request for the feature they need.
Don’t be territorial about the code you own. Review pull requests, and let things flow freely.
Communication Protocols
No meetings, please
Meetings are disruptive to deep work especially when placed in the middle of work sessions. Meetings can also easily devolve into a shit show when there are too many people present (cooks in the kitchen) who don’t have direct control over the outcome. It’s nice to involve people in decision making, but try to send them a written memo or (RFC) instead.
And when you do decide to have a meeting:
- only invite the necessary decision makers
- write up an agenda and goal and send to everyone beforehand
- record the meeting resolution and next steps in the agenda
Everything in public
Internally, all official work communication must be done in public channels (Notion, Discord Public Channels) where anyone can read or learn from discussions. If there are in-depth conversations over a specific work stream, please create a Discord discussion thread instead of defaulting to private chats.
Private group chats should be used for non-official work, catching up, socializing, etc. Email should be used for external communication with other businesses, etc. We strive to use as little email as possible, checking it infrequently.
Think before you speak
What does this mean? It means be kind and assume good intention on the other end. We’re all on the same team. This also means to not write out half-baked thoughts and feedback on documents people have spent lots of work on.
If you’re giving feedback, please make it useful. Don’t send multiple messages when you can spend longer to think and write out a better one. Give enough context and information for people to work or solve the problem even if they’re in a different timezone.
Record Everything for Transparency
Before you can call a project finished, make sure to record it in a Spec (). Specs are where you can plan out projects, collaborate with teammates, and record decision making so anyone can read, understand, and contribute to the initiative.
Specs must be reviewed by an external team member to ensure understandability for someone with no product domain knowledge.