I read a story over on Hackernoon by Jonny Asmar — Javascript Has Already Won. The premise is that Node.js and JavaScript have become so far reaching that it has won out over other programming languages. Unfortunately, this entire line of thinking is nonsense. Not because JavaScript can’t do all the things claimed, but because there is…

Read More JavaScript Can Not Win

When we are young we ask a lot of questions. As a father of five, this fact is not always my favorite thing about my kids. But, kids’ inquisitive natures is one of their strongest tools for learning. It’s a cliche that “there is no such thing as a dumb question.” But, why do we…

Read More Ask Questions — Even “Bad” Ones

Several months ago I wrote about my personal principles of software engineering. That post was informed by a talk a watched by Peter Campbell. Since then, I have been reflecting how to align various ideas I have been addressing independently up to this point. To help bring these various ideas together I want to start…

Read More Defining Principles for Software Engineering

In a microservices system data tends to get spread out. Without a consistent mechanism for handling identifiers it can become increasingly difficult to follow how data flows through the system. And, it can become problematic to even know what data is being dealt with. In many monolithic applications a database tends to act as the…

Read More Identifiers in Microservices Systems

This is the second installment in a short series on my experiences applying Clean Architecture to Ruby on Rails. The first part provides some helpful context for this installment. Working on Green Field projects is often very enjoyable. Such projects come with few encumbrances, and lots of room to explore. They can be really good…

Read More Applying Clean Architecture to Ruby on Rails: Green Fields

RubyConf 2017 has wrapped up, and it was great. If this is the first of this series you are coming to, please check out the retrospectives from day one and day two. “You Are Insufficiently Persuasive” (Sandi Metz) Sandi Metz always delivers very compelling talks and her emphasis in this keynote on the things that make…

Read More RubyConf 2017 Retrospective — Day 3

This is the second installment of my daily retrospectives on RubyConf 2017. There was a lot of great material produced on the first day and I suggest going back and reading my first day restrospective. Today I was reminded that one of the things I’ve enjoyed about the Ruby community is the diversity of people…

Read More RubyConf 2017 Retrospective — Day 2

As a devoted Rubyist for the last eleven years, I continue to find things to love about Ruby and its direction as a programming language. This year’s RubyConf is my sixth, and has a fun symmetry with my first attendance back in 2010 when RubyConf first came to New Orleans. Below are my thoughts on…

Read More RubyConf 2017 Retrospective — Day 1

On the team I work with at Nav we’ve got three different projects running that have all been experimenting with Clean Architecture. My project in particular is a green field effort where Ruby on Rails was chosen as the starting point and applying Clean Architecture in this context has been really instructive. Many of the…

Read More Applying Clean Architecture to Ruby on Rails: First Impressions

Whitney Meers wrote an article that produced an interesting conversation in my employer’s engineering Slack channel. The article presented a sarcastic take on “11 Things Developers Love Hearing From Non-Developer Co-Workers.” The conversation this inspired between myself and some coworkers was how could these eleven comments be addressed in more constructive ways, instead of letting…

Read More 11 Opportunities for Better Conversations