sexta-feira, 6 de abril de 2012

Resumo: A Cabeça de Steve Jobs (parte I)


Resumo do livro A Cabeça de Steve Jobs, escrito por Leander Kahney, jornalista e escritor que há anos acompanhou a carreira de Steve. O livro conta a historia desse grande homem, tenta explicar como a cabeça desse monstro da tecnologia funcionava. O livro reúne as lições empresariais desse visionário e tenta revelar seus segredos.

Em alguns momentos podemos traçar um paralelo com desenvolvimento ágil, Apple precisou ser muito ágil para enxugar e retomar o crescimento. Lembrando que quase tudo desse post foi retirado do livro A Cabeça de Steve Jobs.

domingo, 12 de fevereiro de 2012

Férias 2011

Estava devendo um post sobre minhas férias, no ano passado. Fui para o Rio com minha namorada e um casal de amigos, ficamos hospedado no Mar Ipanema Hotel, muito bom e ainda tinha um bar da devassa no anexo e a localização é muito boa. Ipanema é bem legal, um dos locais mais seguros, perto do hotel tinha varias opões de compras e muitos barzinhos.

Iniciamos um pouco perdidos, estava chovendo um pouco e ainda não tinha noção dos locais para visitar, passamos pela praia(muito frio por sinal) e andamos pelo bairro...Vamos ao que interessa, vou falar dos pontos que visitamos.

O grande cristo, pegamos o bondinho que é muito bacana, muita gente fica na base do cristo oferendo a subida de van, não é uma opção o bonde é muito bacana, demora um pouco mais é show.


quinta-feira, 17 de novembro de 2011

10 Anos de Eclipse

Hoje na FA7 vamos comemorar os 10 anos desse grande desenvolvedor, ele é o cara, decora vários atalhos, ajuda a desenvolver com muita eficiência e rapidez. Estou falando do Eclipse, brincamos aqui na empresa que ele é o terceiro desenvolvedor da dupla. (Editado: gravação feita pelo Igor)

Hoje o Eclipse é considerado a plataforma padrão para desenvolvimento de software nas empresas devido a sua numerosa e forte comunidade, formada por grandes empresas e indivíduos talentosos. É de longe a plataforma que oferece a maior quantidade de plugins e produtos finais.

Vou palestrar, é uma das formas de agradecer a esse cara. Realmente é uma ferramenta muito boa e facilita muito a vida de um desenvolvedor, minha palestra vai ser sobre os atalhos e facilidades do Eclipse.

Título da palestra: Programação em dupla de três.
Tempo de apresentação: 15min.
Resumo:
Programação em par é uma pratica maravilhosa, acho que todo mundo já sabe. Com essa pratica os melhores atalhos e funcionalidades do Eclipse são rapidamente disseminadas para toda a equipe. Assim a produtividade evolui com muita rapidez e o código fica cada dia melhor. Então costumamos brincar que na Fortes a dupla é de três, o Eclipse realmente é um bom programador. Vou compartilhar os atalhos mais utilizados pela equipe.

Atalhos:

Edição

Ctrl + k = próxima busca
Ctrl + Shift + k = busca anterior
Ctrl + Alt + Dow = duplica linha
Alt + Dow = mover linha
Ctrl + d = deletar linha
Ctrl + Shift + Delete = deletar até o fim da linha
Ctrl + 2 + r = renomeia
Shift + Alt + r = renomeia
Ctrl + j = busca incremental
Shift + Alt + c = altera assinatura do método
Ctrl + 1 = quick fix
Shift + Alt + Up = selecionar “bloco”
Ctrl + / = comentário
Ctrl + Shift + m = import
Ctrl + Shift + o = import
Ctrl + Shift + f = formata código
Ctrl + i = indentação
Shift + Alt + o = marcar ocorrência
Ctrl + j = busca

alt + shift + s + r = get and set
ctrl + 3 = navegação (Ex.: ggas = abreviação de: Generate Getters and Setters)

Arquivo

Ctrl + w = fechar
Ctrl + Shift + w = fechar todos
Alt + right ou Alt + left = caminha pelos aquivos (histórico)
Alt + Enter = propriedades
Ctrl + l = vai para uma linha

Navegação

Ctrl + Shift + l = atalhos
Ctrl + . ou Ctrl + , = caminha nas anotações
Ctrl + q = volta para ultima edição
Ctrl + Alt + h = hierarquia
Ctrl + Shift + t = abrir por tipo
Ctrl + Shift + r = abrir por recurso
Ctrl + o = elementos da classe
Ctrl + h = busca
Ctrl + m = maximizar e minimizar
Shift + Alt + q = views
Ctrl + F6 = abas
Ctrl + F7 = views
Ctrl + F8 = editor
F3 = declaração
Ctrl + F11 = executar
F11 = debugar
F12 = cursor no editor

