Practice and Vision

· 2 min · work, practice, leadership

A friend recently asked me what qualities I felt made up an ideal engineering team. What came to mind were vision and practice.

I'd like to explore this response more deeply and look into why these ideas seem so important to healthy engineering teams.

Vision and practice are each useful in their own right. But they also seem to co-emerge as interdependent qualities, each strengthening the other; too much attention to one without the other produces various kinds of dysfunction.

A good vision orients a team with a shared purpose and an understanding of the world from a grounded vantage point. That is, it interprets the current state, and thereby makes it possible to give thoughtful strategic reasons for sustaining or changing it. Vision requires a map, a compass, and a reason for action or non-action. It helps us understand where we're going, anchored by a detailed technical understanding of where we are. Vision imbues work with meaning (though not the only meaning). It resonates within a stable organization when it aligns with a shared purpose for working toward some end. Like practice, a skillful vision isn't static. As we embark on any project, we traverse real terrain, and so we must learn to adapt as reality diverges from the vision. Over the course of a journey, a vision may become more or less clear. Either way, it must survive or be replaced quickly. In my experience, in the absence of a strong vision, one or more (sometimes incompatible) visions emerge; as meaning-makers, we seem to instinctively fill such voids when they appear. This is why a unifying vision is important -- it aligns and synchronizes work toward shared goals. A visionary engineer understands how the systems we care about work today and can illustrate and communicate why they should look different tomorrow.

Practice, on the other hand, describes how we work. It pertains to day-to-day execution. Though practice is lower-level and more concrete than vision, I've come to believe it deserves the same degree of attention, because it describes how we regularly and habitually introduce change into the world. It encompasses things like automating deployment pipelines, running end-to-end tests, and structuring codebases. While engineering practice is concerned with particulars, a vision for practicing also emerges when we attend to practice -- embodied by habits like regularly evaluating our deployment practices to maximize safety, writing down our ideas and sharing them to build mutual understanding, and addressing cognitive debt so we can think and act clearly.

Work without attention to practice leads to accumulating technical and cognitive debt, excess production of waste, and atrophy of technical skill. Work without attention to vision leads to a dissolution of purpose, an inability to prioritize effectively, and a decline in morale. Practice in excess, without vision, can lead to changing the wrong things faster. Vision in excess, without practice, can lead to a disconnection from reality.