Dec 23, 2022 3:01 pm
I hope you and yours are bundled up warm. The cold front that is hitting the country hit us yesterday, dropping our temperatures to -6 and -25 windchill. For reference, I've lived in places where I've never needed a serious winter jacket.
In this holiday email I want to write about integrations and one other thing. Maybe I was half asleep when this came to me, but there was a strong connection in my mind with holiday festivities and integrations, and you poor souls get an email about it.
Let me start by saying I'm an introvert, and so I tend to be a bit sensitive to gatherings of people and events. Before I ever arrive, I have a loose plan in my mind about how to handle the upcoming "Fun," as well as exit quickly. My wife would say she's an introvert too, but she isn't. She loves striking up conversations with folks, and often the hardest part of leaving is getting her out of conversations.
Well, where on earth are you going with this, Ryan? I'm glad you asked! As an introvert, I create, plan, and engage in social events as a loose coupling. It's more like I'm a visitor, and my life will be fine with or without the event. I'm always ready to adapt so I'm fine and exit when it's appropriate. My wife, in contrast, creates a tight coupling to the events. She creates relationships rapidly with people that bind them together. Her success is completely dependent on the relationship. The dependency is strong enough that she cannot exit without help.
Now, this idea of coupling isn't novel at all, but I repeatedly see where software and products are built with extremely tight coupling to other systems. There're lots of reasons to do integrations, but the one, in particular, I'm notorious for breaking, is akin to a holiday party. In other words, it's an integration that, at its core, is meant to be fun, optional, and add to the rest. These are the integrations that are easiest to practice loose coupling techniques with, as they don't break the core of your product one way or another.
How do you go about a loose coupling? Well, that's bigger than an email, but a good guide is that you have to treat that external service as optional. It may or may not work, it may or may not change, it may or may not perform. How do you safely engage with a truly optional thing? You have to create a way to loosely couple to it!
Once you get to practice to this, the core approaches to loose coupling can be applied to everything, including databases and frameworks. Ever swap a database implementation without downtime? How about pivot from React to Angular while having high code reuse? This capability is what lies at the end of the journey.
So that's my long-winded connection between holiday events and software coupling.
On to the second and brief thing. I'm in the process of testing an idea in the market, and I'd love your thoughts.
The idea is that people would like easier access to locally produced food. Farmer's markets try to do this, but they're not a really great answer. So I was thinking of building a mobile app that serves as a marketplace where people who grow food can sell directly to people. Then, the growers and buyers all meet at a designated time and spot to pick up the produce.
I'm calling it reko.day for now, but I'd love for you to take a look at the very, very early site for it and if you're interested in it sign up!
And with that, I want to wish you a very lovely holiday!