My name is Kelly Sutton. I’m a software engineer living in Seattle. I’m the CTO and co-founder of Scholarly Software. Previously, I was on the engineering team at Gusto.
I’ve started and sold Designer News, HackCollege, and LayerVault. I was also known at one time for the Cult of Less.
If you would like to get in touch, please drop me an email.
Below are a few blog posts I’ve written over the years.
If you would like these blog posts and more piped to your inbox on a regular basis, sign up for my newsletter.
2024
2023
2022
2021
-
Why Finish Technical Migrations?
-
It Has Been Zero Days Since…
-
So You Want to Store a File…
-
Weekly Updates
-
Testing Performance
-
Campaigns
2020
-
Sustainable Changes
-
Enumerate the Options
-
From 25 Minutes to 7 Minutes: Improving the Performance of a Rails CI Pipeline
-
How to Break Apart a Rails Monolith
2019
-
Taming Large Rails Applications with Private ActiveRecord Models
-
A Framework for Making Technology-Product Decisions
-
Keep All Commits Green
-
A Vacancy Has Been Detected
-
Ex Post Facto Testing
-
3 Best Practices for Rails Engines
-
This One Technology Will Solve All of Your Problems
-
Taming Monoliths without Microservices — Rubyconf AU 2019 Talk
2018
-
Better Code Through Mutation Testing
-
Activities for Encouraging Feedback on Your Team
-
Receiving Feedback
-
Giving Feedback
-
Feedback for Engineers
-
8 Tips for Great Code Reviews
-
Same as It Ever Was — EmpireJS 2018 Talk
-
Simple Made Easy: Imperative Loops vs. Set functions
-
The Teeth
-
Simple Made Easy: Methods vs. Functions
-
Simple Made Easy: State vs. Values
-
I’ve Made a Huge Mistake — GoRuCo 2018 Talk
-
How This Blog is Built
-
Refactoring: Remove Mixin
-
In Pursuit of Correctness
-
Rails Callbacks Flatten Layered Architecture
2017
-
Year in Review, 2017
-
Refactoring: Removing Tangled Control Coupling
-
Quantifying Technical Debt
-
Exercises to Deepen Your Understanding of Legacy Code
-
Mētis
-
Embracing Functional Programming in Ruby
-
Comment Drift
-
A Reading List
-
Building a Briefcase that Deploys Code
-
Test Vices
-
Extreme Programming Explained
-
Count the Contexts
-
Refactoring: Replace Side Effects with Return Values
-
Domain-Driven Design
-
Deletability
-
Design Pressure
-
Outside In, or Inside Out?
-
Do We Need GraphQL?
2016
-
A Ruby Gem: strict_templates
-
Visualizing a Job Search or: How to Find a Job as a Software Engineer
-
Side Project: Puppy Alert!
-
A Real-time Recipe for Rails and Ember using Pusher
-
Side Project: Personal Network
-
Something Fun: The Search Continues
-
Book Review: Never Eat Alone
-
Generating Color Utility Classes in SASS
-
Why Do Developers Hate LinkedIn?
-
Book Review: Winning with Data
-
Boiling the Ocean with Markup
-
Storytelling
-
Last Day at imgix
2015
-
Startup Theory of Relativity
-
Monoliths, Microservices, and MVCx2
-
Rethinking Static Sites
-
Joining imgix
-
Hype Train, April 2015
-
Avoiding component “action cruft” in Ember
-
Public Drafts with Jekyll
-
Unit Testing Ember Controllers backed by Ember Data
2013
2012
-
Google Fiber and the 15-Year Plan
-
Berlin
-
The Future of Retina Images on the Web
-
Length Over Strength
-
Abstracting Energy
-
Defining a Decade
2011
-
Making the Jump
-
12 Steps to Writing Better Web Code
-
Staying Fast
-
Why Don’t Developers Dress Better?
-
Your Idea is Terrible
-
Ideas Aren’t Worthless
-
LayerVault is a Strange Loop
-
My Initial Take on FCP X
-
Friendly Competition in Startups
-
Fixing Computer Science College Education