Assume you’re working on a project as a developer. You write code. Maybe you write tests or docs. Maybe you work through requirements with a product owner or with users. Whatever you consider the job of a developer to do, assume you’re doing it and you’re doing the best job one can do at it. And so you’re using nearly 100% of your cognitive capacity (or the capacity remaining to you when you reserve some for having a life outside of work).
Assume someone else is your manager in this scenario. And they’re giving 100% (or nearly) of their cognitive capacity to that job. Whatever you think a manager is or should be responsible for, assume there’s a person doing that job, doing it well, and giving it their all.
Assume someone else is a designer on your project. Whatever your conception of that job, imagine they’re doing all they can to do that it well.
Imagine this about all the roles on a project, whatever they are on whatever project you’re working on. Everybody has a set of responsibilities, everybody’s putting all their available mental energy into their job, and delivering.
Now imagine that somebody on the team appears to do their job badly. But remember, you’re giving nigh-100% of your energy to your development work. So how do you know?
Or they don’t understand something about your job. But remember, they’re giving nigh-100% of their energy to their work. So why should you expect them to know?
So often, we engage with others from a place of presumed superiority. If someone’s trained at a job and responsible for that job and has been doing that job for years, the right way to react to a perceived poor performance is not to scoff and not to correct, but to ask questions. Assume you don’t understand before you assume they don’t understand.