The Curious Engineer

All blogs / Software / engineering practice

Kelly Sutton

kellysutton.com

Software / engineering practiceRuby / RailsEngineering management / careers

Posts
102 from 3 Aug 2010 to 22 May 2026
Posting
now and then (2 in the last year)
Kind
personal blog
Feed
https://kellysutton.com/feed.xml

2026 2

  1. Moving on from React, 2 Years Later
  2. AI Retrospective, Predictions

2025 4

  1. How We’re Working, 2025
  2. Designing a Hiring Loop in the Age of AI
  3. Letting Others Get Rich
  4. Moving on from React, a Year Later

2024 2

  1. How We’re Working, 2024
  2. Moving on from React

2023 2

  1. What’s Next
  2. Divining Dreams and Exploring LLMs

2022 1

  1. TikTok Videos

2021 6

  1. Why Finish Technical Migrations?
  2. It Has Been Zero Days Since…
  3. So You Want to Store a File…
  4. Weekly Updates
  5. Testing Performance
  6. Campaigns

2020 4

  1. Sustainable Changes
  2. Enumerate the Options
  3. From 25 Minutes to 7 Minutes: Improving the Performance of a Rails CI Pipeline
  4. How to Break Apart a Rails Monolith

2019 8

  1. Taming Large Rails Applications with Private ActiveRecord Models
  2. A Framework for Making Technology-Product Decisions
  3. Keep All Commits Green
  4. A Vacancy Has Been Detected
  5. Ex Post Facto Testing
  6. 3 Best Practices for Rails Engines
  7. This One Technology Will Solve All of Your Problems
  8. Taming Monoliths without Microservices — Rubyconf AU 2019 Talk

2018 16

  1. Better Code Through Mutation Testing
  2. Activities for Encouraging Feedback on Your Team
  3. Receiving Feedback
  4. Giving Feedback
  5. Feedback for Engineers
  6. 8 Tips for Great Code Reviews
  7. Same as It Ever Was — EmpireJS 2018 Talk
  8. Simple Made Easy: Imperative Loops vs. Set functions
  9. The Teeth
  10. Simple Made Easy: Methods vs. Functions
  11. Simple Made Easy: State vs. Values
  12. I’ve Made a Huge Mistake — GoRuCo 2018 Talk
  13. How This Blog is Built
  14. Refactoring: Remove Mixin
  15. In Pursuit of Correctness
  16. Rails Callbacks Flatten Layered Architecture

2017 18

  1. Year in Review, 2017
  2. Refactoring: Removing Tangled Control Coupling
  3. Quantifying Technical Debt
  4. Exercises to Deepen Your Understanding of Legacy Code
  5. Metis
  6. Embracing Functional Programming in Ruby
  7. Comment Drift
  8. A Reading List
  9. Building a Briefcase that Deploys Code
  10. Test Vices
  11. Extreme Programming Explained
  12. Count the Contexts
  13. Refactoring: Replace Side Effects with Return Values
  14. Domain-Driven Design
  15. Deletability
  16. Design Pressure
  17. Outside In, or Inside Out?
  18. Do We Need GraphQL?

2016 13

  1. A Ruby Gem: strict_templates
  2. Visualizing a Job Search or: How to Find a Job as a Software Engineer
  3. Side Project: Puppy Alert!
  4. A Real-time Recipe for Rails and Ember using Pusher
  5. Side Project: Personal Network
  6. Something Fun: The Search Continues
  7. Book Review: Never Eat Alone
  8. Generating Color Utility Classes in SASS
  9. Why Do Developers Hate LinkedIn?
  10. Book Review: Winning with Data
  11. Boiling the Ocean with Markup
  12. Storytelling
  13. Last Day at imgix

2015 8

  1. Startup Theory of Relativity
  2. Monoliths, Microservices, and MVCx2
  3. Rethinking Static Sites
  4. Joining imgix
  5. Hype Train, April 2015
  6. Avoiding component “action cruft” in Ember
  7. Public Drafts with Jekyll
  8. Unit Testing Ember Controllers backed by Ember Data

2013 1

  1. Great Design is Great Writing

2012 6

  1. Google Fiber and the 15-Year Plan
  2. Berlin
  3. The Future of Retina Images on the Web
  4. Length Over Strength
  5. Abstracting Energy
  6. Defining a Decade

2011 10

  1. Making the Jump
  2. 12 Steps to Writing Better Web Code
  3. Staying Fast
  4. Why Don’t Developers Dress Better?
  5. Your Idea is Terrible
  6. Ideas Aren’t Worthless
  7. LayerVault is a Strange Loop
  8. My Initial Take on FCP X
  9. Friendly Competition in Startups
  10. Fixing Computer Science College Education

2010 1

  1. Choosing New York Over San Francisco