I do not know if this can be important, but: Be aware of your business environment.
Part of making a good software is making easy to move the parts, but it is really hard to create a super flexible system and you can introduce a lot of accidental complexity.
So a good knowledge of what the organization does, what are the goals, the culture and the commercial opportunities can give you good tips about what parts of the system need more design, what parts can be extensible and what probably will stay as is.
I do not know if this can be important, but: Be aware of your business environment.
Part of making a good software is making easy to move the parts, but it is really hard to create a super flexible system and you can introduce a lot of accidental complexity.
So a good knowledge of what the organization does, what are the goals, the culture and the commercial opportunities can give you good tips about what parts of the system need more design, what parts can be extensible and what probably will stay as is.
This comes from the Conway's law
Personally, this has helped me a lot in the medium and long term.