Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

How to do particular tasks at Artsy

Goals of these documents

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 Postgres with Rubyrep How to migrate a Postgres to a new instance using Rubyrep
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
Technology choices How to make technology decisions at Artsy
Vendor Evaluations How to evaluate 3rd party vendors