In about a month, I will complete six years in a tech startup. More specifically, leading the Machine Learning team in an AI product startup. While I started as an on-ground ML Engineer, I have been involved in technical leadership capacity for a major portion of my time here. During various stages of the company the interpretations and expectations of my role kept changing, both because of internal and external factors. As I exposed myself to more and more ideas, my views around approach to leadership became inconsistent, and probably invisible.
I have been recently trying to fight this fog and go back to some of my core beliefs. One such belief is that tech leadership in lean tech teams should emphasize people over roles. Contractually obligated roles will do contractually obligated work. But they don't compose together well to fuel an ambitious startup. Muddling with abstractions like MLRE-11, MLRE-2, etc. limits what you can do. It adds predictability but also reduces the chances of positive outlier events that could only happen when you expose <person-name>, <another-person>, etc. to the problems to be solved and not MLRE-\(i\).
This also means you need to get a certain kind of people in the team. This is not unlike the difference between cooks at a standard chain, say, McDonalds, vs a boutique burger place.
I understand that at some point, scale, or other situations, this would stop working. But I feel we tend to over correct for things like this—specially in creative work like product teams—at any sight of slight discomfort in changing environments.
Footnotes:
ML Research Engineer, MLRE, is our internal hiring label.