Once you get to Exec level, do we hire more to produce more work? Close a department because it's losing money now (but might not in the future)? Do we stick with our current market that we have most of or go after a new one that is untapped but less familiar.
All of this with the situation/world/people changing all the time. People can call it a shit show but the truth is that it's hard. It's hard to put relative values on things to help make decisions. Ultimately, it usually takes a step of faith and the ability to execute well to increase your chances of making your decision work. You also need to balance the need to stick with something and make it work with accepting it was a bad idea and canning it.
I suspect in the very large corporations, it probably gets very surreal because 10 levels of management make the execs completely disconnected from reality so they can make it look like they are making decisions without really knowing what is going on (and most of those might never happen because they take too long to fall down the soil pipe!).
What really goes on is that the goals of executives is different from that of people who actually do things, and paradoxically, the ones who actually do things tend to be valued the least.
Ha, if only this were true.
> Don’t stop the deep-dives. Sometimes executives get confused (or are too afraid) to step on toes and so avoid getting into the weeds. It’s seen as a waste of time or somehow not practical to spend the exec team’s time discussion “lower level” things. But where there are critical initiatives (see John’s point about points of leverage) I think you should get into as much detail as you can.
The more execs gloss over details (e.g., technical challenges, requirements), the less valuable (maybe even more dangerous) their plans become.
One key difference is culture. Some cultures punish candid honesty which leads to reasonable people resorting to politics and blame games.
Not sure how to spot this when you're applying, but good culture seems to be correlated with competent and respected technical people in upper-management and lots of devs/engineers with a long tenure.
It reached the point where I now believe any BComm who wants a leadership role should first spend 3 months shadowing the cleaning staff. Once that person convinces the staff they're capable of not setting anything on fire, they can be allowed to mop the floors for the next 3 months. So on through the organization until 10-15 years later they're deemed qualified to think independently and understand what taking responsibility means.
Again, could just be select negative experience, but it's what I've noticed
If a tech company is run by business and finance folks it can become unmoored from engineering realities. But a tech company run by engineers and scientists can become similarly unmoored from business realities. In my experience, companies that promote well-respected members of their key disciplines into senior management roles seem to be the least dysfunctional.
2. Now, there’s the other side of that where you have technical leaders who can code but cannot effectively communicate and/or make it known to other leaders why requested roadmap items are not feasible, possible, etc. This is a very common scenario where technical leaders are not great at communicating to other business leaders and making realities known.
The third issue is when a technical leader draws a line in the sand and gets sacked because the rest of the leaders hate having their ‘vision’ quashed. This leads to #1 and #2, above.
The described behavior can be found in non technical organizations as well. A room full of people will never blame itself, they will always blame someone not in the room (or failing that push someone out of the room and blame them). In group VS out group behavior[0][1].
You could tell the same story around a lemonade stand, "Looks like we are going to be busy next week, should I order more lemons?" "no, we ordered plenty", a week later "Why didn't you order more lemons!".
It's not a technical problem in the slightest, or even a human nature problem, this stuff was wired in when we were early primates.
Ultimately it comes down to the organization's culture and whether failures are punished or accepted as a necessary side-effect of doing ambitious work.
The "maturity makes things slower" thing can apply even if the quality of code was always good.
I've literally seen things that should take an hour be weeks because it ended up involving 10 different teams. And while you may think that's an exaggeration, it's not.
software is often used to assert authority so people CAN'T even attempt to work around these issues. Paradoxically, software can actually make companies less effective.
For example, my current place does hardware and software - CTO comes from the software side so he's not a specialist on the hardware and can't contribute directly to the electrical engineering work. But at least he knows how to ask the right questions, learn when he needs to, and got the right people under him to get the job done. And to your point, he has no formal business education and our CEO is the founder, and an electrical engineer
Technical people can forget things and then try to play "shoot the messenger" just as well as non-technical people can.