Archive for the ‘palestras’ Category

Trilha de Livros: Desenvolvedor

Tuesday, May 20th, 2008

Esta então é a prometida lista de livros para desenvolvedores. Claro que não é nenhuma lista exclusiva ou “o guia definitivo”, apenas minha recomendação de leitura, partindo do principio que você já sabe programar em uma linguagem como Ruby, C# ou Java.

Este guia é bem genérico, sem tentar se especializar em nada e sem tentar abranger mais que o mínimo necessário. Espere modificações nesta lista.

  1. Operating Systems: Design and Implementation: Este ode não ser o melhor livro sobre Sistemas operacionais –ou pelo menos não o mais didático- mas eu gosto bastante. A maioria dos conceitos básicos de um Sistema Operacional está presente mesmo nas máquinas virtuais e seja como for, antes de abstrair você precisa entender como seu computador funciona. Claro que se você cursou SO na faculdade e, principalmente, se lembra de como memória virtual, filesystems e demais funcionam pode passar por este item –eu acho que uns 5% dos desenvolvedores que conheço se enquadram nisso, entretanto.
  2. Fundamentals of Object-Oriented Design in UML: Este livro ensina métricas e princípios básicos para desenvolvimento de sistemas Orientados a Objetos. Se você passou por projeto estruturado provavelmente conhece o autor e algumas de suas métricas.
  3. Head First Design Patterns: Uma introdução suave aos Design Patterns. A vantagem em começar com este ao invés do clássico (que é o próximo na lista de qualquer modo) é que você não tem que lidar logo de cara com Smalltalk e C++. Aprender um conceito não-tão-simples quanto Design Patterns enquanto tenta entender uma sintaxe fora do dia-a-dia é criar complexidade acidental.
  4. Design Patterns: Elements of Reusable Object-Oriented Software: Apesar de não ser indicado ao iniciante eu não acredito que voc6e consiga ir muito longe sem ler este livro. Pelo menos as narrativas são fundamentais para entender as motivações e a evolução do conceito de patterns. A falta desta leitura faz com que pessoas cometam erros grotescos.
  5. Agile Software Development, Principles, Patterns, and Practices: (em versão Java ou .Net) este livro traz uma visão bem pratica sobre alguns aspectos mais teóricos da Orientação a Objetos. Como u organizo pacotes? Qual o problema em ter dependências e como me livro delas? Devo sempre retornar null? O que significa herança na pratica?
  6. Refactoring: Improving the Design of Existing Code: Conforme você for entendendo mais sobre design de software vai sentir uma vontade enlouquecedora de apagar todo o seu sistema e começar de novo. Antes de sair por aí cometendo carreiracídio leia este livro, ele vai te ensinar a fazer pequenas mudanças que melhoram a qualidade do sistema e identificar código que fede.
  7. Patterns of Enterprise Application Architecture: A maioria dos patterns que você teve contato até aqui tratam de design em um nível micro. Como classes interagem, como elas colaboram e como gerenciar seus problemas. Este livro, entretanto, fala sobre padrões em um contexto mais amplo, sobre arquitetura de software.
  8. Domain Driven Design: Os livros até então falam de sotware pelo software. Como criar uma classe, como gerenciar dependências entre classes… mas ninguém te mostrou o que deve ser uma classe e o que não deve. Eric Evans supre esta demanda mostrando uma abordagem simples e eficiente para criar domínios que se aproximam do mundo real.
  9. POJOs in Action e/ou Applying Domain-Driven Design and Patterns: With Examples in C# and .NET: É normal que exista uma certa dificuldade em levar estes conceitos para o dia-a-dia. Estes livros não são indispensáveis mas eles ajudam bastante a entender como aplicar conceitos, ainda que algumas vezes de maneira “não canônica” mas ainda assim eficaz.
  10. The Pragmatic Programmer: From Journeyman to Master: Infelizmente muitas vezes, especialmente em consultorias de três letrinhas e faculdades McDonald’s, não temos um ambiente sadio para nos ensinar como programadores profissionais se comportam. Este genial livro traz uma boa parcela deste conhecimento condensado. Eu adicionaria o The Art of UNIX Programming, especialmente para aqueles que vêm de uma cultura drag’n'drop para o mundo real
  11. Ship it! A Practical Guide to Successful Software Projects Este livro é bem interessante para entender como um desenvolvedor utiliza ferramentas simples como controle de versão e issue tracker. Ótimo par aquém está profissionalizando uma empresa.
  12. Agile and Iterative Development: A Manager’s Guide Antes de você se dedicar a estudar mais uma metodologia de desenvolvimento em específico uma boa idéia é ler este livro, que traz um apanhado de diversas metodologias e as compara.

