Often times when working with developing software you get this urge to think “if it can do X, what about Y”. When thinking this you get this nice feeling inside and a sparkle in your eye. It’s the feeling of being A Proper Engineer. As the stereotype of one is that they are capable of future sight and gifted with the ability of crafting the most amazing designs up front by just Thinking Right.
We have this in us, most of us, I think. This longing to live up to this ideal. Even when I know it’s all a blatant lie and that Proper Engineers™ Stack Overflow just as much as the next person. Fighting this urge is very important, as it means your setting yourself up for iterating and leaving the door open for the shocking possibility that you might be working on The Wrong Thing 😱
Working in a team, you have some tasks in there here and now which are quite tangible. Then there are people taking about possible future enhancements and next steps. As a senior engineer you have the responsibility to ensure you stay on the here and now as often as possible. Pretend there is a Fog Of War around you as of in a computer game. Instead of constantly thinking about what could be in the fog. You should ensure the team is just gradually nudging forward uncovering small pieces at a time. Ensure the team has their focus on present and near future topics and then just keep an eye out on what’s lurking in the outskirts of the fog. This is what good engineers does and what seniors should help newcomers to embrace.
What I just talked about contradicts the urge mentioned in the beginning. Our longing for being Proper Engineers™. Embracing the fog of war and being comfortable with uncertainty is a far more important skill for a developer than The Future Sight of the Accomplished Engineer. Our surroundings change frequently and thinking too far ahead is both distracting and it often ends up being wasted time and money. As by the time you think you are about to embark on The Next Thing™, priorities change and you’ll never see the next thing.