Will Larson's Blog, page 32
November 22, 2019
"Do engineering managers need to be technical?" in Increment.
The most recent issue of Increment came out, focusing on Teams, and I'm excited to get to cross the chasm and move from playing a(n extraordinarily small) role in the founding of Increment to contributing a piece on whether engineering managers need to be technical.
Getting to write in more mediums and formats has been some of the most fun I've had writing this year–one more small project I've contributed to is coming next month–and this one is particularly close to my heart,...
"Do Engineering managers need to be technical?" in Increment.
The most recent issue of Increment came out, focusing on Teams, and I'm excited to get to cross the chasm and move from playing a(n extraordinarily small) role in the founding of Increment to contributing a piece on whether engineering managers need to be technical.
Getting to write in more mediums and formats has been some of the most fun I've had writing this year–one more small project I've contributed to is coming next month–and this one is particularly close to my heart,...
November 18, 2019
Expanding on S[a-z]{3,} Reliability Engineer roles.
One of my foundational learning experiences occurred in 2014, when I designed and rolled out Uber’s original Site Reliability Engineering role and organization. While I’d make many decisions a bit differently if I could rewind and try again, for the most part I’m proud when reviewing the reel of rewound memories.
Folks will occasionally ask my advice on introducing SRE in their company, and I give them an answer they don’t expect: don’t. The one word version comes across rather more controversial than I i...
November 15, 2019
Notes on Building Evolutionary Architectures.
I recently picked up Building Evolutionary Architectures by Ford, Parsons and Kua. It occupies a similar spot in my head as Accelerate and A Philosophy of Software Design, in the category of seasoned software practitioners 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.
Below are my notes from Building Evolutionary Architecture.
SummaryThe book starts by asking a question that I’ve grappled with frequently: “How is...
November 14, 2019
You only learn when you reflect.
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.
Even for garden-variety challenges, it’s easy to spend a disproportionate amount of energy trying to work through the problem before asking for help. Worki...
November 11, 2019
Distributing your Slack application.
We've been working on the reflect Slack application for a while, and it's almost done. We just have to make it possible for other folks to install it. The golden standard of distribution is Slack's App Directory, which makes it easy for folks to find and install your app.
We won't quite get our toy app into the App Directory, but we will make it possible for other folks to install it into their workspaces, at which point you could submit it to the directory if you wanted.
We've already done quite a bit, we just need to inte...
November 10, 2019
Using Cloud Firestore to power a Slack app.
Continuing from Make Slack app respond to reacji, it's time to actually store and retrieve real data instead of relying on stubbed data. We'll be building on Google Cloud Firestore, which is a NoSQL database offered on GCP.
By the end of this post our /reflect commands and :ididit: reacji will get recorded properly, and each call to /recall and visit to the App Home view will return real data as well.
post starts at commit 08eb and ends at commit 4584
Slack app in Python series Creating a Slack App in Python on GCP Adding App Home to Slack app in Python Make...November 9, 2019
Make Slack app respond to reacji.
This post continues the 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.
post starts at commit 4120, and ends at commit 08eb
Slack app in Python series Creating a Slack App in Python on GCP Adding App Home to Slack app in Python Make Slack app respond to reacji Using Cloud Firestore to power a Slack...November 8, 2019
Adding App Home to Slack app in Python.
Building on Creating a Slack App in Python on GCP, I wanted to continue extending reflect-slack-app to include an App Home.
The App Home screen allows each user in a workspace to have a personalized view powered by the app, which the app can use to share whatever data or interactions (buttons, etc) they want. Want to let folks configure their settings for your app? You can! Want to let folks see their most recent activity? You can! Want to let users know the current status on all open projects? You can!
The functionality is...
November 6, 2019
Creating a Slack App in Python on GCP.
Last week I chatted with someone working on an application to facilitate better 1:1s and skip-level 1:1s. What struck me most was the thought that it might be both faster and a better user experience convenient if this tool was implemented as a Slack application rather than a web application.
This left me with an interesting question: has the Slack ecosystem and toolchain reached a place where it's quicker and easier to use the Slack stack than the typical web stack?
With that in mind, I decided to spend some time e...