Mais sobre o Australian Architecture Fórum – Melbourne

Saturday, May 17th, 2008

Com mais calma agora, volto a falar do evento. O fórum foi patrocinado pela IASA, que possui um capítulo bem forte em Melbourne. A idéia é prover mais mesas redondas do que apresentações, minha palestra foi uma das três únicas que não seguiam este formato.

Eu cheguei atrasado e fui direto para uma mesa redonda sobre REST x SOAP. O apresentador/moderador era claramente tendencioso a favorecer REST e, apesar de adorar essa arquitetura, eu acho que isso foi uma falha grave. A parte boa foi que diversas pessoas tentaram defender SOAP usando argumentos bem interessantes. Nenhum deles me convenceu inteiramente mas me fizeram pensar sobre alguns cenários onde usar REST seria reinventar SOAP, ainda que mais coeso.

Minha apresentação foi bem interessante, eu não sei estimar tempo de palestras em inglês ainda e acabei usando apenas 30 minutos dos 50 esperados. Isso acabou sendo bom porque houveram muitas perguntas, especialmente sobre os widgets em JavaScript. No final da apresentação eu tive uma conversa muito interessante com uma pessoa que foi arquiteto de um dos principais canais de TV australianos e é impressionante como os cenários e problemas são os mesmos.

Durante o resto do dia eu fiquei no stand da ThoughtWorks conversando com as pessoas. Foi bem interessante ver o que os arquitetos presentes pensam da ThoughtWorks e fazer contatos profissionais, tanto para possíveis futuros colegas quanto para futuras oportunidades de projetos.

Uma coisa engraçada em eventos ora do Brasil é que apesar de nos consideramos os seres mais sociais do universo conhecido nossos ventos são sobre grupinhos. As pessoas não interagem com desconhecido. Nos eventos aqui e em outros países, no entanto, é tudo sobre networking. Chega a ser meio constrangedor você está saindo do banheiro e alguém fala um “Oi, eu sou X, quem é você?”.

Segunda-feira eu embarco para Sydney para mais um dia de evento. Isto é algo também interessante, como o evento é durante a semana e Melbourne e Sydney são cidades distantes o mesmo evento ocorre nos dois lugares.

Estes últimos dias (meses?) foram bem corridos e eu fico feliz de pelo menos esta tarefa se concluir.

Apresentação no Australian Architecture Forum 2008

Friday, May 16th, 2008

A apresentaçao em Melbourne acabou de terminar. Foi bem interessante e o evento em si está sendo uma experiência diferente. É algo mais como mesas redondas do que apresentações, mais sobre isso depois.

Aproveitando, agradecendo novemente ao Antônio Carlos pela liberação dos nomes e marcas, a apresentação ia ficar bem sem graça sem os screenshots :)

JustJava 2007 (Upped)

Monday, October 8th, 2007

Update: Enfim o Paulo publicou.

A palestra com o paulo foi sensacional. Muita gente me perguntou ao final da palestra qual minha relação com a Caelum, se sou instrutor de lá ou coisa do tipo. Bem, não :)

Palestra

Além de ser amigo do pessoal da empresa eu acredito fortemente na proposta de trabalho da Caelum, mas não tenho nenhum vínculo empregatício, comercial ou que quer que seja com eles.

Eu simplesmente acredito que o nível de treinamento que alguém obtém lá é bem superior ao treinamento pasteurizado dado pelos centros de treinamento que eu conheço. A palestra em si foi prova disso, nós falamos sobre tecnologias e técnicas que não são vistas nos ‘cursos de arquitetura’ normais e sobre como as tecnologias que de fato fazem parte do programa destes cursos quase sempre é antiquada e/ou inadequada. É uma empresa que consegue sair do commodity que é treinamento Java hoje em dia e trazer algo de valor, geralmente por um preço muito mais acessível.

