One common behavior seen in “mature” software engineers

  • Date: February 6, 2023

As a child, I was told many “indoctrinating” stories. While I don’t care to name them here, these stories were meant to educate and set examples for students. There is one in particular that I find applicable for this discussion. The story goes like this:

A young soldier was walking with the general. As they walked on the stone path to cross the stream that surrounded their encampment, the young soldier slipped on a stone. Feeling flustered in front of the general, the young soldier quickly put the stone back in place to catch up.

Once they reached the other side, the general asked **“aren’t you afraid that you’ll slip on the same stone on the way back?”**

“That’s okay. I’ll know which stone to watch out for,” said the young soldier.

To which the general replied “what about the rest of the infantry?”

You probably know where I’m going with this story. At work, we are just about to wrap up the performance review and promotion season. I always remind my team that performance ratings are separate from promotions. Though there’s some loose correlation, promotion is more about consistent level N+1 behaviors, while one could get a high performance rating by solving many level N problems.

It is great that an engineer could fix a particular problem efficiently. Though, a common trait we see in more “mature” engineers is go beyond “just” patching these problems. They take the extra step to make sure the next person won’t have to spend the same level of energy to solve the same problem, or eliminate the problem class altogether for their team.

This is a behavior that we look at for all levels, varying in scope.