| With software you have a situation with two problems. First is the "gap" between those doing the work, and those writing the checks. (When it's the same person, this problem disappears.) The guy editing the checks likes to understand progress is being made, and that the project both has an end and will be successfully completed. The second problem is that by it's nature software "never ends" and many (dare I say most?) projects fail and are simply abandoned. The moment the check writer is not the direct manager of the development you have an intractable problem. The person in-between (quite literally middle management), is often not technical. But he has to convince the bean-counters that this project is "on time and on budget". He can't help but feel sometimes that he's herding cats. He's an irritant to those who are "doing the work" so they treat interactions with him as a waste of time. Inevitably he starts trying to measure things. (And we all know what that means.) His job is hard. He's stuck between developers who don't want anything to do with him and higher-ups who want reassurance, bit don't really trust what he's saying. The miracle is not that this process sometimes fails. The miracle is that it ever works at all. And sure, you may not like your meetings, but at least understanding the game might help you understand why his job is the crappiest of all of them. |
Managers with no domain knowledge are just an extra layer of indirection and overhead without any of the benefits. Would any IC want their career gated by someone who has zero insight into the team's day to day duties, doubly so if it's at a supposed "tech" company?