Caelum

Os slides devem estar disponíveis no site da Caelum em breve.

JustJava 2007

Friday, September 28th, 2007

O JustJava parece que dessa vez vai e eu e o Paulo vamos dar uma palestra dia 04. Devo estar por lá dias 4 e 5 e para variar deve ter o’Malley’s. Abaixo um email de divulgação que rolou nas listas.

> From: Mauricio Leal
> Date: Sep 26, 2007 6:08 AM
> Subject: [noticias-list] As estrelas do JustJava’2007: Paulo Silveira
> & Philip Calcado [Arquitetura e Design de um Projeto Java EE]
> To: noticias-list@soujava.dev.java.net
>
> JUST JAVA 2007 - 6a. edicao
>
> Nos dias 03, 04 e 05 de outubro de 2007 estara acontecendo um dos
> maiores eventos da comunidade brasileira de Java, que teremos diversos
> assuntos apresentados, tais como:
>
> JavaFX, Java EE, Java ME, SOA, Java 3D, Java 7, Web 2.0 e Ajax
>
> Faca ja a sua inscricao no site:
> http://www.sucesusp.org.br/eventos2007/justjava07/
>
> Voce pode verificar a grade do evento no site
> http://www.soujava.org.br/display/v/Grade+de+Palestras
>
> No dia 04/Outubro (quinta-feira) as 10hs, teremos
> ARQUITETURA E DESIGN DE UM PROJETO JAVA EE
>
> Arquitetar e desenhar uma aplicação Java EE sempre foi uma tarefa
> difícil. A decisão entre usar ou não usar os EJBs esbarrava na
> complexidade da especificação 2.x, na baixa produtividade, além das
> sérias limitações dos Entity Beans CMP.
> Com a chegada do Java EE 5.0, em especial do JSF e EJB3, utilizar as
> tecnologias da especificação tornaram-se muito mais atrativas e
> produtivas, além de muitos padrões antigos, como DTOs e BOs, não serem
> mais necessários, mesmo se EJBs fizerem parte da arquitetura.
>
> Nesta palestra veremos as principais arquiteturas que costumam aparecer
> nos novos projetos web: de um simples JSP + controlador + Hibernate até
> rebuscadas escolhas como JSF + Spring + EJB3. Qual a vantagem de cada
> uma? Vale a pena interfacear todos os serviços como WebServices? Devemos
> utiliziar JSon, POX, um modelo Restful ou o bom e velho SOAP?
> Essas e outras discussões serão apresentadas.
>
> *** Apresentando
>
> PAULO SILVEIRA foi instrutor da Sun por 2 anos, é formado em Ciência da
> Computação e possui mestrado na mesma área pela USP, trabalhando em
> diversas consultorias no Brasil e na Alemanha. Atualmente é instrutor e
> consultor pela Caelum.com.br. É editor técnico da revista Mundo Java e
> um dos fundadores do portal GUJ.com.br.
>
> PHILIP CALCADO é líder do RioJUG (Grupo de Usuários Java do RJ), do GUJ
> (http://www.guj.com.br), colunista do Portal Java
> (http://www.portaljava.com.br) e participa ativamente nas comunidades
> Java e Ruby. Programa em Java desde 2003 e já atuou nas áreas de análise
> de risco, previdência privada, gestão de conteúdo, redes de telefonia e
> energia. Participa de projetos open-source e mantêm um blog em
> http://www.fragmental.com.br.
>
> SouJava: Quais são as primeiras considerações que precisamos considerar
> ao começar o desenvolvimento de um Projeto em Java EE ?
>
> Paulo: Existem centenas de opções para o arquiteto Java EE. A maioria é
> apenas mais uma variação do mesmo estilo ou padrão. O maior desafio do
> arquiteto hoje é saber separar a escolha de padrões e conceitos da
> escolha de ferramentas, levando em conta os impactos tecnológicos e
> humanos do desenvolvimento de software.
>
> SouJava: O que os profissionais devem fazer para se tornar um bom
> Arquiteto na tecnologia Java EE ?
>
> Paulo: Conhecer principalmente os conceitos de arquitetura de software
> antes de conhecer ferramentas que implementam estes conceitos e estar
> aberto à inovação dentro e fora da plataforma. Lembrar de que não existe
> a bala de prata.
>

Falemos em Java

Thursday, May 31st, 2007

Fui convidado pelo pessoal da Caelum para participar do Falando em Java 2007. Achei a idéia dos rapazes fenomenal: uma conferência rápida sobre um tópico atual a um preço acessível. Você paga R$200,00 para ir num Sun Tech Days da vida e passear por 2.545 palestras que falam superficialmente sobre um milhão de coisas e não aprendendo muito além de que se você usar Netbeans você vai ser mais feliz, mais gostosão e sua alma não vai para o Inferno, mas se você está cansado disso pode preferir pagar R$40,00 e ter um dia com 5 palestras sobre coisas que você precisa saber pra ontem. A grade inclui indexação e busca de conteúdo, REST, APIs públicas, JavaFX e AJAX, tudo girando em torno do tema Web 2.0.

Bate-papo Sobre Papel do Arquiteto na Bennet

Thursday, May 31st, 2007

Após uma curta passagem turística por Curitiba voltamos a programação normal. Acabo de sair de um bate-papo com os alunos do Marcos Kalinowski que está fazendo um ótimo trabalho na faculdade Bennet, aqui no Rio. O Kali leva profissionais para que seus alunos possam entrar em contato com a realidade do mercado, muito interessante. É extremamente complicado falar de um assunto que os próprios profissionais não entendem bem, como arquitetura de software, mas acho que eles saíram de lá ao menos querendo saber mais sobre a área. Além do papel do arquiteto em si deu para perceber que o grande problema dos alunos é como entrar no mercado. Anúncios que pedem experiência para estagiários, sopas de letrinhas e tudo mais estão preocupando muito os programadores de amanhã.

Faz parte da política da IASA se aproximar cada vez mais dos centros acadêmicos e instruir as pessoas ainda antes que elas entrem no mercado e também dos pesquisadores, como é o caso do próprio Kalinowski.

Um ponto bom foi que rapidamente falamos sobre o posicionamento das duas maiores plataformas no mercado, java e .Net, e minha dica expressa: quem vai demorar uns anos ou mais pra entrar na faculdade deve aprender estas plataformas apenas academicamente. As coisas interessantes em dois anos não serão feitas da mesma maneira que eram há alguns anos, estamos num mercado em franca mudança.

Desenvolvimento Ágil Divertido no XP Rio

Monday, May 21st, 2007

Semana passada fomos Guilherme, Bairos e eu na reunião do XP-RIo. O tema foi um desafio passado pela empresa do Vinicius, a ImproveIt, ao introduzir ao mesmo tempo XP e Ruby on Rails para um departamento de desenvolvimento de software que usava…uhm.. CLIPPER para desenvolver.

Após a explicação de como foi (está sendo, na verdade) feita a “migração do peopleware”, acabamos conhecendo um pouco do estilo que o grupo adotou no seu dia-a-dia. Não vou falar muito porque foram geradas fotos, filmagens e PDFs, que você vê aqui. Vale muito para quem perdeu.

Se você acha que desenvolvimento de software é uma atividade chata e burocrática esta apresentação pode te mostrar que isso não é uma verdade absoluta.

Palestras do ERECOMP-AL

Monday, March 19th, 2007

Comento em breve o evento mas os slites já estão disponíveis:

Rumo ao ERECOMP 2007

Thursday, March 15th, 2007

Como já falamos aqui, estou indo apra o ERECOMP 2007. Estou bem ansioso para este evento, nunca palestrei no nordeste e não conheço o público.

O keynote será uma apresentação que está na manga há um bom tempo mas nunca tinha a oportunidade de executar. É bem diferente do meue stilo normal de apresentação, pelo menos graficamente. Acho que o livro do Atinkson teve efeito retardado mnas quem viu gostou.

A segunda é uma releitura da palestra de CBD x SOA que foi apresnetada ano passado. Acho que o principal diferencial para esta é estar neste exato momento vivendo os problemas de se implantar uma arquitetura SOA em um ambiente onde já existe um conjunto de sistemas e uma cultura formada.

Bom, que for lá por favor não se acanhe. O melhor destes eventos é a experiência trocada.