Engineering Blog

Engineering

Learn from our challenges and triumphs as our talented engineering team offers insights for discussion and sharing.

Friday Thoughts: strive for phoenixes, not snowflakes

tl;dr Avoid surprises, restart your workloads often to ensure your app starts as expected. Server outages can produce some interesting surprises. As we continue to strive for dependable interfaces and services between our squads, I am reminded of the snowflakes and phoenix analogy, a re-branding of pets vs. cattle. Snowflake: unique, fragile, unpredictable Phoenix: rise from nothing at any time, ...

Friday thoughts: fail, fast and furiously

tl;dr: When implementing a service or API, if you get a request you don't quite understand, the kindest thing you can do is to return a noisy error. Let's consider an API like:   GET /mySum?num=3&num=42 Pretty trivial, eh? I might implement this with something like:   func mySum(args url.Arguments, w http.ResponseWriter) {     w.Write(int(args["num"][0]) + int(args["num"][1]))   }  Wait a tick: what if ...