Curated Content December 2023
2023 was a great year for me both personally and professionally, and I haven't shared enough of it. I'm hoping it's been similarly great for folks reading here.
We've got some good content to round out the year, both technical and non-technical.
Articles
Semantic Versioning is a terrible mistake
While I don't necessarily fully agree with the author, I have felt the pain of breaking user-land changes in your libraries, and the pain of maintenance and upgrading.
The idea of never breaking user-land seems interesting, though I'm not sure if what you give up for it is entirely worth it, I'd be interested in attempting to develop software in such an ecosystem.
That said, it resonates enough in various software engineering ecosystems that I think businesses aren't looking at the maintenance costs properly, as it relates to dependencies in the ecosystem.
Build, Buy, or Borrow
This one is an interesting article on the different contexts and rationales that could make sense for a company to acquire another company, versus building a competitive product themselves, or partnering with the organization.
The most interesting highlight for me was the following:
An incumbent has a dangerous kind of information advantage: if they know where to look, they'll see cracks in their model before the challenger knows what's going on. Every big contract renewal is an opportunity for customers to consider their options, and the relative value of those options informs their own negotiating posture.2 So when a challenger product starts really working well, and is a few quarters away from winning some big deals, the owner of whatever product is being challenged will know it’s coming.
This ought to allow them to all but guarantee they maintain dominance, but seems not to pan out as often as you'd expect.
The future of Rails test data management
I haven't given the solution Justin Searls proposes here a shot, but I have lived through some of the problems with test factories, and refactoring test suites in order to speed them up, even after parallelizing them (both in Rails and other languages).
Because of that, and the fact that he seems to be a talented software engineer, I think his proposed solutions are worth considering in order to ensure your tests stay fast.
While I'm no longer in Ruby/Rails actively, I'd be interested in seeing how this can be applied to Elixir codebases.
Study: Why a spritz of water before grinding coffee yields less waste, tastier espresso
Not tech related at all, but I recently got an espresso machine that I've been loving, and this is an interesting combination of intuition leading folks to perform certain behaviors and then experimentation and data gathering to back it up.
A great read if you want a quick tip for improving your espresso game.
Books
Hidden Potential - Adam Grant
Adam provides highlights of interesting research, compelling stories, and why you ought to adopt a growth mindset as a manager.
This comes up, and brings up research and stories around, hiring, coaching, and managing individuals in your organization.
Especially if you're at an organization that can't or for any variety of reasons doesn't want to hire folks from, or in a similar fashion to, big tech a world of opportunity awaits you if you look for Hidden Potential.
Conf Talks
No conf talks this month.
Podcasts
No podcasts this month.
Microposts
I've yet to see data on return to office (RTO) mandates I find compelling. Most of it shapes up like from this post above from @sleepyfox.
(This is further corroborated in my mind by places like Amazon rolling out RTO without citing meaningful data, despite being one of the most data intensive tech companies on the planet.)
A bit of fun for you to round out this year's curated content. I expect that while few of the posts we see over the next year are going to be quite this on the nose, I'm guessing we're going to see a number of these are going to be extremely relevant for many software organizations and to make great conf talks.