To be a good software engineer, become a French skeptic
Either that, or a skeptical Frenchie — allow me to explain.
The French have long learned that saying “no” is great. You can always say “non” upon “non”, and then, after further discussion, finally settle on a “yes” if you’re happy with the outcome. However, if you start with “yes”, the discussion is essentially over and you’re on the hook, regardless of whether you amend minor details. A reasonable default, both in development and in life in general, is to lead with a “no” and then see where you can go from there.
“No” creates room for discussion, grants you freedom of choice and allows you to be flexible about your time.
Skepticism on the other hand is asking “why”. “Why” to meetings, “why” to change requests and “why” to literally every piece of work you or someone else is planning to do. Getting to a “why” may very well be more important than Getting to Yes No: reaching a good understanding of the “why” enables you to rationalize the “no”, both for yourself and for others. In the long run, asking “why” will greatly benefit everyone involved by providing insight and requiring thoughtfulness.
So when someone asks you for something, be it your time, thoughts, or effort, be skeptical and be French. Ask “why” and (mostly) say “no”. It’s good for you.