So this is the scenario: I develop a SQL object which is being used by an application developer in an app I haven't seen before. The developer is a junior and it's clear that they have a poor understanding of the use cases they're dealing with, and likely haven't adequately tested their changes. This developer isn't on my team and isn't someone I'm directly responsible for mentoring. The application carries almost no risk if the developer breaks it, we can just revert our changes and no harm done.
My question is: in this scenario what would you do, and why? Do I take the extra step and walk them through the entire testing process pre-emptively, or do I let them own their change and potentially experience the pain of breaking production?
This isn't a critical question for me I'm just curious to get a few takes on it. It's really a question of letting a developer pick up experience the hard way vs not throwing them to the wolves (which can lead to worse outcomes long-term)
Imagine you're new to a codebase, you're struggling to make it work. Unbeknownst to you, you're about to cause a production outage. Someone more senior at the company, the domain expert in the new thing you're using, notices you're struggling and decides to sit there, let you flounder and break production. It might not be a big outage, but you'd feel pretty bad and unsupported by your team.
You can see something bad about to happen, your instinct shouldn't be to do nothing to teach the person a lesson. You owe them the professional courtesy of offering a guiding hand.