It’s easy to blame. It’s harder to empathize.
It’s easier to refactor than to create code from scratch.
If you are creating code from scratch. You wouldn’t know many things because the requirements aren’t clear.
But if you are refactoring or fixing bugs, requirements at that point are likely pretty clear.
Everyone has had a different past experience.
Some people aren’t even developers but jumped into the field for good money. They might have been poor in the past and for them, money is the main thing in Maslow’s Hierarchy Of Needs.
Some are good developers but have too many things going on. Maybe family. Maybe something else.
Some are good developers but dragged into roles that aren’t totally for them. For example Managers.
Some people didn’t even have a Computer Science degree. They are from some other field.
Even if they are a good developer, most problems in Software Development & in #life are questions of knowing the right thing. If you don’t, you are kind of lost. Therefore it’s useful to rely upon and discuss with everyone before trying to implement something.
Rather than blaming, look at the problem. Emphasize with one who is facing it. And be useful to suggest a path forward.
It isn’t useful to run away. Stand there with them, and help them out on their task.