"I find my manager is not useful. He is not aware about what's going on. In fact, he's not even a technical person. I'm running all the projects with the Project Manager, without my manager's interference. Why do we need manager then?"
"The project manager is useless. He's clueless, not technical, and inexperience in complex project like this. I'm making all the schedules, managing the resource, and building the plan for the project. It seems what we need just engineer and sales person"
"Our sales person doesn't sell. It's actually I as technical leader who does all the pre-sales work, convinces the customer about the solution, runs the demo and so on. It's practically a one man show, I can run the whole sales cycle from beginning until the closing by myself"
"The technical lead keeps everything for himself, he doesn't want to share his knowledge nor the information about the current setup. I have to struggle to finally understand the whole setup and the project. I'm wondering why he can be in the team."
Have you ever made any of the comments above? Don't be that guy.
You choose to be an engineer for a reason. A reason that you believe, or at least you used to believe. So be proud of being one.
And stop comparing. Because everyone has his own place.
Manager may not be technical but he has big responsibilities on his shoulder, including to manage the budget and expenses as well as to keep all the proud engineers in the team happy. Project Manager must manage the project and set the customer's expectation right from beginning, and she will be the first one who takes the heat when thing goes wrong (and something always goes wrong in every project) or when the schedule slips. Sales person carries a target number everywhere so she must know how to sell and to manage relationship with the customer, and be ready to get shouted when the engineers fail to deliver the setup. And the technical lead most likely is busy defending his design, leading the project, and coaching the younger engineers in the team at the same time, so he can't babysit someone for information that can be found easily within the project documentation.
And what I just mentioned is only a small portion of responsibilities and tasks from different roles above. Engineer may think he does the most work since he's in the field delivering the products or services to the customer. But there are lots more from the other parties that meet the eyes. Really.
But if you still think you could do better then those who are on the other side, why don't you try to switch place and prove it yourself? Try to be a manager, or a PM, or a sales person, or a tech lead and so on.
And let's see if you still can say the same comments as above.