I am the CIO of a mostly remote, cybersecurity startup (50 FTEs). I balance between not single-threading all choices through me and not letting things get too out of hand. That means no one is every really happy. E.g., we use Uberconference for videoconferencing. We thoroughly looked at a bunch of others and chose UC for its functionality, price, and simplicity (every conference gets a simple phone number, no stupid…
I hear you, but the only times I have seen the balance work is via a "committee" of DevLeads. Senior devs work with the trees everyday but are also able to see the woods. They are at the perfect position to make intelligent future proof decisions, and the second job of senior management is to ensure the DevLeads (or non tech equivalents) across the company are meeting talking discussing and deciding regularly and fre…
This was the case at an engineering company I worked with for several years.
The committee, or "enterprise architects" as they called themselves, became too far removed from the trenches, and the devs viewed them as sitting in an ivory tower and passing down ridiculous decrees.
They brought this view upon themselves, as they made it more or less impossible to even speak to them - almost all communication was through requests and forms uploaded to a sharepoint site!
They kept taking it further and further, until you even needed their permission to take a dependency on a 3rd party library for a LoB app. Such requests would sometimes take weeks to get a response.
We could never hold on to devs for long, in large part because they hated working under this bureaucratic nightmare.
The committee made all sorts of terrible decisions, always without consulting the devs and always with little justification, and these had a lasting impact for years to come.
Gods, it was horrible!