Eh meio que um paradoxo: quanto mais simples, melhor. “Simples”, porem, nao significa de forma alguma algo que nao seja “enterprise”, que nao sirva para “sistemas de medio e grande porte”. Muita gente gosta de usar essas buzzwords para justificar seus erros.
Porem, para voce conseguir ter tal “simplicidade”, eh preciso experiencia. Experiencia para saber o que funciona e o que nao funciona, experiencia em identificar padroes de erros, em debugging, em “prever” o que pode vir a dar errado, em refatorar corretamente etc…
Voce vai precisar tambem acreditar na ideia e principalmente na sua capacidade de fazer algo. Sem isso, tudo estara destinado a falhar miseravelmente.
Quando se esta comecando em Java, questoes como as feitas por voce costumam resultar em respostas que indicam para 30 frameworks, 200 padroes de projetos e, no final, 20 programadores para conseguir manter algo.
Eh literalmente muita informacao e conhecimento para ser absorvido de “uma vez soh”.
De uma maneira geral eu apoio a dica dada pelo cv. Nada de Spring, nada de EJB, nada de JDO, JSF e coisas parecidas.
Algo que que voce nao pode esquecer nunca (ou, melhor, gravar desde ja): fazer as coisas direito requer uma curva maior no inicio, mas que, a medio e longo prazo, torna-se uma vantagem enorme, tornando a manutencao e adicao de novas funcionalidades estudamente simples.
Fazer errado, ou da maneira “facil”, eh mais tentador se voce planeja uma vida util de 2 semanas para o teu sistema, ja que basta sair digitando como se fosse o final do mundo. Mas, com o tempo, tal vantagem inicial pode facilmente virar o atestado de obito da aplicacao (e talvez da sua reputacao).
Rafael