Fresh Eyes Are Worth The Hassle
On leadership and why onboarding new people to a codebase is great
As a senior engineer I make a lot of decisions. More than I expected. Decisions about staffing, pay, processes, and who-should-be-told-about-what are all part of a day’s judgement. Not to mention the actual design, construction, and maintenance of software.
Relating to the software, one thing of interest may be how little originality I must show.
My role is overwhelmingly selective, rather than generative. Of course I have my areas of expertise, and certain situations call for me to solve a particular problem. But, by and large, the role of a senior is to weigh the options, choose, and then be held accountable for the outcome. Only occasionally will they recognise all alternatives to be insufficient and propose a solution themselves.
Beyond that, the other engineers contribute more than mechanical solutions. They contribute vision.
I feel very much like a Confessor from Three Worlds Collide. Confessors are master rationalists. They seek truth in systematic ways, and ensure that the other humans are correct in the process for achieving whatever they value. But the Confessors do not determine what should be valued.
In this sense they refuse to interfere with value judgements:
The Order of Silent Confessors exists in the hope that, so long as humanity is sane, it can make choices in accordance with its true desires. Thus there is our Order dedicated only to that, and sworn not to interfere in politics.
I’ve found that newer engineers are excellent sources of what problems should be worked on. This translates to what our team should value. The more experienced engineers are tremendous sources of how things should be solved.
Interestingly, but probably predictably, things go awry if it’s the other way around. Experience tends to lead to too much pessimism about what should be done. Inexperience leads to too little restraint in how things should be done.
This never appears to be intentional. Only that when an experienced engineer is prompted for what could be improved, they easily fall into explaining why things are the way they are. For the less experienced, when pressed for how something should be done, it’s common to find them reverting to what they want.
In isolation this may be an issue. But this shows the value of teams and how the sum can be greater than the parts.
Again, I am reminded of why the Confessors cannot lead, even if they are deemed to be the superior decision-makers:
“You really wouldn’t ever understand,” the Confessor said. His smile was entirely real, now. “But now you know, don’t you? You know, after speaking to me, that I can’t ever be allowed to make decisions for humankind.”
Akon hesitated. It was odd… he did know, on some gut level. And he couldn’t have explained on any verbal level why. Just - that hint of wrongness.
“So now you know,” the Confessor repeated. “And because we do remember so much disaster - and because it is a profession that benefits from being five hundred years old - many of us became Confessors. Being the voice of pessimism comes easily to us, and few indeed are those among the human kind who must rationally be nudged upward… We advise, but do not lead. Debate, but do not decide. We’re going along for your ride, and trying not to be too shocked so that we can be almost as delighted as you. You might find yourself in a similar situation in five hundred years… if humanity survives this week.”
Confessors remember too much. That is why they cannot determine the dreams of humanity; they would aim too low. They’re necessary but not sufficient for achieving the most ambitious of long-term goals.
So, while I said I consult my engineers and then make a decision from there, in a sense, I barely even lead. The team mostly determines where we should go, and how we should get there. I just take “responsibility” for that. Which, when things go well, is termed “credit” instead.
But maybe that’s the way things should be. Fresh eyes are still full of hope and optimism. And that’s not to excuse pessimism in the experienced — anyone with experience should be able to see that things tend to get better over time — only that different levels of experience bring unique wisdom to the table.
Onboarding someone to a new codebase, especially a junior, can be challenging. But the opportunity to have someone see things with fresh eyes, even if only for a moment, is overwhelmingly valuable.