Software architecture hot tips:
- Good things are better than bad things, except when they're not
- Also nothing is good or bad
- It depends
- The answer to every question is "it depends", except for when it doesn't. It depends
- Name three things you like. You can't have them at the same time
- No.
- There are many definitions of software architecture, but none of them are correct
- There's no such thing as software architecture
@kenbot
- any decision you make now will be wrong
- you have to make a decision now, or things will be worse
@nonspecialist @kenbot
- This decision will be better than the last one
- Next time you'll do better
@smarthall @kenbot
- if you don’t make a decision, it will be made for you and you’ll have to live with the consequences
@nonspecialist @smarthall @kenbot If you do make a decision, you'll still have to live with the consequences. Even if your predecessor made the decisions, you'll live with the consequences
@nonspecialist @smarthall @kenbot It's worse than that: Not making a decision is, in itself, a form of decision. Usually a bad one.
@nonspecialist @smarthall @kenbot
- not making a decision is a decision. It's usually wrong.

@nonspecialist @kenbot

Every decision you make succeeds in teaching you something. Do not fear making a "wrong" decision, embrace the excitement of learning definitively what the right decision is!

Well, this is doing the numbers as they say.

So, with my limited platform:
- trans women are real women
- trans men are real men
- be excellent to each other

@nonspecialist @kenbot I thought you were describing moderating a chat group for a moment there...
@philpem @kenbot there are several similarities, yes
@nonspecialist literally my life right now.
@kenbot ah yes, metamodern architecture

@kenbot I agree. Mostly.

bad things are always bad. Good are sometimes bad.

@kenbot I make a point of never telling clients ”it depends”. It’s like handing over the responsibility of a hard decision to someone that doesn’t have a clue.
I usually outline the problem, the alternatives and hand them my recommendation. Then they go ahead doing the opposite because they have a gut feeling, but at least I’ve done my part. 😉
@mikaellundin With you 100% there. It's always true, and therefore carries no weight on its own
@kenbot
- However you interpret a user's instructions will be wrong.
- However you interpret a user's insistence of what you should have done will also be wrong.
@kenbot
I'll stick to the
- No
@kenbot I'm currently seconded to my org's architecture team for three months and this hits hard
@kenbot - anything that doesn't seem to make sense is that way for "historical reasons"
@kenbot There are no silver bullets, except sometimes.
@kenbot If you say “it depends” but don’t say what it depends upon, I have to assume you just don’t know the answer, but don’t want to admit it.

@Adamlett To want to answer "What does it depend on?" is laudable. The problem is that the true, honest answer to that is also often "It depends." It can be conditional conditionals All The Way Down™.

Some of them might be of fractal nature.

@kenbot #allTheWayDown #turtlesAllTheWayDown

@das_g @kenbot I’m skeptical that’s true. I find that a few clarifying questions and some reasonable assumptions are usually enough to provide a useful answer, if the person who provides it is qualified to answer the question in the first place. The problem is that some people are not willing to admit that they are not qualified to answer a question posed to them.

@kenbot
"Name three things you like. You can't have them at the same time"

Also, "same time" is not well-defined.

@cford distributed systems triggering jokes deeply are

@kenbot @cford

I what you did there there

@kenbot There is always existing load bearing architecture that you must work with.
@kenbot - new, contradictory requirements arrive precisely the moment when costs of change become non-trivial
@kenbot
- Naming is hard. Unless there’s no one else around.
@kenbot
- every database schema ever designed was wrong
- no database schema that matches its ERD or documentation has ever been spotted in the wild
- everyone is tired of the artist/album/song example and it's bad at demonstrating your ORM capabilities
- not using foreign key constraints will make you crazy
- using foreign key constraints will make you crazy
- databases were never supposed to migrate, but destruction of their natural habitat has led to...

@kenbot
> Name three things you like. You can't have them at the same time

Especially if one of them is money

@kenbot can we just stick with "No."? It has a nice ring to it :)

@kenbot "But what _is_ the innate definition of good? Kant says that --"

"Chidi, this is why everybody hates moral philosophy professors."

@kenbot This is definitely not from some system architecture book, but instead from one of the many Agile mumbo-jumbos 
@kenbot as long as I can still tell people they are wrong I’m fine with this
@kenbot or right, it depends
@anarres "Everyone is wrong" is eventually consistent
@kenbot
- The important is what matters, the rest doesn't have importance

@kenbot There's no such thing as a Software Architecture. It's the Software Architecture Development System.

We thank you. Clippy thanks you.

(I can't remember the whole spiel)

@kenbot
- No architecture survives contact with reality.

@kenbot that made literally lol'ed, and I think it's a sign of clear post traumatic syndrome. I preferred when I wasn't aware. Or young and naive.

Still, it's excellent and I will spread the void words :)

@kenbot On time, on budget, works without flaws.
Pick any two.
@kenbot
The first rule of Software Architecture is that we don't mention Software Architecture.

@kenbot

I think that I would like to engrave this on a brass plate and hang it on my wall.

@kenbot
Wish my corporate overlords saw it that way
@kenbot - Deadlines don't matter
- Resource (money, labor) constraints don't matter. There is one correct architecture and we're not going to do it wrong by being cheap about it.
- Stay safe and don't limit yourself to one architecture, implement all of them. In each application.
- Some boxes with lines is a complete specification. Do not deviate from the plan.
- It depends (on if I've made up my mind). Ssh, don't say the quiet part loud.