Filter by:


Jul 09 2019

Practices and Tools that Make for a Good Project

What makes for a good software project, from an engineering standpoint? There are projects that are a joy to work on, and others that are a drag. The industry has accumulated enough wisdom to be able to name a few

Jeff Cole

AgileCode QualityTestingWeb ApplicationsCloud Solutions

Jun 26 2018

Learning to Code: You’re Doing It Wrong

These days, it seems that almost everybody wants to learn to code — and if you believe all the boot camps and book titles that have surfaced over the past two decades, you might think it's also easy to do. It

Chris Shoemaker

EngineeringCode Quality

Mar 08 2016

How destructuring saved the Empire

As a longtime Ruby programmer who has just recently begun to focus more on Clojure, I find myself continually surprised by all the little treasures that Clojure offers. One of those treasures is Clojure's sophisticated support for destructuring - it's

Matthew Forsyth

Code QualityClojureEngineering

Jan 14 2016

When is "Code as Configuration" a good idea?

Lately, I've been working on Satellite, an open-source monitoring solution for Mesos clusters. It has become clear that Satellite needs to be easier to install and configure, and that we may need to change the very nature of its configuration

Matthew Forsyth

EngineeringRuby on RailsCode QualityClojure

Sep 01 2015

Static guarantees.

As developers we're tasked to take a problem specified in the fuzzy language of human interaction and translate it into a representation that can be understood by a machine. To do that we have to simulate the machine in our

Daniel Wilson

Code QualityEngineering

Aug 25 2015

Understanding technical debt and discretionary spending

Who's afraid of big bad technical debt? Every conscientious software engineer knows about technical debt. Lots of us learned the hard and painful way that deferred refactors and sloppy code can and will come back to bite you eventually. Since we

Chris Shoemaker

Code QualityEngineering

Feb 04 2015

Optimizing your code for clarity.

As a developer you will always encounter situations where there are multiple ways to accomplish the same task. Evaluating your options can be done by acting as if you are reviewing the resulting code. The 4Cs are a useful tool for


Code QualityOptimizationEngineering