segunda-feira, 24 de outubro de 2011

Curso: Agile Coach Professional

Neste final de semana, 21 e 22 de outubro participei do treinamento: ACP - Agile Coach Professional. Na UFC, com o grande Manoel Pimentel, o cara é fera, vem participando há muito tempo do mundo ágil e aplicando o conhecimento de coach que adquiriu com muito estudo e pratica.
Manoel começou o curso perguntando se estávamos realmente dispostos a aprender e o que cada um de nós poderíamos fazer para que a nossa participação fosse um sucesso.

Uma explicação bem aplicada sobre coach partiu da citação de Timothy Gallwey, autor do Livro The Inner Game of the Tenis, “Coaching é uma relação de parceria que revela/liberta o potencial das pessoas de forma a maximizar o desempenho delas. É ajudá-las a aprender ao invés de ensinar algo a elas...”

Mais ou menos como os antigos falavam, “não dê o peixe, ensine a pescar”. A diferença é que o ensine a pescar do coach é um pouco diferente, na verdade ele “induz” por meio de perguntas o coachee mesmo se ensinar a pescar. O coach facilita as pessoas a alcançarem suas metas.

Coaching muitas vezes se mistura com coisas que já conhecemos, Manoel lembrou um ponto importante, coaching não é consultoria, não é aconselhamento, não é treinamento, não é mentoring e muito menos tratamento psiquiátrico ou psicológico. Muitas pessoas confundem o real objetivo e praticas do coach. O coach é um facilitador que não deve julgar, induzir e muito menos indicar o caminho a ser seguido.

Falamos sobre um assunto bem delicado, atitude, essa difícil ação que todos gostaríamos de ter mais poucos realmente utilizam no dia a dia, o Manoel demonstrou como as pessoas muitas vezes tem o conhecimento mas não tem a iniciativa de começar a mudar o “seu” mundo, as vezes tem a habilidade necessária para determinada atividade mas não tem a atitude de executar. Batemos muito nesses três elementos que no mundo do RH é conhecido como CHA (conhecimento, habilidade e atitude).

O Manoel depois de algumas explicações e organizar os pensamentos da turma por meios de exemplos, iniciou a apresentação de diversas praticas que o coach deve ter na manga, facilitando o aprendizado do coachee.

Falamos sobre FFA(Análise do Campo de Força), que faz uma analise sobre as forças contrárias e favoráveis rumo a uma meta. GROW (o que será feito, quando, por quem e a vontade de fazer) facilita que as metas criadas sejam realmente desafiadoras, pois evita que as metas sejam geradas com base na realidade atual. Coaching for meta-improvement(by ICA-TI), falando sobre emoção, comportamento, impacto e pensamento. Roadmap, Ganhos e Perdas e muitas outras.

Batemos um papo bem bacana sobre crenças, crenças limitantes, valores e metas, esse para muitos é um ponto bem difícil de escolher, muitas pessoas não sabem para onde estão indo. Tivemos vários exemplos de sabotadores de metas, nada mais que uma falta de disciplina que todos já vivenciamos na vida, tipo quando um dieta é quebrada “só naquele dia”, sabemos que não é só naquele dia, mas mentimos para nós mesmos.

Entre os muitos momento que o juízo realmente trabalhou, posso levantar um bem complicado, foi dar a resposta a qual era o seu real proposito de vida, o que eu ia querer deixar como legado da minha vida, o que eu ia gostar de escutar no discurso da minha morte ou o que estaria escrito na minha lapide.

Uma pergunta bem interessante e boa para refletir foi: “Você seria liderado por si mesmo?”. O interessante é que esse questionamento não seja usado apenas uma única vez, mas sim de maneira constante.

O curso é realmente muito bom, tem mais uma infinidade de coisas que não tem como descrever aqui, para profissionais que gostam dessa área realmente vale muito participar desse curso. Nossa empresa mandou sete desenvolvedores para o curso e já estamos movendo o juízo de cada um para não deixar de colher os frutos do aprendizado gerado nesses dois dias. Nosso principal objetivo é aplicar essa habilidade nas equipes e gerar times de alta performance.

Fica o link do curso para quem tiver afim de aprender mais sobre o assunto, valeu Manoel, um abraço e até mais.

quinta-feira, 15 de setembro de 2011

QCon SP 2011

Este ano participei do QCon SP, um evento organizado pela Caelum que ocorreu no coração de São Paulo, o Centro Fecomercio de Eventos, nos dias 10 e 11 de setembro. Não conhecia São Paulo e nem deu para conhecer, ficou para outra ocasião. Mas me parece ser uma cidade muito bacana em especial para trabalhar muito.

