Kelly Sutton’s Newsletter
Subscribe
RSS
Archive
Moving on from React
January 16, 2024
Hello Folks, I hope the new year is treating you well. We’re experiencing a bit of a cold snap here in Seattle, but slightly below freezing seems balmy...
What's Next
June 7, 2023
Hello! After more than 6.5 years at Gusto, I’ve moved on to start a new company. I’m incredibly grateful for the opportunity to work at Gusto and proud of...
Divining Dreams and Exploring LLMs
March 20, 2023
Hello! New blog post just dropped on a little app I built over the weekend called Dream Diviner. The app provides free dream interpretations. This app is...
Starting a Book - Finance for Software Engineers
May 25, 2021
Greetings on this fine Monday. Over the past few weeks I've started to put together a new project: a book. The goal is to write a book about finance for...
Why Finish Technical Migrations?
February 25, 2021
Hello! This week’s blog post tries to answer a question that I’ve been receiving a bit more at work. When and how do we make the decision to finish technical...
It Has Been 0 Days Since…
February 2, 2021
Hello! This week’s blog post explores a concept from workplace safety as it relates to engineering team health. It’s called: It Has Been 0 Days Since… The...
So You Want to Store a File...
January 26, 2021
This week’s blog post is distilled from several conversations I’ve been having at work recently. Why do we use S3? What’s an asset pipeline? Why should all...
Weekly Updates, Capital, and Ideology
January 19, 2021
Hello Folks! This week’s blog post is on a concept I use when starting or joining a young team. It helps build accountability and is a tool for radiating...
Testing Performance, Political Unrest, and New Books
January 12, 2021
Happy Tuesday, Folks. It feels a little weird to be publishing a newsletter, given the recent events in the U.S. over the past week. I’ll do something I...
Campaigns, Breaking Apart Monoliths, and Sustainable Changes
January 6, 2021
Hello! It's been a little while. I have not written a newsletter in nearly a year. 2020 threw a wrench into all of our plans. My wife and I tried to make the...
Wrapping up the series on testing
February 28, 2020
Hello Folks, Today we published the last episode of our Test Desiderata series. Over 12 episodes and 12 weeks, we examined different desirable properties of...
What are the desirable properties of tests?
February 14, 2020
Hello Folks! My colleague, Kent, and I have continued to produce videos around the desirable properties of tests. Today, we released our 10th episode. These...
What does it mean for tests to be readable and writable?
December 13, 2019
Hello Folks! I have not had the chance to write much in the past few weeks, but I have had the chance to put a few videos together on the ideal properties of...
Testing Behavior
November 14, 2019
Hello Folks! This week, my colleague and I recorded the first video in a series on testing. My colleague, Kent, wrote a post titled Testing Desiderata a few...
Taming Large Rails Applications with Private ActiveRecord Models
October 29, 2019
Hello Folks! This week’s post follows a similar theme of many previous talks and posts: How can we wrangle large Rails applications? As a business scales and...
A New Framework for Making Product-Technology Decisions
October 24, 2019
“$10 million?!” We felt like shit. Hello Folks! Throughout my career, I’ve had projects go well and less-than-well. Today brings a few stories and a...
Understanding Legacy Code with TCR
October 16, 2019
Hello! It’s been a little while. I took some time off of writing to get married in August. My wife (still weird to say) and I had a lot of fun and enjoyed...
What does empathy have to do with software? Posts and more from the spring and summer
June 19, 2019
Hello! It's been a little while since sending a newsletter out. I have not been writing that much in the past few months. Wedding planning, speaking gigs,...
Taming Monoliths without Microservices
February 21, 2019
Howdy Folks! I've finally recovered from the jet lag after heading to Australia for RubyConf AU. It was a great conference: many great talks and even better...
Better Code Through Mutation Testing
December 28, 2018
Hello Folks! I hope you’re having a relaxing holiday season. For myself, this is one of the busiest times of the year for work as Gusto helps its customers...
Same as It Ever Was - EmpireJS Talk Posted
November 13, 2018
Hope everyone had a great weekend! Earlier last week, the video for my EmpireJS talk was posted. This talk starts with a question: "What is webpack and why...
Encouraging Feedback on Your Team
October 18, 2018
Welcome to Thursday, Folks! Today brings the final post in my feedback series, Encouraging Feedback on Your Team. This post is designed to help the rubber...
Receiving Feedback
October 17, 2018
Good morning, Folks! This week I’m exploring the topic of giving and receiving feedback as a software engineer. Hopefully by writing this stuff down, we can...
Feedback for Engineers: A New Blog Post Series
October 16, 2018
Hello Folks, This week I’m trying something new: Rather than putting together a single blog post for the week, you’re getting 3. It’s an entire series called...
8 Tips for Great Code Reviews
October 10, 2018
It’s Tuesday, my friends. This week has a new blog post about giving great code reviews for your teams: 8 Tips for Great Code Reviews. This is a post that...
A Talk from EmpireJS
October 2, 2018
Hello Folks! A week and a half ago, I had the opportunity to speak at EmpireJS. This was a 2-day JavaScript conference in New York with interesting talks...
The Teeth — A new blog post about continuous improvement
July 26, 2018
It is Wednesday, my folks. This week brings a blog post about continuous improvement and the perils of large releases. I first heard the idea while listening...
Methods vs. Functions — Continuing with Simple Made Easy
July 16, 2018
Hello, Monday! This week brings a post that continues the exploration from Rich Hickey’s Simple Made Easy talk. We dive into the next item in the Simplicity...
State vs. Values — A New Blog Post About Great Software Design
July 12, 2018
It is Wednesday, my dudes folks. This week brings a new blog post based on one of my favorite technical talks, Simple Made Easy by Rich Hickey. The talk...
[Video] Goruco 2018 Talk — I’ve Made a Huge Mistake
July 4, 2018
Hello Folks! The video to my talk at Goruco 2018 was posted. This talk covers breaking up a Rails monolith at Gusto along with some concrete tips we use day-...
I've Made a Huge Mistake - Gotham Ruby Conference 2018 Talk
June 25, 2018
Hello Folks! This week brings a blog post of a talk given at the Gotham Ruby Conference on June 16, 2018. I had the privilege to deliver a talk about some...
Two New Blog Posts and More!
April 14, 2018
Hello Folks, Hopefully your spring is full of longer days and more sun without too many allergies. This week brings two new blog posts, one about refactoring...
In Pursuit of Correctness
March 28, 2018
Hello Folks! It’s been a little while. This week brings the first new post in some time. Slow start to the year. Other than this new blog post, I’ve also...
New Year, New Post
January 18, 2018
Hi Folks, This week brings a post about circular dependencies. It’s about Rails callbacks, but on a deeper level it’s about how those can introduce cycles in...
Refactoring: Removing Tangled Control Coupling
December 8, 2017
Hi Folks, It’s been a little while! We got a TV at home so we have been getting that broken in. We’ve been enjoying The Marvelous Mrs. Maisel as of late....
Quantifying Technical Debt
October 26, 2017
Hi Folks, This week brings a topic near and dear to my heart: technical debt. This topic has been an enigma in my professional life for a while now. We know...
Exercises to Deepen Your Understanding of Legacy Code
October 13, 2017
Hi Folks, Happy Friday! Today brings a simple little blog post that covers a few tactics I use to better understand legacy code. Before you change code, you...
Blog Post: Mētis
September 20, 2017
Hi Folks, This week’s blog post is about a topic I first discovered while reading the book Seeing Like a State. It’s called “Mētis” and refers to the...
Embracing Functional Programming in Ruby
September 14, 2017
Hi Folks, This week brings a blog post about bringing functional programming to a traditionally more object-oriented language, Ruby. At Gusto, we’ve been...
New Blog Post: Comment Drift
September 5, 2017
Hi Folks, Hope those in the US enjoyed yesterday’s holiday. It’s been a quiet few weeks on the blog, due to keeping busy at work. We ran a boot camp for some...
Building a Briefcase that Deploys Code
July 7, 2017
Hi Folks, This week’s post is a project that I’ve been working on for a little while now. It’s a briefcase that deploys code, in the spirit of the fabled...
Refactoring: Test Vices
June 22, 2017
Hi Folks, Today we’ve got a blog post on a refactoring tool we’ve been using at Gusto we call a Test Vice. A Test Vice is a suite of tests meant to be thrown...
Book Review: Extreme Programming Explained
June 21, 2017
Hi Folks, This week is a review of the seminal programming book, Extreme Programming Explained. If you can’t tell, I’m on a bit of a kick with reading...
Refactoring: Count the Contexts
June 16, 2017
Hi Folks, Two posts in a week! How about that? This post details a strategy called Count the Contexts. This strategy is useful for spot-checking the actual...
Refactoring: Replace Side Effects with Return Values
June 12, 2017
Hi Folks, We’re diving into a large refactoring at work, and we discovered an interesting little pattern in the process. As with many developers, we are on...
A Book Review: Domain-Driven Design
June 8, 2017
Hi Folks, Hope everyone is having a good week. This week, I’ve published a blog post on a great programming book, Domain-Driven Design. This is the book that...
New Blog Post: Deletability
May 30, 2017
Friends, Thank you for signing up to my personal newsletter. This is the first one that I'm getting around to sending. For those that may have forgotten,...