These "playbooks" were inspired by Thoughtbot's playbook, as well as internal discussions of ways for Artsy's engineering team to share a common vision and hard-won lessons internally. It aims to make good decisions easy, leaving plenty of space for experiments and even radical departures, but improving consistency where helpful. Rather than a set of policies for everyone to conform to, it's here to:
- Help refine our own thinking
- Create a forum for future discussion and iteration
- Establish shared vocabulary
- Offer a framework when it's desired
This is a living document--a perpetual work in progress as we acquire new experiences, struggle through post-mortems, and experiment with new approaches. You are the co-author, so when you're convinced a new tool or practice should be incorporated, submit a PR!
Doc | Overview |
---|---|
Cloudflare | Working with Cloudflare |
Conferences | Attending or speaking at a conference |
Data Migrations | Preparing, reviewing and executing data migrations |
Dependency Management Recommendations | How do we want to handle new dependencies to our apps? |
Deployments | How systems are deployed at Artsy |
Development environments | Getting set up to work on new projects |
Documentation | How and where to document or share content |
Engineer workflow | How we work together |
Extracting Services | When and why to consider extracting or decoupling systems |
Future Friday | What is Future Friday? |
GraphQL Schema Design | What are our best practices for GraphQL Schema Design? |
Hokusai | a CLI to manage applications deployed to Kubernetes |
Incident Handling🔒 | How engineers share on-call duties and provide urgent support |
How to give a good Informational | What are the steps needed to give someone a great experience. |
Jira | Working with Jira boards and tickets |
Kubernetes | Deploying containerized applications at Artsy |
Migrating Redis | How to migrate data between Redis instances. |
Migrating Sidekiq | How to migrate Sidekiq to a new Redis instance |
Open-sourcing a project | How to take a private repo and make it open-source |
The Practice Playbook | How do you run a practice at Artsy? |
Renaming master branches to main | a CLI to manage applications deployed to Kubernetes |
How to run a retrospective | The why and how for running a retrospective |
How to create an RFC at Artsy | The steps needed to request cultural changes |
How to run a Knowledge Share | How to handle the people process for Knowledge Shares |
System Criticality | A framework for treating systems differently according to how critical they are |
Taming notifications | How to set up notifications so that they leave you alone outside of working hours |
Technical planning | How to write technical plans at Artsy |
Technology choices | How to make technology decisions at Artsy |
Vendor Evaluations | How to evaluate 3rd party vendors |
Version managers | What we use to manager tool versions. |