I was a developer before I became a business analyst, project manager, product manager, scrum master, agile coach and delivery leader. The things your complaining about don't happen on my teams because I listen to and respect the developers and do my best to help them be more effective. What is supposed to happen is that you raise these issues in retrospectives, the team discusses the solution, the team try the solution next sprint and then the problem is solved or you try something new. Something is going very wrong if this isn't happening. Are you not having retrospectives?