As software consultants, we work with a lot of legacy software systems. Although we serve clients seeking new custom software as well as those with...more.
Every software system is built on top of a towering stack of abstractions. It’s an unavoidable arrangement if we ever want to deliver working software....more.
Building a Golang project from scratch requires making some important decisions that will shape the future of the project, providing a scaffolding for yourself and...more.
Ports and Adapters is an architecture pattern that aims to decouple your application from the details. By details here, I mean things like: Your web framework...more.
Isn't it great to be able to sign in to one application (Trello, for example) using your credentials and user profile that are stored somewhere...more.
RubyConf 2018 kicks off today in downtown Los Angeles. Since 2001, RubyConf has gathered the global Ruby community to discuss emerging trends and share insights....more.
Microservices are a big deal. They can give us some pretty big wins for our architectures and teams, but microservices have plenty of costs too....more.
[Updated 2018-04-16] I was corrected on Twitter about how Event (async) invocation throttling behaves, and have updated this post accordingly in several places marked like...more.
I first heard about the idea of deferring database decisions from Bob Martin, who pioneered the concept while working on FitNesse and has expanded on...more.
I'm a proponent of building small, composable pieces over one large piece that does many things. The large piece usually works well, but it eliminates...more.
Go lang offers a wide range of features that help us achieve loosely coupled program designs. Coupling refers to the direct knowledge that an element...more.
A developer joining a project, unless the project is starting a completely new application, will be working with dreaded “legacy code.” The process of becoming...more.
What do architects (designers of buildings), software developers, and thieves have in common? They each have a pattern language. I was watching “Ocean’s Twelve” recently...more.
A recurring theme on the 8th Light blog is decoupling your applications from the implementation of details. A detail can be anything from UI elements...more.
Dependencies are nearly unavoidable for non-trivial software projects. These can be large dependencies, such as web frameworks and databases, or smaller decisions, such as pagination...more.
When the Single Responsibility Principle is taught among developers, one aspect - the responsibility - is harped on the most. But what counts as a...more.