because authority

Jeff Lunt
program_simpler
Published in
2 min readOct 30, 2019
Photo by Gladson Xavier from Pexels

Part of a series of posts that discuss justifications for spending more time on a specific piece of code, rather than continuing onward.

The authority justification for polishing code goes something like this:

This code technically solves the problem, but I don’t like the way it’s written. It must be rewritten so that it looks the way I suspect it should — so that it conforms to a design ideal, or because I simply want it this way without data or evidence. It is better that the code be in the desired form, even if we have to compromise on its capabilities or performance. It is more important that the code conforms to the authoritative position than anything else.

Authority is useful, powerful, necessary, and yet corrosive

I see this when all the other justifications we’ve already discussed are combined with a high organizational title. Expertise and experience are to be valued. There are absolutely times when we fall into over-analyzing a situation and what is best is to have someone simply make a call and move forward. When authority is used to cut through red tape and analysis that seems to have stalled, those are effective uses of authority.

However, one of the unfortunate tendencies of human nature, when granted authority over something, is to use it to exert control and assuage fear. This use of authority leads to creating the very road blocks that authority is supposed to help clear — to make something conform to a person’s vision instead of to the needs of the problem space. This is counterproductive.

So, we must be careful. It is neither easy nor obvious how to apply authority in such a way that it is maximally supportive, but we can be sure that when it’s used to create additional meetings, red tape, and processes that it’s unlikely to be helping accomplish the goal of delivering value. It has been my experience that moving forward in order to both deliver value and to learn in the process is more efficient over the long term, and will lead to higher engagement of members of a team, than enforcing a vision in spite of the situation on the ground.

--

--

Jeff Lunt
program_simpler

Software developer always looking for simpler ways to do things.