I ran small bootstrapped startup , I used GKE. Everything was templated.
each app has it's own template e.g. nodejs-worker, and you don't change the template unless you really needed.
i spent ~2% of my manger+eng leader+hiring manger+ god knows what else people do at startup on managing 100+ microservices because they were templates.
We may have a different understanding of "small" if you say 100+ services.
Did each employee have 2 to 3 services to maintain? If so, that sounds like an architectural mistake to me.
That works great until you want to change something low-level and have to apply it to all those templates.
That's when you go a level deeper and have every template use another template (e.g. a Helm subchart or Helm library) only to realize scoping and templating is completely fucked in Helm.