O que é ser pragmático?

Estamos ouvindo muito falar em pragmatismo. Vemos muitas frases de efeito do tipo “Devemos ser pessoas pragmáticas”, “Esse é o ano do pragmatismo”, “Desenvolvedor bom é desenvolvedor pragmático”, etc. Mas o que significa realmente ser pragmático ou essa palavra, Pragmatismo? Mesmo em sites de jogos de azar como o Daisy Slots, deve haver uma política que devemos seguir para sermos chamados de jogadores pragmáticos e respeitáveis.

Pesquisando um pouco achei na Wikipédia o trecho abaixo neste link:
http://pt.wikipedia.org/wiki/Pragmatismo

O Pragmatismo constitui uma escola de filosofia, com origens nos Estados Unidos da América, caracterizada pela descrença no fatalismo e pela certeza de que só a ação humana, movida pela inteligência e pela energia, pode alterar os limites da condição humana. Este paradigma filosófico caracteriza-se, pois, pela ênfase dada às consequências -utilidade e sentido prático – como componentes vitais da verdade.

O Pragmatismo aborda o conceito de que o sentido de tudo está na utilidade – ou efeito prático – que qualquer ato, objeto ou proposição possa ser capaz de gerar. Uma pessoa pragmática vive pela lógica de que as ideias e atos de qualquer pessoa somente são verdadeiros se servem à solução imediata de seus problemas. Nesse caso, toma-se a Verdade pelo o que é útil naquele momento exato, sem consequências.

Não contente fui ao dicionário e verifiquei que lá pragmatismo é identificado como uma doutrina filosófica que se baseia na verdade do valor prático. Vou tentar ser prático (ou seria melhor pragmático?) e trocar em miúdos: Podemos então dizer que uma pessoa pragmática é aquela que resolve as coisas de uma maneira ágil, que enxerga mais soluções do que impedimentos. Ela é mais direta no trato das coisas reais. Isso, é claro, não significa que essa pessoa seja superficial, pois a pessoa pragmática pode ter uma visão mais profunda, mais crítica da vida ou não. No último caso, ela é pragmática e superficial. Não podemos confundir uma pessoa pragmática com uma pessoa reativa pois a meu ver, uma pessoa reativa é aquela que dá a resposta para as coisas de uma maneira imediata, não pensa muito nas consequências dos seu atos.

Alguns links sobre o assunto:
http://pt.wikipedia.org/wiki/Pragmatismo
http://br.answers.yahoo.com/question/index?qid=20060929142503AABLCGA
http://www.baguete.com.br/colunasDetalhes.php?id=2886
http://www.microsoft.com/brasil/msdn/arquitetura/Artigos/bb898866_Mission%20Critical.mspx
http://msdn.microsoft.com/pt-br/library/aa905336.aspx

JustJava 2008 – Terceiro dia

Depois de mais de uma semana estou escrevendo o resumo do último dia do JustJava 2008. O evento foi um sucesso e as apresentações do terceiro dia não deixaram a desejar. Segue abaixo o resumo das que estive presente:

Construindo Aplicações Escaláveis Usando Java NIO
Leandro Batista de Oliveira
Java NIO foi apresentada como uma tecnologia que oferece recursos para sistemas que fazem uso intensivo de leitura e escrita de dados. O objetivo da apresentação foi mostrar como melhorar o desempenho de aplicações que fazem o uso intensivo de rede, usando Java NIO. Foram apresentados exemplos em um caso prático de um servidor de mídia construído usando essa tecnologia.

Produtividade na Web com Apache Wicket
Bruno Borges e Claudio Miranda
Wicket foi apresentado como uma maneira natural de desenvolver sistemas para a plataforma web com produtividade. Foram apresentados exemplos de aplicações cujos modelos HTML não tinham tags nem scripts proprietários; usando pura orientação a objeto nos componentes e inclusive nas páginas; suporte nativo e extensivo a validações e conversões, integração com Spring, Ajax de fábrica, testabilidade, segurança, suporte a POJO em sua concepção, sem arquivos de configuração, suporte ao botão de voltar e duplo-clique, reusabilidade através de componentização. Foi mostrado por que Apache Wicket é produtivo, simples, rápido e divertido.

Os 7 hábitos dos arquitetos altamente eficazes
Paulo Silveira – Caelum
Foi apresentado porque ficamos confuso com tantos design patterns, padrões, frameworks e boas práticas. Paulo falou muito bem sobre usar herança ou composição, Injeção de dependências, Webservices, JPA, etc. Foi apresentado 7 pontos considerados muito importantes que o arquiteto deve sempre estar atento, independente da tecnologia escolhida.

Scala: a próxima linguagem Java?
Michael Nascimento Santos – Summa Technologies
Mister M apresentou muito bem a linguagem Scala, criada em 2001 e disponível ao público já por 4 anos. Ela tem sido considerada por muitos como uma possível sucessora da linguagem Java capaz de atender às necessidades atuais. Essa palestra considerarou as principais características da linguagem, sua compatibilidade e interoperabilidade com a linguagem Java e a viabilidade de se utilizar Scala hoje.

