Dan Lebrero writes on software architecture, Clojure, Kafka, and his experience as a CTO, including team management.
Commenters link his Wireshark and PlantUML architecture post as a favorite and cite his CTO diary posts on downsizing and team chaos engineering.
Friendships can transcend teams, personalities are not going to be modeled in software and 'personal situation' is a great way to accidentally make a bad situation worse, for instance: by deciding to keep someone who has a family in favor of someone who does not but who is instrumental to the company in non-obvious ways.
So no, I don't see that particular part addressed well or even at all through those three sets of keywords and I've seen companies be utterly destroyed because they fired a guy they thought wasn't contributing enough who just happened to be the glue holding the whole thing together.
This is not a software problem, and it can't be approached with the same toolset that you would use to figure out register optimization, it is first and foremost a people problem. The OP is seriously out of their depth and too full of themselves due to their recent promotion to realize this.
That realization won't be long in the coming though, I predict that within six months there will be another blog post about how he left this toxic company behind to go somewhere else without realizing that he was part of the problem all along.
For reference, I give you his blog post from six months ago:
https://danlebrero.com/2020/06/10/you-dont-believe-in-clean-code/#content
"We couldn't operate their business and continue collecting data from their customers, while continuing to meet our own high standards as a global company."
My hunch as an outsider is that Smyte wasn't GDPR compliant. Their leadership knew it, they knew they couldn't easily become so (for instance, they may have been using Kafka in a way where compaction wouldn't help, and didn't want to build an encryption-based monstrosity [0]), realized that they wouldn't increase in value as a business due to that risk, took an acquihire for cheap in order to give their employees a decent landing and give a return to their investors, and couldn't tell anyone about these plans in advance because it might jeopardize the transaction.
EDIT: They were indeed using Kafka per [1], and due to the strict latency requirements on their business, that may have ruled out the type of encryption scheme in [0].
[0] https://danlebrero.com/2018/04/11/kafka-gdpr-event-sourcing/
[1] https://www.youtube.com/watch?v=6ByXQfIq5uU
Take one full day every other week where you play around, learn and explore.
If you have not been able to do this at least 5 times last quarter - why not? What can we do to allow for that to happen.
This is an example of an actual goal I have for members of my team - it is Specific, Measurable, Attainable, Realistic/Relevant and Time-bound.
It's also tangential to the OP's topic here in a couple of ways.
Good things happen when you allow for slack, but we often put too much pressure on ourselves, and won't allow it.
I'm looking at it as a bit of "lucky lotto":
https://danlebrero.com/2021/06/30/cto-dairy-lucky-lotto-chaos-engineering-for-teams/
My favourite Wireshark link: https://danlebrero.com/2017/04/06/documenting-your-architecture-wireshark-plantuml-and-a-repl/
Generating a sequence diagram of a running system w a bit of Clojure code and PlantUML mixed in.
Seems like this comment and this article:
https://news.ycombinator.com/item?id=25713859
https://danlebrero.com/2020/12/02/cto-diary-downsizing-team-firing/
At least one CTO has actually tried exactly that:
https://danlebrero.com/2021/06/30/cto-dairy-lucky-lotto-chaos-engineering-for-teams/