Pocket Manager
In a newsletter, I came across a link to a Reddit thread titled: "How to deal with a bad manager." The OP laid out the usual complaints about managers: lack of organization, poor leadership, micromanagement, etc. The third one—micromanagement—has always caught my attention because it’s one of those that tends to really provoke developers. It's not uncommon for someone to break into a William Wallace-style speech now and then about how managers steal our freedom.
As a programmer, I deeply value autonomy—the ability to decide how to do my work. I absolutely appreciate feedback and guidance from someone with more experience or knowledge than me, but always with the understanding that I have the final say on how I organize myself—within acceptable boundaries. And that’s where the two key concepts come into play before labeling something as micromanagement:
You need to be capable—or at least willing—to organize yourself. Too often, what developers reject is any kind of structure in their work, feeling that anything resembling division of tasks, planning, or documentation is an imposition by some oppressive system that stifles individual freedom. But to push back against micromanagement, you need the maturity to own your work professionally—otherwise, it's not micromanagement; it's the bare minimum level of oversight needed to have a functional developer.
The second point is accepting boundaries. Even if you have freedom of movement, you have to be aware of the constraints—usually not imposed arbitrarily (with some exceptions, of course), but in order to produce meaningful work in a viable business. Tied to the previous point: if you know your role and organize yourself, there’s no reason for someone else to do it for you.
But what about the managers? I'm not letting them off the hook. Communicate the boundaries and teach people how to organize themselves. To borrow the old saying, “Don’t give me fish; teach me how to fish”—you can’t operate by constantly putting out fires for others. Give them the tools and let them stand on their own.
exit(0);