Hewing to the truth is a principle that applies to all facets of life, not just development or managing a development team. I’m focusing on the managing aspect because it has come front and center in this area for me in the last few months.
As a manager of a development team, I have two primary duties: to my company, and to my team, in no particular order. I say no particular order because these are highly interdependent duties; if I am not in tune with the vision of my company, then my team suffers. If my team is not fully engaged and hungry in their work, then my company suffers. One of the arts of managing developers is finding a balance between the sometimes competing demands of company and team. As a manager, that is part of what I am paid to do.
Walking this sometimes fine line is made much clearer when I hew to the truth. I can start with the basic truths: my company wants to succeed and my team wants to succeed. From there, I start accreting details as to the qualities of this success. This developer is happy working on legacy code; this other developer wants all the new stuff all the time. My company wants to reduce the size of the team; my company wants to shift development efforts to a different area of the business. Again, these can be competing demands, and I am in a unique position of knowing the particular truths pertaining to my team the best out of anybody else in my company. If I am doing my job well and keeping up with my peers and those above me, then I know the particular truths pertaining to my company better than my team does, providing me a wider context.
And this is where the hard part starts. As a manager, I know more than my team does about the “big picture”. So when a conflict arises between the truths pertaining to one of my developers and the truths pertaining to my company, it is my job to advise both. Sometimes, a choice has to be made. Sometimes, one of the two has to suffer the short end of the stick. As a manager, it becomes my call how to lay down a course of action where, in a long enough view, everyone benefits. This isn’t easy, especially when this long view can’t be shared, and my developers can’t understand choices that have to be made. This isn’t easy when the long view results in my team losing pieces of itself which, in the short term, hurt. The long view in this case sometimes transcends even the company, being defined by the arc of one of my developers.
At the end of the day, when the long view has yet to be realized and only the negatives of one of my decisions can be seen and felt, the only solace I have as a manager is that I’ve hewed to the truth. Thankfully, I can say that in the last several years of my career, and especially in the last few months, I have hewed to the truth. And when you can say that, when you can elocute that fact with conviction and fervor, everything else falls away.
Truth, above all else. In development, in managing development, in everything.