Complexity is in the eye of the beholder. Okay, it is beauty, not complexity. But if you think complexity is what make it beautiful, then don’t wory about it. That is my kind of thinking. As long as you can balance between the time you are allocated, you can make it as complex as you want. Don’t do this if it will get you fired:D
In most cases, time is the important factor. People with great experience will pull off more in less time. Keeping it simple is one factor of their success, but that is just a minor portion of their talent. I believe most has to do with their eye for details. When I see a movie I might miss certain faults that an exceptional artist will recognize. This is something people develop being spending time to give all the details they think would make the work fit into their perception. This is not a talent or a natural ability, it is something people learn with hardwork.
The place I work we create software for many purpose. I can’t tell you enough how much of “re-invention” is done in company where millions (actually more than few millions) could have saved if it was well thought 2 years ago. That is the result of keeping things simple. They kept it simple, within the project’s scope, and now they just do the same for every project. We have over 300 projects each is simple and for each client. We have to make another one for another client, because noone wants to put in the extra work to unify the system. Some times extra details, placed well and brought in time can help in the furture. Whether it is heart’s content, achieving fame or saving money.
The most contradicting portion of this is the time. Unfortunately that is where the trade off comes and people who can’t find a nice proportion are the people who suffers most in a real production environment.
But at home, I spent all the time I can untill I am satified with the details even if it doesn’t make sense to others. I think there is nothing wrong with spending your time to make things complicated if you think that complexity is needed.