Imperative or declarative leadership
You may be familiar with the differences between imperative and declarative code.
With imperative code, we outline exactly what we want to happen each step of the way.
We're under the hood, twiddling the knobs, getting deeply familiar with implementation details so we can use them to achieve our ends.
With declarative code, we 'declare' what we want to happen and let the language or framework figure out the messy details.
React is a great example of this: I write my component, focus on my business logic, and let the library worry about DOM manipulation and reconciling state changes.
I've been reflecting on this when it comes to technical leadership.
I've felt for a long time that declarative is 'best' when it comes to leading teams.
Set the intention, get alignment, and then trust them to come up with the right solution. The team get to exert autonomy, creativity, and flexibility in their work, and you end up with solutions and innovations you may never have thought of.
So is it ever 'right' to be imperative?
More tomorrow.