Minha expectativa era muito grande, amigos que participaram do QCon 2010 falaram muito do evento. Assim que cheguei percebi a grandiosidade do evento, distribuição de credenciais muito organizada e pessoas simpáticas recebendo os participantes. Depois fui conhecer o espaço destinado aos patrocinadores, local bem grande e bacana para trocar idéias nos intervalos.

Hora de começar o show, rápida abertura feita pelo Paulo Silveira que rapidinho anunciou o primeiro keynote, Jim Webber, falando de HTML para criar sistemas REST em larga escala usando agile. Depois Sérgio Lopes falou de algumas técnicas para otimização de sites, são aquelas coisas que sabemos que existe mas não fazemos, pelo menos a maioria, ele demonstrou números pequeninos que fazem toda a diferença, quem tiver a fim de dar uma olhada nos slides

Fechando os keynotes do sábado chegou o Evan Weaver, o cara do twitter. A expectativa tava grande pra esse carinha, mas infelizmente ele me pareceu nervoso,  ficou falando baixo e então resolvi abandonar o auditório.

Fui almoçar e rever alguns amigos, só gente boa. Almoçamos em um local simples perto da Fecomercio, igual matuto em cidade grande só anda dois quarteirões para não se perder.

Hora das tracks, o QCon foi dividido em varias: .NET e as arquiteturas modernas, Falando em Java, Práticas e engenharia ágil: XP e Além, Frontier: nosql, linguagens funcionais e mobiloe, Agile no estado da arte, Ruby e Rails: quando e onde, Arquitetura: qualidade e trade-offs e O browser como plataforma.

Iniciei a tarde assistindo a palestra do Vinicius Quaiato, Arquiteturas modernas. Um panorama sobre velhas necessidades e novas oportunidades, ele mostrou um pouco do passado da web, falou da “CLAUDIA” (cloud computing), que com certeza foi um dos tópicos mais batidos e colocou a galera para fazer algumas reflexões sobre o passado, presente e futuro. Slides...

Próxima palestra foi “REST e o Cloud: feitos um para o outro?” com Howard Dierking. Falou mais de cloud e como resolver problemas de confiabilidade, escalabilidade e custo. Depois fui para o coffee break, confirmando o que tinham me falado, o coffee era do caral..., muito bom mesmo. Aproveitei para passar nos stands e bater um papo com a galera.

Depois vi um relato muito bacana da vida do Peixe Urbano, Alex Tabor simplesmente abriu seu juízo para sua platéia e descreveu passo a passo como o Peixe Urbano surgiu e cresceu. Foi muito bacana e só confirmou alguns dos meus pensamentos, não existe esse negó de sorte, só acerta quem tem muita experiência e varias tentativas, montar um negócio lucrativo é trabalhoso.

Fui novamente assistir o Jim Webber com a palestra “Neo4j Saves the Universe!”. Eu estava bem interessado nos bancos NOSQL, querendo entender melhor seu funcionamento e visualizar suas fraquezas, essa palestra caiu como uma luva.

Finalizando o sábado com a palestra do pessoal da Bluesoft “Lições aprendidas em 4 anos de agilidade”, esses caras realmente estão fazendo historia, me parece que eles montaram um esquema realmente participativo nessa empresa, eles repassam informações com muita precisão e  clareza. Show parabéns Bluesoft, Luiz Faias Junior e André Faria Gomes. 
Finalizando o sábado, fiquei nos lightning talks da trilha “Frontier: nosql, linguagens funcionais e mobile”

Encerei o primeiro dia com um hora extra muito bacana, conversando com a galera em um restaurante perto do MASP, minha conclusão inicial é que algumas palestras poderiam ter um conteúdo mais avançado.

Bom dia domingo, bom dia São Paulo. Iniciamos o segundo com muita coragem e disposição, vamos que vamos QCon. Primeiro keynote foi o Kunal Bhasin falou um pouco da Terracotta, falando de EhCache e como trabalhar com o garbage collector.

Depois tivemos uma apresentação bacana de um cara da NASA:  Khawaja Shams, falando como a NASA vem investindo  em cloud, quais os riscos e mitos. Depois foi a vez da Rebecca Parsons, não fiquei até o fim, o juízo já estava um pouco cansado.

Hora do almoço, dessa vez partimos para um local um pouco mais longe. Fui almoçar com a galera do Grupo Fortes no restaurante sujinho, comemos um bistecona e quase ficamos sem força para voltar para o evento.

