• 0 Posts
  • 2 Comments
Joined 10 months ago
cake
Cake day: October 19th, 2025

help-circle
  • Distributed decision making, and these are all systems that are transactional or regulatory and not necessarily driving revenue / customer value.

    The IT / Systems team was told “stand up an SMTP server so we can send emails” and there’s no more discussion of capturing / trapping / dead boxes. And as an engineer if you start to add that scope, “why are you taking so long? I just need to send emails.”

    And then the delete account project is “GDRP says we need to delete accounts. So delete them in the least expensive way possible.” Which means, as an engineer, don’t spend a ton of time on this. In my previous company, we were still manually deleting accounts. As in SRE connected to the DB and ran a SQL command, by hand, with a piped in user ID.

    The notifications team is responsible for sending messages. Why do they care, or should be responsible for, identifying if a user is deleted? They’re responsible for maintaining the SPAM/unsubscribe list but not the user accounts.

    it’s distributed decision making, no one cross-cutting or thinking about these edge cases that impact multiple systems


  • The @deleteduser.com example is the easiest to explain

    A user, Bob, has an account and has attached his email address. Later, Bob says he wants to delete the account. For legitimate reasons, the company doesn’t want to delete all associated records (think, user generated content or user to user interactions that shouldn’t simply disappear. Or maybe audited transactions.)

    The company also doesn’t want to have those associated records pointing to nothing … maybe the schema doesn’t support that (eg required foreign key constraints) so it has to point to something

    So the company changes Bob’s account details. They delete his profile picture, his phone number, etc. but Name and Email are required by the database. Their deletion process changes Bob’s name to deleted_user and they change his email to deleted@deleteduser.com thinking that’s a dead domain that’ll never be valid to receive emails.

    Later, another process triggers an email. Someone sends Bob’s account a message, replies to a thread, etc. this process doesn’t know / care that Bob’s account was deleted so it fires the email to deleted@deleteduser.com

    There are a lot of problems with the decision making here, and there are better ways to handle all of this. But these are all rational decisions in the moment that can cause an email to be sent to an “invalid” email address