Uncategorized

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

I recently watched a presentation by Peter Campbell from 2016’s O’Reilly Software Architecture Conference in London. The presentation was titled “Architecture as Belief.” The talk’s emphasis was on identifying and discussing the fundamental principles that underly decision-making as software architects. Peter did a very good job identifying that software architecture is not primarily about making…

Read More Principles of Software Engineering

Software Architecture is a term that is often used, and abused. Frequently it is used as shorthand for all the technical decisions that go into a software project. Other times it is used to refer to diagrams and documentation so disconnected from implementation that its usefulness is completely suspect. But, the reality is that every…

Read More What is Accidental Software Architecture?

I recently got to attend OSCON in Austin, Texas, and it was a great experience. Before the main conference I spent two days going through a hands-on Software Architecture training course led by Neal Ford. Towards the end of the training he took some time to discuss presentation techniques. In that portion of the training…

Read More Give The Talk; Don’t Talk About The Talk