Iniciei a tarde com a palestra “Spring into Rails” com Hiro Asari, mostrou um exemplo do Pet Clinic, e falou bastante sobre código legado e testes.
Faltei o coffee e fui assistir a palestra “Os complicados testes de interfaces e componentes web” da dupla Andrews Medina e Francisco Souza. Falaram do Cobra Team, parece ser um iniciativa bacana, vou verificar melhor como funciona, esse link não funcionou http://cobrateam.info/.  Demonstraram algumas “ferramentas” como QUnit, Jasmine, Capybara...

Chegou a hora do Ruby, fui ver a palestra “Criando aplicações melhores com Ruby e Rails.” do Vinícius Baggio, o cara realmente motivou e mostrou algumas coisas interessantes. Iniciou lembrando como era o trabalho com XML (que eu ainda trabalho por sinal), código com baixa qualidade e muito complexo. Lembrou das picuinhas entre desenvolvedores, Java, PHP e Ruby. Deixou algumas mensagens: “Progresso é iterativo, errar é normal, o diferencial é perceber e melhorar” e “Ruby é feito para ser bonito. Se está feio, está errado. ’Matz’ ”.

Finalizando o evento com esses caras: Luca Bastos e Bruno Pereira com a palestra “Transações compensatórias usando REST” eles demonstraram como trabalhar com transações, demonstrou alguns pontos de vista e defenderam suas posições sobre esse assunto.

Finalizando adorei o evento, o espaço e a galera que participou. Tinha uma grande quantidade de cearenses que montaram uma mega caravana organizada pelo pessoal da JavaCE. O único ponto que tenho para reclamar foi o nível de algumas palestras, alguns palestrantes me pareceram despreparados, não sei se minha expectativa estava grande demais, montada pelos comentários do QCon 2010, e como participo de muitos eventos algumas palestras tocavam em assuntos repetidos.

Parabéns Caelum, vocês são surpreendentes e montaram um mega evento. Obrigado por trazer informações e aprendizado para a comunidade. Valeu, até a próxima.

quinta-feira, 4 de agosto de 2011

I DOJO Fortes

Data: 28/07/2011
Problema: Poker
Linguagens: C#, Java e Ruby
Código da galera
Fotos

No dia 28/07/2011 tivemos nosso primeiro Dojo e foi um experiência muito proveitosa para todos que participaram. Vamos a um breve resumo do que aconteceu.

Apresentamos o que é o Dojo, seus fundamentos e alguns modelos, utilizando o slide do pessoal da bluesoft. Pense numa galera que tá fazendo história! Fica a dica do blog deles, caso alguém não conheça. 

Escolhemos o mesmo problema para as três equipes e o escolhido foi Poker, encontrado no site dojopuzzles. Parabéns aos criadores do site, que é bem organizado.

Devido à quantidade de pessoas envolvidas no Dojo escolhemos o modelo Kake e dividimos a galera em três equipes, cada uma com uma linguagem: C#, Java e Ruby. Cada particpante da  equipe alternava entre os papéis de piloto, co-piloto e observador, com turnos de oito minutos.

No inicio foi um pouco complicado manter o foco pois várias pessoas queriam dar uma espiadinha na equipe do lado. Passado esse primeiro momento, que foi contornado mais ou menos na segunda rodada, surgiu um novo desafio: manter os observadores calados, sem dar palpite no código da dupla.

Começaram a surgir dificuldades com editores, IDEs e até mesmo teclados diferentes, além de que nem todos os participantes das equipes estavam familiarizados com a linguagem. Esse momento foi bacana, percebemos como ficamos acostumados com a zona de conforto do dia a dia.

Depois da quarta rodada quando a galera foi entendo o que era mais importante no DOJO e conhecendo melhor as duplas, começamos a querer terminar o problema tentando vários caminhos diferentes para conseguir resolver. Sempre as práticas eram lembradas, mas nem sempre utilizadas.

Paramos para um rápido coffee e alguns não queriam sair da sala, o vício em programação falava mais alto, mas o bate papo do coffee se tornou bem agradável e algumas alfinetadas surgiam no modelo de programar, falar e não podia faltar nas linguagens.

Voltamos com a corda toda, todos querendo programar, a solução foi tomando forma, a refatoração foi se tornando carro chefe e a vontade de finalizar o exercício foi aumentando.
Mas o tempo acabou e chegou a hora da retrospectiva.

Retrospectiva

Foi bem:

Coffee
Rotatividade
Troca de experiencia e conhecimento
Práticas Ágeis
Papo no intervalo
Entrosamento
Comunicação da equipe
Aprendizado
Legal de +
Organização

Podemos melhorar:

Mudar ordem das duplas
Colocar o DOJO para sábado, podemos demorar mais
Lembrar das práticas
IDE
Foco
Pessoas que faltaram / Compromisso
Discutir mais antes de ir para o código