DEV Community

Cover image for The Platformer #29: Extremely Hardcore
Zef Hemel for Mattermost

Posted on

The Platformer #29: Extremely Hardcore

To get my Friday boost of inspiration last week, I took my usual detour home after dropping the kids at school. It took a solid a solid 45 minutes of detouring, during a pretty-damn cold November morning here in Poznań at -3C (about 26F).

What can I say, I’ll do whatever it takes!

I’m extremely hardcore.

Disclaimer: In this The Platformer, I will use “extremely hardcore” liberally, which is a reference to a demand Elon Musk made of his employees at Twitter this week (if you’re unaware). Long-time readers of The Platformer should already know this (I would hope), but I love irony and often joke. My references to being extremely hardcore are going to be ironic. Honestly, what’s happening at Twitter right now is concerning and I hope things end well — although it doesn’t look particularly good. Times are getting tougher everywhere, but Twitter is in a particularly bad place.

On to the better news with some zbieranie czereśni (that’s Polish, according to my wife).

Cherry picks

A large ongoing topic has been the Multi-Product Architecture. Here’s this week’s multi-product architecture update. This week we achieved a major milestone: Boards is now running as a product on community 🥳.

And as with every solid platform-related launch: :crickets:, you had no idea this happened. You just reloaded and everything... was still there (mostly). You hoped for something extremely hardcore but, got nuthin’. How disappointing.

The real action took place behind the scenes. Getting this done required some hardcore pipeline action. Some with good judgment may even assess it as extremely hardcore pipeline action.

On the mobile platform end, as we’re getting closer to the mobile v2 GA we’re trying to pull our weight to shipping this thing on time. Hardcore style. We’ve now added support for announcement banners (allowing us to broadcast our new levels of extreme hardcoreness), and we will soon allow you to share how extremely hardcore fans you are of v2, with an in-app review dialog. We have also integrated Sentry, so we will have more insight into how the app is performing and when it crashes, hardcore. And last but not least, the work on a nice piece of share sheet is heading toward Android (previously only implemented on iOS).

On the web platform end, we continue our work on integrating the new menus in more places. We participated in the extremely hardcore pipeline action required to get Boards-as-a-Product shipped on community. We continued our work on extremely hardcore performance testing, and... we upgraded more dependencies. Just random dependencies you ask? Hah, of course not — some, extremely hardcore ones.

On the desktop platform end, we’re in extremely hardcore negotiation with Apple to ship v5.2.1 of our desktop app to the Mac app store. While flexing that muscle, we’re also working on the desktop diagnostics UI. While not technically platform work: floating panels for Calls are coming to the desktop app, adding to the list of differentiators that make the desktop app The Best Client™️ for every extremely hardcore Mattermost user. And if you’re not one of them, you have no business being here, frankly.

On the server platform side, half of the team was involved with the aforementioned extremely hardcore pipeline action. If you have any questions related to Gitlab, ATA (Ask Them Anything)! The server platform team in general is a team with a high level of hardcoreness. We supported some extremely hardcore load testing of upcoming Channels features, for instance. And we got Perseus to the level where we can put some extremely hardcore strain on it, to it see if that will make it sweat. Writing a PgBouncer replacement in 6 weeks could be assessed as an extremely hardcore engineering effort.

On the QA platform side, we supported the hardcore Mattermost 7.5 release. We’re also going to temporarily support the Calls team with their end-to-end testing needs for a while. The goal is to make sure Calls sustains its high level of quality. Hmm, what would be a good name for this Mattermost-level of quality? Right, one could frame this as a extremely hardcore level of quality. Also soon, mattermod will gain the ability to automatically run end-to-end tests for mobile.

Opportunity Cost

“I hate what I've become! Trying to twist reality into making it appear rosy, when it's not. Everything sucks! 😛” — Anonymous

When you move into management one of the things you miss is the quick dopamine hit of delivering a feature, fixing a bug. Everything is long term and you don’t know what’s going to make an impact. “Observations” like this are the little things that make it all worth it.

So let’s double down on my journey to make everybody see that in fact, nothing sucks, and everything is an opportunity (or in other words: turning punch holes into dynamic islands).

As you may have noticed, a lot of our industry is struggling. Many companies seem to have been overly optimistic about growth, and now have to course correct. At Mattermost we seem to be in a stable place, but this is a time to be more mindful than before for everybody. The sky is less the limit than our industry thought (or that sky is positioned lower than we anticipated).

So, where is the opportunity in that?

There’s an invaluable skill that is particularly important when we have more constraints than usual: the ability to assess impact and opportunity cost.

We like to romanticize about “10x engineers” — engineers that can seemingly pull off amazing engineering feats in 10x less time than others. Great stuff. While we can ask a lot of questions about whether these 10x engineers exist, how they operate, if they’re desirable — the discussion misses a much more important point.

Even if you build a feature 10x as fast, if nobody ends up using it, the value is still 0. So should we be obsessed with the amount of code a single person can squirt out in a day, or only really care about the impact that work has on the user?

Yes, that’s a rhetorical question, Elon.

I’ve seen large teams build incredibly complex and technically impressive features for years that... solved no significant problem, ended up being used by hardly anybody, and were ultimately canned (if we were lucky).

I’ve also seen single-line commits that boosted revenue by 20% (yes, it was about the positioning of a button).

There’s always an infinite number of ideas of things we could do. Our backlog is never empty.

The gains don’t come from figuring out how to crunch through this backlog faster or with more people, but how to prioritize them by actual impact, and how to implement those selected items in the highest impact way possible (e.g. by applying the Pareto principle).

Since time is limited, every single thing we decide to spend time on implicitly means saying no to something else. This is what’s called opportunity cost and especially in “the sky is the limit” times we tend to ignore it. Saying yes is easy, especially if, from a technical perspective, something seems interesting. Saying yes to the right things and no to everything is much harder.

So, before blindly jumping onto something that’s at the top of the backlog, or that seems technically interesting we need to step back and reflect: Is this important? Will this make a difference? Is there something else I can do that achieves the same goal but is simpler and takes less effort?

Only when we’ve convinced ourselves this is the best way to spend our time, we should shift to doing the extremely hardcore engineering fun part.

Shouldn’t we always operate this way, though? Absolutely, however, times that ask us to do more with less, or more with the same, offer the opportunity to flex this muscle even more.

Top comments (0)