When software is kept ‘boring’ it curbs Over engineering and keeps things simple to understand and maintain.
Readability, for example in unit tests, brings huge benefits and reduces complexity immediately.
Another way to keep things simple is only create what you need at any given moment and not plan too much in the future, of course a balance must be found here. Test driven development can help here.
Extra infrastructure and dependencies should be carefully considered. For example Micro services should not be the default.
In general keeping things simple is a skill.