Scott Ringwelski's Blog

Oct 10, 2019

Please just stop saying "just"

Do you work in Software Engineering, and have you seen messages or sentences like these before? “Can’t we just set up a redirect to this other domain?” “Why don’t we...

Feb 21, 2019

Serverless Use Cases At Startups

Recently, as the serverless hype seems to be calming down a bit and stabilizing, I’ve been more and more interested in what it can offer to mid-size startups. In particular,...

Aug 17, 2018

Spoiled Milk and Application Metrics

It’s a lazy Saturday morning, the sun is out, and you’re craving a big bowl of Honey Bunches of Oats. Only one problem: The milk expired yesterday. Gasp, unsure what...

May 28, 2018

Autoscaling Your Kubernetes Service

When I first started exploring Kubernetes, autoscaling appeared to be a flip-a-switch option that simply needed to be turned on. Indeed, it provides a lot for you out of the...

Mar 11, 2018

Continuous Delivery Is Not Tools

When googling for what Continuous Delivery is, definitions that come up often explain CD as a set of tooling and systems that have been achieved. For example: code is deployed...

Feb 12, 2018

Intro to Extending Kubernetes with Operators

One of the strengths of Kubernetes is its API-driven design, which allows for for the cluster to be managed using API calls programmatically. As outlined in the API Documentation, even...

Nov 18, 2017

How We Ship Code Continuously at Handshake

We’ve previously written about our journey towards practicing continuous delivery. Most recently, we wrote about Blazing fast builds with buildkite which outlines our efforts towards achieving fast build times. We’ve...

Oct 22, 2017

Interpreting Kent Beck

One of my favorite quotes of all time is from Kent Beck: https://twitter.com/kentbeck/status/250733358307500032?lang=en I have a few interpretations. Incrementally Build Features Break up the work so that the eventual change that...

Jan 16, 2017

Knockoff: A poorly named read-replica gem

Our application at Handshake does a lot of database reads. Eventually, we needed to set up read-replica, and chose Octopus to do so. Octopus worked — but it had its downsides. The...

Jun 1, 2016

Testing a Rails Project Structure, Dependencies and More

At Handshake we rely heavily on automated testing. This of course includes unit tests, integration tests, and UI testing which one might consider the “normal” tests for a web application....

Apr 26, 2016

Having the Right Tool for the Job

A phrase I often heard from my father growing up is how important it is to “have the right tool for the job”. Often, this was in the context of...

Dec 18, 2015

On Stoicism

Before reading “A Guide to the Good Life: The Ancient Art of Stoic Joy” I knew almost nothing about philosophy. And… relatively speaking I probably still don’t. But, when DHH...

Nov 1, 2015

We’re not afraid to fail

A pitch one hears often in Silicon Valley from startups is that they’re not afraid to fail. They move fast, make mistakes, learn from them and move on. That’s great!...

Oct 31, 2015

Always Communicate Better

Often I get caught up in always improving my technical skills. It’s easy to justify why, and it often feels like the one thing that matters most to improve. However — one...

Oct 4, 2015

Software Development is a Team Sport

Github Universe wrapped up a couple of days ago. It was absolutely wonderful. I’ve learned tons about building, collaborating on and deploying software. I’ve got a chance to hear from...

Jul 11, 2015

An Adventure in Debugging Gems and Ruby Mixins

An Adventure in Debugging Gems and Ruby Mixins Occasionally when upgrading gems, breaking changes come along and require debugging and fixing the issue. Oftentimes going through the README, CHANGELOG and other...

Jan 17, 2015

On Code Review Awkwardness

Code reviews are awesome. They give team members insights into what changes are happening in the code base, reduce the number of bugs (and does so early on to reduce...