Gerenciamento de Projetos JEE usando Scrum e FDD
Manoel Pimentel Medeiros – Rhealeza Informática
Nessa palestra fomos apresentados aos conceitos e práticas da metodologia Scrum ouvindo sobre as principais dificuldades e soluções em um típico projeto de desenvolvimento de uma aplicação JEE usando as práticas para o planejamento, estimativas, execução e gerenciamento. Depois Scrum foi aliado com as práticas de engenharia de requisitos, modelagem e desenvolvimento, fornecidas pela metodologia FDD de forma que se tornou claro e de fácil entendimento como combinar essas duas metodologias de maneira efetiva para ajudar na construção de aplicações corporativas baseadas na tecnologia Java.

Conclusão
Depois de 54 palestras, 03 debates, 14 workshops e N muvucas o JustJava 2008 chegou ao fim e foi interessante ver que a comunidade está com a cabeça mais aberta. A presença de alguns “evangelizadores” de metodologias ágeis no Brasil, como o Rodrigo Yoshima, José Papo, Manoel Pimentel e Daniel Wildt foi muito importante e foi legal ver que mais e mais empresas no Brasil tem se rendido ao desenvolvimento ágil.

Este ano o CEJUG esteve representado por mim, Rafael Ponte e Leonardo da e-novar sem falar de Rafael Carneiro e Tarso Bessa que apresentaram uma palestra sobre EJB3 e Spring para um auditorio lotado.

Encontrei muita gente que conhecia apenas no mundo virtual como o Mister M, Guilherme Silveira, José Papo, Claudio Miranda, Eduardo Guerra e muitos outros.

Quero finalizar agradecendo a Fortes Informática por ter me enviado e a todo o pessoal da organização pelo belo trabalho realizado. Portanto fica a dica: em 2009 participe pois será ainda melhor e eu com certeza estarei lá e provavelmente ministrando uma apresentação.

JustJava 2008 – Segundo dia

Dando continuidade ao post anterior…

JustJava on Rails
Elderclei Regis Reami – UOL
Ele tentou mostrar na palestra como novos frameworks baseados na plataforma Java tem buscado alcançar a agilidade oferecida por Rails e também como utilizar Rails através do JRuby.

Padrões para Ampliar a Testabilidade na Plataforma Java
Wanderlei C. A. Souza – UOL
Foi apresentado que a testabilidade de um componente é um importante fator para determinar a qualidade do produto de software. Ele apresentou técnicas para ampliar a testabilidade na plataforma Java. Também foi apresentado alguns exemplos práticos de testabilidade, como assertivas, logging e inclusão de falhas, demonstrando como testabilidade afeta diretamente o esforço para a automação de testes.

Dark Java: a programação como uma arte infernal
Helder da Rocha – Argo Navis
Helder deu um show em sua apresentação… começou com a frase. “Por que deixar as coisas simples se você pode complicá-las?”. Demostrou como utilizar os recursos mais obscuros da linguagem Java e de frameworks populares para escrever código que nem você mesmo vai entender, muito menos manter. O ponto alto foram os “9 pecados”, que são sempre cometidos com as melhores das intenções. Os maiores pecados se cometem em nome da flexibilidade, da eficiência e do design de um futuro esperado.

Enterprise Mashups
Felipe A. Oliveira – BEA
A palestra teve como objetivo trazer ao público-alvo a visão de design orientada a serviços, benefícios diretos colhidos através dessa abordagem, melhores práticas e problemas que um projeto SOA pode enfrentar. Foi apresentado ao público como lidar com o ativo de serviços crescente dentro das companhias, como estabelecer políticas : segurança, serviço; versionamento, controle de tráfego entre outros. Cases reais como Amazon, entre outros do mercado nacional serão apresentados, a fim de ilustrar como o tema.

Design e qualidade em sistemas orientados a objetos
Eduardo Issao Ito – Summa Technologies
Durante a apresentação a idéia foi falar de design orientado a objetos, e alguns princípios básicos (que muitas vezes são esquecidos em favor de detalhes da técnicos da linguagem), e como um bom design pode contribuir para um software de qualidade.

Testes de Integração com Selenium
Guilherme Silveira e Anderson Leite – Caelum
Foi um ótimo workshop onde o Selenium foi abordado e demonstrado como a melhor opção para teste funcionais na web. Foi apresentado um pouco da experiência da Caelum e uma forma mais orientada a objetos de escrever os testes e o uso de grids para uma execução mais rápida em um servidor de integração contínua.

Arquiteturas de Aplicações com JBoss Seam
Alessandro Lazarotti
Durante a apresentação o Seam foi muito bem vendido para o público presente. Alessandro falou muito sobre a motivação e a história do surgimento do Seam explorando e demostrando suas vantagens e facilidade, responsáveis por trazer grande ganho de produtividade e satisfação ao dia a dia de nossa vida de desenvolvimento.

Mitos do Desenvolvimento de Software e Soluções Ágeis
Rodrigo Yoshima – ASPERCOM
Ele apresntou os mitos do desenvolvimento de software através de argumentos da literatura. Apresentou soluções viáveis e pragmáticas numa visão bem-humorada dos problemas muito comuns dos projetos: Até onde meu Design deve ir? Como deve ser meu processo de desenvolvimento? Tenho problemas no gerenciamento de projetos. O que fazer? O que é necessário para satisfazer os usuários? Foi mostrado a visão constante nas literaturas de autores importantes do movimento Ágil como Ken Schwaber, Martin Fowler, Mike Cohn, Scott Ambler, Kent Beck entre outros.