It’s also entirely possible that their suggestion will work, and you the senior engineer is going to learn something invaluable.
I am not trying to infantilize anyone here, but those of us with kids immediately see the parallels.
My 7yo is riding her bike. I say don’t slam the brakes when you’re going over dry leaves, coz physics. She does it anyway, gets a bloody knee.
She’ll retain this experience.
And then when she’s okay we can talk about why she got hurt, and about traction, and how *I* also badly got hurt doing the same thing she did.
Without the lived experience, your advice is just theory. Theory that happened to _you_, a possible idiot.
To tie all of this back to the original tweet- it’s important to let people make mistakes.
People learn from their own mistakes, not yours.
Provide them the kind of environment where learning from a mistake isn’t traumatic.
In that vein, we need to celebrate mistakes! If someone breaks prod for the first time, you can celebrate it and help them fix it, or you can add to their panic.
This is a really good quote I want to add to the thread.
✨ I made a no-code feature flag system with Airtable and am using that to hide or display sections on a Next.js site. ✨
That's one way to help a client who can't decide when exactly something should go live on their site. 🤷🏾♂️
Here's how I did it. First I have a table that looks something like this. This is what the client sees when they edit the "Features" table (base, in Airtable lingo).
Airtable gives you an automatic API for each base. In the case of the Features base, I click into the API documentation and see that it looks like this.
This is a test base, I am not worried that you see my base ID in the screenshot.
If you are building a SaaS from scratch, have your Users belong to Teams, and attach billing information to the Team not User. While you're there, create a Membership model to be the join table between User/Team and assign a role to the User like Owner, Admin, or Readonly.
This signals that your app is business-friendly. It allows you to assign limits and features at the Team level. It allows for users to ask for their accounts to be deleted without it affecting the billing status of the entire team. It allows a team to kill a teammate's account.
"but I'm building a b2c, do I need teams?"
Personal finance tool: user wants spouse to see their budget
Notetaking tool: user wants to share notes with family
Videogame recc app: user wants girlfriend to add their games to library