It is important to achieve a balance between Junior and Senior people in your team.Recently I had to explain to someone why making class abstract is not the way to go when you need to implement a utility class.
And today I did an assessment on an implementation we need to extend to another customer. I know the business flow and use cases very well, even if I was working on a UN project for the last few months. But thrilled with the architecture I had created and how easy it is to implement and integrate another customer to the system.
The moral is to give the freedom to senior devs to design a solid system that can be extended and give them time to mentor junior people on how to get better.