For some reason, I’ve been seeing a lot of people piping in and saying and/or predicting that monolithic software architecture is going to be making a comeback starting this year. It probably doesn’t help that once I started reading the first article about companies moving from services to monoliths, Google kept highlighting more, but I think the impetus of this was Kelsey Hightower’s unpopular opinion segment arguing that most companies that switch to service-oriented architectures end up creating “distributed monoliths” that are the worst of both worlds. By the way, you’ve likely noted that I’m just using the term “service-oriented architecture” (OK, “SOAs”, because I’m lazy) for both service-oriented architectures and microservices – that’s just to make my life easier – as far as I’m concerned a microservice is just an SOA service with a very small scope.
Whenever we write applications or services, we generally include some form of health check that we can easily (and regularly) poll to make sure everything is still up and running. That health check likely confirms that your code has access to everything it needs to function correctly. Well, generally that’s “everything it needs that its developers can control.” Rarely does our health check include external dependencies, even though almost all released software has dependencies that are outside the control of its authors. So, how do you tell when the external systems you rely on to work, don’t?
When commenting on political advertising on Facebook and Twitter, I cited Jeff Jarvis’s Unpopular Decisions, but never responded to his comments on the Facebook news tab. While I generally follow Jarvis’s blog precisely because I find his commentary on news insightful and well thought-out, this is a rare instance where his passion for the ideal of journalism seems to eclipse his typical well-thought analysis. In doing so, he missed a great opportunity to use his personal thoughts and opinions to publicly evaluate and potentially update the scope and work of the News Integrity Initiative (NII) that he helped launch
Much ado has been made about political advertising on sites like Twitter and Facebook since they announced their general policies around the ads, such as Jeff Jarvis’s take Unpopular Decisions and Ben Thompson’s Tech and Liberty. It’s easy to make this about the companies and the applications they offer, and to complain about how they’re ruining everything, but that strikes me as blaming online applications for the behavior of people offline. It also shifts responsibility for some of the problems onto targets of convenience regardless of responsibility.
A couple of months ago, developers on Twitter started spamming jokes or frustrations about the mythical “10X engineer” in response to this tweet by a startup investor from India. Thankfully, outside of this guy’s original tweet thread, nobody else was buying the “10X engineer” nonsense. Unfortunately, the fact that this guy tweeted it in the first place means there’s too many people out there laboring under a delusion that desperately need to be set straight.
I’m curious how many people identify with this scenario – to check all of your emails you have flip between at least 2 accounts, maybe even 3. And that’s just emails. There’s also calendars – again 2 of them, maybe 3 if you have a family. Most of us have multiple “identities,” each with basic services associated with them, like email, calendars, sometimes phones and/or some form of instant messaging. It’s the type of thing that’s been done by so many people in so many places that it’s ingrained in us as “normal,” but the more I think about it, the less sense it makes.
I’ve been developing in Java since late 2009. It’s a good language, but I’m starting to wonder what kind of future it has. I’ve been using Java 8 since shortly after it came out, even though Java is currently on version 11. Java’s obviously still being developed, so why not move forward? A big part isn’t the infamous module system that launched in Java 9, and broke a lot of stuff. Part of it is the fact that Java is owned and controlled a by a company that seems more interested in rent-seeking off oa Java than doing anything innovative with it.
Software is written to solve a problem. Sometimes, it’s more than one problem, but you get the idea. Being someone who both uses and writes software, I’ve found the best software out there doesn’t just solve a problem, but was written with a clear and definitive opinion about how that problem should be solved. That’s not by accident or coincidence, it’s very much causal.