bazedral
Neste blog a principal discussão é como implantar internamente às organizações tradicionais a filosofia de compartilhamento e colaboração encontrada na comunidade do sofware livre. O nome é inspirado no clássico texto de Eric Raymond, A Catedral e o Bazar, que contrapõe o modelo tradicional de produzir software dentro das empresas (Catedral) com a forma aberta, pública e distribuída (Bazar) usada no mundo do software livre.
sexta-feira, 11 de maio de 2012
Macarrão com Marshmallow
Desde o final do ano passado estou com novos desafios profissionais, relacionados a aplicativos móveis para Android e iOS. Temos aprendido muito e agora, mais do que nunca, temos dado valor à prototipação e ao feedback contínuo do cliente. Continuamos usando Agile com bastante sucesso.
Hoje me deparei com esse vídeo sensacional do TED Talk, sobre construção de equipes: "Tom Wujec apresenta uma surpreendente pesquisa sobre o "problema do marshmallow" -- uma dinâmica de grupo simples que envolve espaguete seco, um metro de fita adesiva e um marshmallow. Quem conseguir construir a torre mais alta usando estes ingredientes? E por que um grupo inesperado sempre se sai melhor que a média?"
Divirta-se!
Mais informações em MarshmallowChallenge.com.
terça-feira, 23 de agosto de 2011
8 Dicas Para Se Tornar Excelente
Fonte: http://www.infoq.com/br/news/2010/10/torne-se-excelente
As 8 dicas de como se tornar excelente e aproveitar as oportunidades são de autoria do Klaus Wuestefeld, autor do manifesto da Computação Soberana e criador do Prevayler.
1 - Torne-se excelente:
Seja realmente bom em alguma coisa. Não fique só choramingando ou querendo progredir às custas dos outros. Não pense que porque você sentou 4 anos numa faculdade ouvindo um professor falar sobre software que você sabe alguma coisa. Jogador de futebol não aprende a jogar bola tendo aula. Ele pratica. Instrumentistas geniais não aprendem a tocar tendo aula. Eles praticam. Pratique. Chegue em casa depois do trabalho e da aula e pratique. No final de semana, pratique.
Crie seu próprio virus, seu próprio jogo, seu proprio SO, seu próprio gerenciador de janelas, seu próprio webserver, sua própria VM, qualquer coisa. Varias coisas.
Nao precisa ser só programação. Pode ser networking, vendas, etc. Só precisa ser bom mesmo. Tenha paixão pela coisa.
As melhores praticas do mercado são polinizadas primeiro nos projetos de software livre. Aprenda com eles.
Discípulo, viajante, mestre: Primeiro seja um discípulo, tenha mestres locais, aprenda alguma coisa com alguém realmente bom, qualquer estilo. Depois viaje, encontre outros mestres e aprenda o estilo deles. Por fim, tenha o seu estilo, tenha discípulos, seja um mestre.
Vou fazer o curso da Mary Poppendieck em São Paulo semana que vem e quando tiver o curso de Scrumban do Alisson e do Rodrigo quero fazer também.
"Torne-se excelente" também pode ser chamado de "Melhoria Continua" ou "Learning".
2 - Não seja deslumbrado
Desenvolvimento de software é a mesma coisa há 60 anos: modelo imperativo. Há 30 anos: orientação a objetos. Bancos de dados relacionais: 30 anos. ("Web", por exemplo, não é uma tecnologia ou um paradigma. É meramente um conjunto de restrições sobre como desenvolver e distribuir seu software).
Não corra atras da última buzzword do mercado. Busque a essência, os fundamentos.
Busque na wikipédia e grokke: determinismo, complexidade de algoritmos "O()", problema de parada de turing. Pronto, pode largar a faculdade. Falando sério.
Trabalhe com software livre. Não dê ouvidos a grandes empresas, grandes instituições ou grandes nomes só porque são grandes.
Você acha que vai aprender mais, ter mais networking e mais chance de alocação no mercado trabalhando em par comigo no Sneer por um ano, 8h por semana, ou passando 4 anos na faculdade, 20h por semana, pagando sei lá quanto por mes?
Você acha que vai aprender mais trabalhando em par com o Bamboo 6 meses na linguagem boo e na engine do Unity ou fazendo um ano de pós em "a buzzword da moda"?
"Nao seja deslumbrado" também é conhecido como "Coolness".
3 - Mantenha-se Móvel
Com a demanda que temos hoje no mercado, se você é desenvolvedor de software e não consegue negociar um contrato com uma empresa onde você é pago por hora e pode trabalhar quantas horas quiser com um mínimo de meio período, você precisa rever a sua vida.
É melhor ter dois empregos de meio-período que um de período integral, porque você pode largar um deles a qualquer momento.
Você nunca vai conseguir nada melhor se não tiver tempo, se não tiver disponibilidade para pegar algo melhor quando aparecer.
Você sustenta seus pais e 7 irmãos? Não. Entao para de ser ganancioso e medroso no curto prazo, para de pagar faculdade, mestrado, pós, MBA, sei lá o que e vai aprender e empreender.
Trabalhe remoto. Não é o mais fácil, mas é perfeitamente possível.
Não fique reclamando que está trabalhando demais. Aumente seu preço e trabalhe menos.
4 - Emparceire-se Promiscuamente
Participe de dojos, de congressos, de projetos de software livre. Tenha amigos, colegas, conhecidos. Seja conhecido. Nao faça ruído em seis projetos e doze fóruns. Ajude de verdade em um ou dois projetos de cada vez. Ao longo do tempo, você terá ajudado em vários projetos, trabalhado em varias empresas.
5 - Mentalidade de Abundância
Ajude seus amigos sem cobrar (a "camaradagem" do Vinícius). Dê palestras gratuitas. Cursos gratuitos. Participe de projetos de software livre.
Pare as vezes uma tarde para receber um amigo seu e explicar seu projeto. Vá visitar seus amigos nos projetos deles. Viaje com algum amigo seu pra visitar um cliente dele, só pra conversar e fazer companhia.
Você tem um espaço onde dá cursos? É uma Aspercom, Caelum da vida? Chama os brothers para dar curso. Caramba, bola um modelo em que as pessoas podem se inscrever para cursos variados, pagando um sinal, e mantém tipo uma agenda pre-combinada: "Será numa terça e quinta a noite, avisadas com duas semanas de antecedência".
Se rolar, beleza, se depois de meses não der certo, devolve o sinal. Pode ser curso de Prevayler, de Kanban, de Scrum, de Lean, de Computação Soberana, de Restfulie, de Cucumber, de Rails, de Teste Automatizado Mega-Avançado, qualquer coisa.
Chame amigos seus pra dar curso em dupla com você. Divida clientes. Divida projetos, mesmo que não precise de ajuda.
Dizia o pai de um brother meu de infância: "Tudo que custa dinheiro é barato."
6 - Busque modelos de custo zero
Trabalhe em coisas que tem custo administrativo/burocrático/manutenção zero. Por menos ganho que tragam, depois de prontas, estarão tendo uma relação custo/benefício infinitamente vantajosa.
7 - Ganhe notoriedade
Faça coisas massa. Participe de projetos de software livre. Dê palestras gratuitas. Promova eventos (dojos, debates, grupos de usuários, etc).
8 - Não tenha medo (Por Dairton Bassi)
Meta a cara. Arrisque empreender. Arrisque inovar. O que você tem a perder? No máximo um emprego, mas isso pode ser revertido facilmente em um mercado aquecido como o atual. O pior que pode acontecer é não dar certo. Mesmo assim você terá aprendido muito mais do que batendo cartão.
Saia da zona de conforto. Se o seu trabalho estiver fácil e sob controle, isso significa que ele não está mais agregando para a sua evolução técnica e pessoal.
Não desperdice a chance de trocar de função se a nova oportunidade for mais desafiadora. Isso fará você crescer tecnicamente e o preparará para desafios maiores ainda. Conhecer pessoas novas é tão importante quanto manter-se em contato com código.
Não se detenha por insegurança ou pela sensação de despreparo. Como você acha que vai ganhar experiência em alguma coisa se sempre adiá-la?
Nota de Serge Rehem: Este texto é tão fantástico que resolvi reproduzi-lo aqui na íntegra. Difícil concordar ou discordar 100%, então o melhor é aproveitar para refletir o que estamos fazendo da nossa carreira. Eu não apenas tive a oportunidade de conhecer Klaus pessoalmente no Maré de Agilidade 2011, em Salvador-BA (os vídeos de todas as palestras estão disponíveis aqui), como puder programar em par com ele e mais uma turma de feras. O produto dessa noite foi o http://notepaedia.com.
terça-feira, 29 de março de 2011
Entrevista à Rádio Serpro sobre Colaboração
No podcast abaixo, disponibilizo o papo na íntegra. Falo um pouco sobre o aprendizado que venho adquirindo, praticando e compartilhando neste blog, passando por vários tópicos: colaboração x compartilhamento, aspectos técnico e emocionais da colaboração, coexistencia de competição e colaboração, cultura de colaboração, atitudes individuais + gestão + estruturas organizacionais, web 2.0, trabalho cooperado no serpro, uso de metodologias ágeis, dentre outros.
Se estiver com o tempo curto, tem também a versão "compactada" depois da edição:
domingo, 27 de fevereiro de 2011
Os 3(4) Estágios da Mudança: Ignore-os e Permaneça Onde Está
segunda-feira, 13 de dezembro de 2010
Sabático Bazedral - Dando um Tempo sem Sair de Dentro
Em 2010 este blog não foi muito ativo, tenho plena consciencia disso. Sem precisar me afastar do trabalho por tanto tempo (Glória Maria ficou 2 anos nessa, segundo a TAM. Ela $pode$), a não ser para umas viagens (e o Show do Pixies no SWU, não posso esquecer), percebi que de certa forma eu - e o Bazedral - estamos passando por uma fase assim. Tenho lido, escutado, conversado, assistido sobre assuntos dos mais diversos, técnicos e não técnicos. Agile tem sido a ponta do iceberg e o pano de fundo para muito aprendizado, reflexão e mudança.
No trabalho, estou vivendo um excelente momento profissional. Eu, que tanto venho estudando e "laboratoriando" sobre colaboração, acho que finalmente consegui ver resultados realmente animadores. Numa equipe pequena, altamente competente e distribuída (Salvador, Sampa, Curitiba, Manaus, Fortaleza), estamos conseguindo misturar Agile & Open Source para o desenvolvimento de um framework Java, o Demoiselle. Scrum no começo, Coding-Dojos no recheio (tem feito uma grande diferença, leia nesse artigo o porque), começamos práticas de XP (até programação em pares remota com o Saros vem rolando), aumentamos a maturidade em testes. Aprendemos na prática o verdadeiro conceito de auto-gerenciamento. O melhor de tudo, porém, foi a comunicação, o feedback, o relacionamento da equipe, a alegria de acordar todo dia e ir trabalhar motivado e feliz, respeitando - a até se divertindo com - as diferenças entre as pessoas. E aprendendo muito com isso.
De eventos, participei de vários: FISL, Consegi, ..., CBSoft, Maré de Agilidade Fortaleza (como palestrante, que honra!), JavaOne Brazil. O ápice deles foi o LinguÁgil 2010. As palestras e o Boteco LinguÁgil (confira alguns videos no canal Vimeo), os altos papos com @alegomes, isso tudo me fez pensar muito, e já estamos tendo consequencias. Começamos a pensar mais "empreendedoristicamente" (não deixe de ler este post sobre a Rede Sigma), criamos o Grupo LinguÁgil, estamos organizando o Maré de Agilidade Bahia, Alagoas e Sergipe (MAREBASE) e o LinguÁgil 2011, vááárias ações de treinamento e capacitação a serem realizadas. O JavaBahia vem recebendo energia nova, pessoas motivadas querendo fazer algo diferente, o grupo precisava.
Pessoalmente, voltei a me interessar sobre poesia, música e esporte. Descobri e virei fã da banda Maglore e, para aprender suas músicas, voltei a tocar (quer dizer, arranhar) violão (outro dia ouvi no rádio: "Violão é o instrumento mais fácil de se aprender a tocar..... mal". Dei muito risada e pensei: "É igual ao PHP" - @mlalbuquerque, não resisti a essa #piadinhaLinguagil). Achei até um maluco que musicou umas coisas que escrevi e agora está me convencendo a aprender a tocar contra-baixo para fazer parte da banda (até agora só tem nós dois, nada de baterista, ainda não ensaiamos juntos nenhuma vez, nunca toquei baixo na vida - mas parece que vou conseguir um emprestado. Tem tudo para dar certo, o punk rock começou bem assim). Me dei de Natal um prancha Uri Valadão novinha, voltei a pegar minhas ondas de bodyboarding na companhia das tartarugas de Scar-Reef. Agora muito mais veloz. Eu, não elas.
Enfim, que ano rico e maravilhoso! Estou trocando o pneu com o carro andando, assim tem sido o meu sabático: dando um tempo sem sair de dentro. É possível mudar e reinventar, basta sair da inércia e se unir a pessoas com pensamentos afins. Ano que vem pretendo compartilhar neste blog muito mais sobre todo esse aprendizado que venho acumulando. Eu precisava desse tempo para processar melhor as informações e evitar escrever - muita - besteira. Bazedral Refactored, o tema será sobre o que vier na telha.
Um sabático pra você também. E feliz 2011!
terça-feira, 26 de outubro de 2010
CBSoft 2010 - Minhas Impressões
No primeiro dia, basicamente me dediquei a trilha da indústria. Várias palestras relacionadas a Agile, o que achei muito positivo para um evento acadêmico. Eu tinha que conferir. Por um probleminha no controle das inscrições do Serpro, coisa normal num primeiro dia de evento, só pude chegar no final da primeira palestra, dos Correios. Achei estranho o palestrante falar do uso de Agile num esquema de trabalho de fábrica, onde existem equipes específicas de Análise/Projeto, Implementação. Me pareceu um Waterfall disfaçado, mas eu posso ter perdido alguma coisa. Em seguida, Antonio Terceiro e Vicente Aguiar, da Colivre, apresentaram "Desenvolvimento aberto de software livre, usando métodos ágeis, em um ambiente corporativo. Tinha tudo para dar errado, mas não deu". Muito legal ver as dificuldades e soluções encontradas por eles para uso de Agile no desenvolvimento do Noosfero, a plataforma livre de redes sociais utilizada inclusive no FISL e no #dilmanarede. Gerenciar um único produto com vários clientes em diferentes países não é um desafio fácil, mas eles tem conseguido. Na sequencia, várias palestras ótimas sobre Agile, destaque para: Daniel Wildt falando sobre Testes; André Nascimento mostrando o Case da Stefaninni, um exemplo de sucesso do uso de métodos ágeis em uma das células de desenvolvimento; Daniel Cukier apresentando dicas para tratar os problemas culturais na adoção de Agile (muito boa, com direito até ao Melô do Teste Automatizado) e, fechando com chave de ouro, Paulo Caroli mostrando o uso avançado (pelo menos para mim) de Kanban, usando até o Workflow da Starbucks como exemplo. O ponto alto foi a Técnica da Banana, para evidenciar quando uma estória leva tempo demais para ser atendida. Sensacional.
No 2o e 3o dias teve Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), O Simpósio Brasileiro de Engenharia de Software (SBES) e sessão Demo de Ferramentas. Bastante coisa. Como já disseram os colegas Cleverson ZyC e Marlon Carvalho, trabalhos de boa qualidade técnica e acadêmica, mas em geral faltando entusiasmo dos apresentadores em apresentar e defender suas idéias. Nas palestras do SBCARS, também generalizando, senti falta de enxergar mais aplicação prática no mundo real. Talvez seja esse mesmo o papel da academia, antecipar necessidades futuras, mas para alguém que gosta de realizar coisas de utilidade mais imediata, ficou essa impresão. É notória a importancia que o tema Linhas de Produto de Software vem ganhando na academia. Vale continuar aprendendo sobre o tema e verificando em que contextos a abordagem pode ser aplicada com sucesso (também ficou claro que não é uma "Bala de Prata" que serve para tudo). Tambem pude perceber - e reconhecer - a importância da Engenharia de Software Experimental, que envolve a aplicação do método científico, é uma abordagem fundamental usada por cientistas de todas as áreas do conhecimento para testar hipóteses e sustentar teorias. Entendi que sua aplicação dá mais validade aos experimentos feitos na nossa área. O artigo introdutório deste link, primeira referencia encontrada no Google, pode ajuda-lo a ter uma ideia melhor, se desejar se aprofundar.
Do SBES, duas apresentações que falaram de Código e Software Livre: "A Study of the Relationships between Source Code Metrics and Attractiveness in Free Software Projects", comprovando que a qualidade do código-fonte impacta na atratividade de colaboradores para um projeto open source; "An Empirical Study on the Structural Complexity Introduced by Core and Peripheral Developers in Free Software Projects", concluindo que os desenvolvedores principais de um um projeto Open Source são aqueles que mais introduzem complexidade estrutural (trocando em miúdos, são os que tem mais coragem - e permissão para isso - de mexer nas partes críticas do código). Também gostei da palestra "Is There a Relationship between the Usage of Agile Practices and the Success of SCRUM Software Projects?", vou ler o trabalho escrito, pois fiquei curioso de ver que eles concluíram que algumas práticas ágeis não tem interferencia direta no sucesso de projetos que usam Scrum, como poderíamos pressupor.
Nas demos ferramentas, gostei do Scrum-Half e da apresentação "Uma Ferramenta de Apoio à Gerência de Requisitos Integrada a um Ambiente de Desenvolvimento de Software Centrado em Processos", feita em Ruby como um plugin do Redmine, já com funcionalidades básicas para gerenciamento de Glossário e Casos de Uso. O grande problema ainda é: "Cadê o código-fonte?". Quase nunca estão disponíveis. A resposta é "estamos querendo disponibilizar" ou "me manda um e-mail" ou "ainda não pensamos sobre isso". Lamentável que trabalhos, códigos, ferramentas promissoras fiquem pelo caminho, acabando junto com a obtenção do "canudo", seja ele qual for. Percebo o quanto continua valendo meu post sobre Universidade Pública, Conhecimento Livre...
Ponto para a Profesora Rosana Braga, que na sua apresentação "Engenharia de domínio de linhas de produto com arquitetura orientada a serviços" citou que o código estava disponível no Google Code. Por acaso sentei ao lado dela no almoço de 5a-feira e elogiei a iniciativa. Ela disse orientar sempre seus alunos a disponibilizarem os produtos de seus trabalhos. Ponto para ela e, por tabela e não deve ser por acaso (a USP possui um Centro de Competencia em Sofware Livre, coordenado pelo Prof. Fabio Kon), ICM-USP. Que sirva de exemplo!
Um das melhores apresentações que assisti foi "Evolving an Assistant to Support the Inspection Process through Quantitative and Qualitative Analysis". A hipótese que a automação de uma planilha traria ganhos na execução de um determinado tipo de inspeção foi refutada no trabalho. Apesar do leve nervosismo, a apresentadora passou alegria, energia, estava feliz por ter conseguido enxergar que a abordagem tinha falhas e ainda não agregava o imaginado valor. O experimento precisa ser repetido, evoluido, as falhas na abordagem precisam ser detectadas e sanadas. Muitas vezes aprendemos mais com os erros. "Precisamos de mais trabalhos desse tipo nos congressos", foi o comentário de um dos conhecidos respeitados Doutores (infelizmente não anotei seu nome) que estava na plateia.
Na 5a e 6a pela manhã me envolvi com 2 sessões de Coding-Dojo, não previstas inicialmente no evento. Eu e Márcio Albuquerque fizemos a sugestão na 3a-feira ao prof. Manoel Mendonça, coordenador geral do evento. Imediatamente acatada, ficamos muito agradecidos pela oportunidade de apresentar este tipo de "programação coletiva" que nos permite experimentar linguagens, ferramentas e técnicas (TDD, BDD, Pair Programming, Refatoração) que certamente ajudam a nos tornar melhores profissionais. Foram duas sessões para um publico médio de 15 pessoas. A primeiras delas foi na 5a-feira, linguagem Groovy e desafio "Pedra x Papel x Tesoura". Daniel Cukier, da Locaweb, apareceu e deu a maior força. Na 6a-feira ela conduziu a sessão, usamos Ruby com RSpec/Autospec e o problema foi a distribuição do tesouro. Veja no blog do grupo Dojo-Bahia (a participação é livre, basta entrar na lista!) os registros.
No turnos que não estava no Dojo participei do "MC 08 - Linhas de Produto de Software: Conceitos, Fundamentos e Aspectos Práticos", com o baiano Eduardo Almeida, dentre outras muitas coias atual lider do Reuse in Software Engineering (RiSE).. Além de aprender um pouco mais sobre o tema (uma sugestão para o próximo seria tentar algo menos expositivo, envolvendo alguma dinâmica), pude sentir orgulho de ver um baiano com a devida projeção e reconhecimento. Inteligencia, nós temos. Iniciativa, nem tanto...
Já concluindo, algumas impressões registradas em twitter.com/serge_rehem:
#cbsoft Impressão 1: Todo mundo quer criar SUA ferramenta. Não vejo esforços de se juntar a projetos OpenSource + avançados, q fazem o mesmo
#cbsoft Impressão 2: Poucos códigos-fonte produzidos na Academia são disponibilizados em licença sw livre. "Me manda email q te passo" #fail
#cbsoft Impressão 3: Muitos trabalhos preocupam-se mais em provar/refutar hipóteses. Utilidade prática no mundo real parece menos importante web
#cbsoft Impressão 4: Muitos trabalhos focados em Modelos, Diagramas, Documentos. Queria ver + sobre #codigo, único artefato q #roda de fato
#cbsoft Impressão 4: Fazendo justiça, hj de manhã 2 apresentações legais q falaram de #codigo. Ambas relacionadas a sw livre. Coincidencia?!
#cbsoft Impressão 5: As metodologias ágeis ganhando +notoriedade na academia. Esperamos ver +trabalhos científicos no tema #pontoPositivo
#cbsoft Impressão 6: "Linha de Produto de Software" parece ser a nova moda da Engenharia de SW na academia
#cbsoft Impressão 7: Apesar da qualidade academica dos trabalhos, faltou #entusiasmo em algumas apresentações
#cbsoft Uma dúvida no ar: #CloudComputing "ainda não despertou" ou "já não mais desperta" o interesse da academia? Senti falta do tema...
Não pude assistir Identifying Code Smells with Multiple Concern Views do amigo Glauco Carneiro da UFBA, mas fiquei muito feliz em saber que foi premiado o melhor artigo do evento! O Demoiselle tem sido usado como "cobaia" e estamos muito animados com o andamento dos trabalhos.
Bem, finalizo dizendo que foi muito proveitoso participar do CBSoft 2010, em vários aspectos. Parabéns a todos que organizaram e apresentaram trabalhos! Estou com o CD com os trabalhos escritos, agora é dar uma geral e aprofundar alguns estudos. Agradeço ao Serpro por me dar essa oportunidade. Oficialmente fora da Academia desde 2005, quando conclui um MBA em Adm na Unifacs, participar do evento me fez ter vontade de voltar de retornar, quem sabe um mestrado. Tentando focar nos temas de meu interesse: Software Livre, Agile, Frameworks, Linguagens de Programação, etc, etc. Na minha época de estudante eu não dei o devido valor a esses eventos. Graças ao JavaBahia, que me abriu inumeráveis oportunidades e experiencias, pude descobrir o quanto são importantes os conhecimentos, o networking, o "abrir a cabeça" para novos temas, o "estar antenado", o desenvolver visão crítica (sem ser ranzinza), o querer sempre aprender e compartilhar conhecimentos. Nosso estado, nosso país, nosso planeta, precisam de gente desse tipo. Da minha maneira, estou procurando fazer minha parte. E sua empresa? E você?