Arquivo para Outubro, 2008

Qual livro devo ler?

PessoALL,
Neste ano com projeto Universidade GOJava, acredito que já ministrei palestras nas principais instituições de ensino do Estado de Goiás.
Em todas as palestras, algum estudante sempre me perguntava:” por qual livro devo estudar, me sinto meio perdido neste mundo de O.O.”
Para esta resposta indico a listinha do Phillip Calçado, são 10 livros que realmente são leituras obrigatórias, nunca procurei tradução, mas com toda certeza deve existir.

Vamos à lista:

1 – Object-Oriented Software Construction – Bertrand Meyer
2 – Object-Oriented Design Heuristics – Arthur Riel
3 – Fundamentals of Object-Oriented Design in UML – Meilir Page-Jones
4 – Domain-Driven Design: Tackling Complexity in…Heart of Software – Eric Evans
5 – Refactoring Improving the Design of Existing Code – Fowler et All
6 – AntiPatterns: Refactoring Software, Architect…isis – William J. Brown et All
7 – UML Components – John Cheesman & John Daniels
8 – Design Patterns: Elements of Reusable Object-Oriented Software – GoF
9 – Expert One-on-One J2EE Design and Development – Rod Johnson
10 – Effective Java Programming Language Guide – Joshua Bloch

Depois desses, vale a pena dar uma lida neste: Expert One-on-One J2EE Development without EJB – Rod Johnson, que mudou a forma de desenvolver software no mundo.

Atualizando…

Bem pessoALL meu blog ficou meio parado esses dias, peço desculpa a todos o leitores.
Voltando ao assunto, no dia 08/10 eu e colega Paulo Henrique, participamos do CICET na UNIP – Goiânia – GO achei o evento legal pelo interesse de alguns alunos sobre os temas abordados.
Foi interessante também já que pela primeira vez tive a oportunidade de falar um pouco de metodologias ágeis, e legal ver que nova safra de profissionais de TI estão antenados no que está acontecendo no mundo, e metodologia ágil e uma tendência bastante interessante.
Ontem tive a oportunidade de falar de JEDI novamente, na Uni-Evangélica em Anápolis – GO, de todas as universidades que já passei em Goiás olha que não foram poucas, foi a universidade que mais me despertou atenção.
Primeiro a vontade de crescimento dos alunos, vários que falaram comigo vieram pedir dicas, aonde estudar, perguntar sobre livros, os caras não estão lá brincando ou passando o tempo.
Segundo, há pouco tempo atrás estive na UFG, eles me falaram do projeto de criar uma fábrica de software para os alunos, achei fantástico, quando cheguei à instituição descobri que já existe uma fabrica, e está já possui softwares prontos em produção.
Iniciativas como esta só acrescentam no currículo dos alunos que passam ter uma vivência pratica do que e o desenvolvimento de software.
Parabéns para Uni-Evangélica pela iniciativa, e que todas as instituições de ensino de Goiás tenham iniciativas semelhantes.

Desabafo GOJavaME

Qual o motivo da participação pífia da comunidade Goiana, se a culpa e do GOJava por favor ajude o grupo indicando onde está o erro.
Sempre leio na lista uma choradeira danada com assuntos, Goiânia não tem evento sobre Java, a tudo acontece em Brasília, montamos um evento com palestrantes ótimos, gratuito, um deles inclusive era palestrante do mês Java, que várias pessoas queriam este evento em Goiânia.
Tivemos 70 pessoas no evento, será que difícil para a comunidade entender, para conseguimos eventos palestrantes internacionais temos que ter apoio da comunidade, ou alguém aqui acredita que teremos grandes nomes levando no máximo 70 pessoas em um evento.
O pior não e isto, uma boa parte dos presentes era o pessoal PSL-GO, que não são desenvolvedores Java e foram lá para aumentar seu network, conhecer e passar suas experiências como sisadmin.
Fica aqui meu desabafo, espero que a comunidade Goiana mude a forma de pensar isto não será bom apenas para comunidade, mas para cada um.

UML Pra Quê?

Bem não sou completamente contra a UML, acho ate uma ferramenta bastante interessante para lhe mostrar seu sistema como um todo.

Na minha opinião existe uma grande mania de cartório no Brasil, tudo tem que ser documentado, tudo com muita burocracia, sem falar na visão da indústria que existe o analista de sistemas todo poderoso e seus implementadores, que são responsáveis em pegar aquele diagrama e implementar todos os métodos ali definidos, mas desde quando a UML descreve mecanicamente como os métodos irão funcionar, até posso concordar que ela descreve os métodos, mas quem hoje programa sem os milhares do frameworks existentes EJB3, Hibernate, Castor, AOP, etc… a UML irá tratar tudo isto para você

O grande ponto que quero chegar é analista de sistemas, não e analista de negócios, na minha cabeça nem existe esse tal analista de sistemas, o que seria este cara um programador que resolve negócios, o que tenho visto na maioria das empresas onde eu passo e um cara que levanta requisitos, fica hora e horas desenvolvendo um modelo do sistema, que em muito em breve não servirá mais para nada, e passa tudo para seus estagiários e programadores Junior resolver.

Hoje visitei uma empresa, que já prestei consultoria em Java a algum tempo atrás eles estavam justamente discutindo isto em uma reunião, hora porque não conseguimos aproveitar os códigos em Java feitos no passado, se Java prover isto, hora justamente porque em nenhum momento tive um arquiteto de software para pensar como as coisas poderiam ser reaproveitadas, perdi horas e horas nos meus modelos que hoje são totalmente desatualizados mais nunca pensei em integrar, como reutilizar meu código, ai sempre escuto há mais não a tempo para pensar em tantas coisas, não da porque você está engessado em sua metodologia, por que documenta tanto que mal sobra tempo para implementação do produto, documente somente o necessário, as metodologias ágil estão ia para isto, comunicação e chave para tudo, na minha visão a UML e uma forma bacana de comunicação, mas ela não será implementada, e muito menos testada, se fosse não programaríamos em C#, Java, e sim em OCL.