On influencing change

Some of the things I think about when asked how to influence change in teams/orgs as a Principal/Staff engineer:

  • Invest time in building relationships before (big) course-correcting. In the start: a productive relationship is more important than being right. Spend time working together with people and sharing the constraints they are facing day-to-day, it will help you understand their context which makes your future interventions more likely to be useful.

  • Jumping on the moving train and dancing to the beat of the team/org/system is important to build a shared identity at the start. Otherwise, being too eager to change too many things too soon, you risk being rejected by the org immune system. People have different capacities when it comes to absorbing change. You cannot make the plant grow faster by pulling it.

  • Choose and pace your battles. Too many battles, too soon and you get your teeth broken :)

  • Ask yourself and explore through conversations with others: “What historic and current constraints and conditions made the decisions, I’m seeing the result of, rational?”. “What underlying assumptions must have been in place for that to happen?” “What assumptions and mental models still seem to be in place and shared by the group, even though the environment/context is different?”

  • What you see (code, process, architecture, relationships, social dynamic, etc.) is just a snapshot in time. That snapshot is less important than the trend on which that snapshot is just a point. Invest time in understanding the trend. It often turns out that just a year ago things were way worse. Give credit to the team for that and join them in improving things even more.

  • Crack a joke or two. Smiles build a team and a sense of belonging.