Notes on Building Evolutionary Architectures.

November 15, 2019. Filed under architecture 30book 14

I recently picked up Building Evolutionary Architectures by Ford, Parsons and Kua. It occupies a simila rspot in my head as Accelerate and A Philosophy of Software Design, in the category of seasoned software practioners sharing their generalized approach to software. Altogether, I rather enjoyed it, and it more elegantly explains many of the points I attempted to make in Reclaim unreasonable software.

You only learn when you reflect.

November 14, 2019. Filed under management 128career 21

Early in your career, the majority of problems you work on are difficult because they are _new_ for _you_. You’ve never done it before, and it’s challenging to do good work on problems you’ve never encountered before. However, the good news is that there are other folks on your team who’ve done it before and are already experienced with its in’s and out’s.

Distributing your Slack application.

November 11, 2019. Filed under python 59slack 6gcp 4

We've been working on this Slack application for a while, and it's pretty much done. Now we just have to make it possible for other folks to install it. The golden standard of distribution is Slack's App Directory, whcih makes it easy for folks to find and install your app. We won't quite get there, but we'll get close.

Using Cloud Firestore to power a Slack app.

November 10, 2019. Filed under python 59slack 6gcp 4

Continuing from Make Slack all respond to reacji, it's time to actually store and retrieve real data instead of just relying on stubbed data. We'll be building on Google Cloud Firestore which is a NoSQL datastore offered on GCP.

Make Slack app respond to reacji.

November 9, 2019. Filed under python 59slack 6api 3

This post continues a series on creating a Slack app in Python, picking up after adding an App Home view. A lot of the subtle, emergent communication patterns within Slack happen by reacting to messages with emoji, and I thought it would be fun to take advantage of that playfulness within the app we're building.

Adding App Home to Slack app in Python.

November 8, 2019. Filed under python 59slack 6api 3

Building on the last post on Creating a Slack App in Python on GCP, I wanted to continue extending reflect-slack-app to include an App Home.

Creating a Slack App in Python on GCP.

November 6, 2019. Filed under python 59slack 6gcp 4api 3

Last week I had a chat with someone working on an application to facilitate better 1:1s and skip-level 1:1s. What struck me most from the discussion was the thought that it might be easier to implement this tool as a Slack application rather than a web application.

HMAC SHA256 signatures in Python and Flask.

November 6, 2019. Filed under python 59slack 6

I'm playing around a bit with the [Slack API](, which I'll have a longer post on in a bit. One part of the integration requires generating a HMAC SHA256 signature to verify requests are from Slack. There weren't too many helpful rearch results, so I've written up a concise example.

Forecasting synthetic metrics.

November 5, 2019. Filed under infrastructure 34metrics 5reliability 3

Imagine you woke up one day and found yourself responsible for a Site Reliability Engineering team. By 10AM, you’ve downloaded a free copy the SRE book, and are starting to get the hang of things. Then an incident strikes: oh no! Folks rally to mitigate user impact and later diagnosis and remediate the underlying cause, but a bunch of your users have a very bad day. Your shoulders are a bit heavier than just a few hours ago. You sit down with your team and declare your bold leader-y goal: next quarter we’ll have _zero_ _incidents_.

Sending weekly 5-15 updates.

November 3, 2019. Filed under management 128

About a year ago I started sending public weekly updates to a relevant public (within the company) mailing list. I've found the practice useful enough to write a few works on the how and why. This practice is sometimes called a 5-15 report reflecting the goal of spending fifteen minutes a week writing a report that can be read in five minutes.