Yes, it really is an accurate portrayal of the process. Etsy isn't pushing days of development out in a deploy. That would be considered poor practice at Etsy.
To make a sizable feature live, you use a bunch of methods in cooperation:
* Only mutate a bare minimum number of executed lines as code deploys.
* Turn features on and off quickly with (much faster) config deploys.
* Release and test features for internal users first (in production).
* Ramp features up to small amounts of production traffic at a time.
* Deploy new code paths and queries so that they're executed, but aren't visible to end users. (You can use this to detect performance problems early.)
But what you never do is sit on days of sizable code changes that you don't deploy. If you try to deploy a massive diff people in your push will generally suggest that you not do it.
> But what you never do is sit on days of sizable code changes that you don't deploy.
That's certainly sensible but I wasn't suggesting sitting on "days of sizable code changes" - just that it takes days to make the code changes (particularly once you factor in code review and QA).
To make a sizable feature live, you use a bunch of methods in cooperation:
* Only mutate a bare minimum number of executed lines as code deploys.
* Turn features on and off quickly with (much faster) config deploys.
* Release and test features for internal users first (in production).
* Ramp features up to small amounts of production traffic at a time.
* Deploy new code paths and queries so that they're executed, but aren't visible to end users. (You can use this to detect performance problems early.)
But what you never do is sit on days of sizable code changes that you don't deploy. If you try to deploy a massive diff people in your push will generally suggest that you not do it.