Archive for the ‘Etc.’ Category

Dev in Rio 2009: eu vou!

Thursday, August 20th, 2009

Dev in Rio 2009É com muito orgulho que apresentamos o Dev in Rio 2009, uma conferência inédita sobre desenvolvimento de software que acontecerá no próximo dia 14 de setembro no Centro de Convenções SulAmérica, no Rio de Janeiro!

O evento está sendo organizado por mim (Guilherme Chapiewski) em parceria com o meu amigo Henrique Bastos e a realização está sendo coordenada pelas nossas experientes amigas da Arteccom (e tê-las ao nosso lado já garante que este será um evento para marcar o circuito carioca).

Nossa programação conta com três palestrantes nacionais e três internacionais falando sobre Open Source, Java, Ruby on Rails, Django e desenvolvimento ágil de software:

“O molho secreto”: como as comunidades do Joomla! e Open Source estão melhorando o cenário de tecnologia… e mudando o mundo!

Ryan OzimekRyan Ozimek é atual membro do Steering Committee da Open Source Initiative, membro da diretoria da Open Source Matters e co-fundador e CEO da PICnet Inc. Com enfoque em tecnologias open source, Ozimek está constantemente a procura de formas em que a Internet possa servir melhor o “bem maior” e, mais especificamente, as entidades sem fins lucrativos.

O Java está morto?

Guilherme SilveiraGuilherme Silveira é especialista em Java para a web e graduando em matemática computacional na USP, ministrou diversas palestras relacionadas ao tema em eventos e empresas pelo Brasil. Atualmente é commiter do CodeHaus pelos projetos XStream e Waffle, além de um dos responsáveis pelo desenvolvimento do VRaptor.

Nico SteppatNico Steppat é Engenheiro da Computação Aplicada na Fachhochschule Brandenburg na Alemanha, é instrutor, consultor e desenvolve há cinco anos com Java no Brasil e Alemanha, atuando agora na Caelum com enfoque especial em EJB. É o responsável técnico no Rio de janeiro. Escreve para a revista MundoJava e possui as certificações SCJP, SCWCD, SCBCD e SCEA.

Ecossistema Ruby on Rails

Fabio AkitaFabio Akita é Gerente de Produtos de Hospedagem na Locaweb e ajudou a implantar Ruby on Rails pela primeira vez num grande hosting no Brazil. Ano passado também organizou o Rails Summit Latin America, o primeiro grande evento de Rails na América do Sul. Trabalhou na consultoria americana Surgeworks LLC, prestando serviços relacionados a projetos Ruby on Rails, com o cargo de Brazil Rails Practice Manager.

Django: o framework web para perfeccionistas com prazos

Jacob Kaplan-MossJacob Kaplan-Moss é um dos líderes de desenvolvimento e co-criador do Django. Jacob é um desenvolvedor de software experiente com foco em desenvolvimento de aplicações web e arquitetura de gerenciadores de conteúdo. Em 2005, Jacob ingressou no Lawrence Journal-World, um jornal local em Lawrence, Kansas, e ajudou a desenvolver e tornar open source o projeto Django. É também co-autor do livro “The Definitive Guide to Django” (Apress, 2007).

Desenvolvimento ágil e iterativo de produtos

Jeff PattonJeff Patton cria e desenvolve software nos últimos 15 anos desde sistemas de pedidos de peças de aeronaves até fichas médicas eletrônicas. Jeff se focou em metodologias ágeis desde que trabalhou com um time de Extreme Programming em 2000. Em particular, Jeff se especializou na aplicação de práticas de user experience design (UX) para melhorar requisitos ágeis, planejamentos e produtos. Desde 2007, Jeff tem aplicado Lean thinking e práticas de desenvolvimento com Kanban e Scrum para ajudar times a focarem na entrega de valor.

Vinicius TelesPara fechar com chave de ouro, no encerramento do evento faremos um bate-papo com os palestrantes, alguns membros das comunidades de desenvolvimento e a participação especial do meu amigo Vinicius Teles!

Como se isso tudo já não fosse suficiente, enquanto todas essas apresentações estão acontecendo teremos sessões de Coding Dojo rolando do lado de fora com participação especial dos nossos palestrantes (caso eles consigam ficar por lá)! Estamos planejando fazer um Dojo de Python, um de Ruby e um de Java!

Será simplesmente incrível, ninguém pode ficar de fora dessa!

As inscrições podem ser feitas no site do evento (http://www.devinrio.com.br) e custam apenas R$ 65,00. Todos os inscritos terão direito a participar de todas as sessões, incluindo o Dojo.

Nosso encontro será numa segunda-feira, ou seja, se você não for do Rio de Janeiro já tem uma ótima desculpa para passar o fim de semana aqui, assistir uma ótima conferência na segunda-feira e voltar para o trabalho cheio de idéias na terça!!! Ainda estamos tentando fechar uma parceria com algum hotel para oferecer desconto para participantes do evento. Fiquem ligados nas novidades por aqui ou pelo Twitter!

Gostaria de deixar registrados meus sinceros agradecimentos para os nossos patrocinadores Locaweb e Caelum, além de outras organizações que nos apoiaram de alguma forma: Associação Python Brasil, Fábrica Livre, Open Source Matters e Myfreecomm. E por último, meu mais sincero agradecimento para a Globo.com pois ela é a principal responsável por viabilizar essa idéia! Obrigado por mais uma vez acreditarem nesse louco aqui tarado por desenvolvimento de software! Não tenho palavras pra dizer o quanto é gratificante fazer parte dessa equipe!

Então nos vemos no Dev in Rio 2009! Faça agora sua inscrição no nosso site! Fique ligado também no Twitter do @devinrio para concorrer a inscrições gratuitas!

Ah, e uma última coisa. Por favor, nos ajudem a divulgar o evento! Falem com seus amigos, postem nos seus blogs, Twitters, coloquem nossos banners nos sites de vocês, enfim, por favor nos ajudem a divulgar esse evento! Vamos fazer barulho no Rio de Janeiro!

Top 200 blogs para desenvolvedores

Wednesday, July 15th, 2009

Um post bem rapidinho. Essa notícia está um pouco atrasada mas continua boa. :)

Se você (assim como eu) gosta muito de ler blogs de desenvolvedores, provavelmente vai adorar isso: uma lista com os top 200 blogs para desenvolvedores selecionados por Jurgen Appelo.

A lista contém ótimos blogs de gente conhecida no mercado como Martin Fowler, James Shore, Jeff Sutherland, Joel Spolsky e por aí vai, além de blogs que eu ainda não conhecia e que são bem legais também. Para completar ainda tem o Twitter de uma boa parte dessas pessoas.

Mesmo que você não concorde com a lista e ache que tem coisa faltando ou sobrando, com certeza irá encontrar um monte de blogs interessantes para incrementar o seu leitor de RSS. Boa leitura!

Pessoas não são recursos!

Sunday, July 12th, 2009

Esses dias vi uma mensagem no Twitter que me fez lembrar de algo que eu já queria ter falado aqui há algum tempo:

Referring to people as “resources” leads to thinking that individuals are interchangeable code producing units.

Toda vez que alguém chama uma pessoa de “recurso” dói meu ouvido. Chega até a ser chato, mas quando alguém faz um comentário sobre “recursos” do meu lado dificilmente consigo resistir a corrigir para “pessoas”. Como a Esther Derby disse na sua mensagem, tratar pessoas como “recursos” dá a impressão que as pessoas são “commodities“, que são meros “parafusos”, sem importância individual e substituíveis por qualquer outro.

Como que alguém pode se sentir bem sabendo que é totalmente descartável e que pode ser a qualquer momento trocado por qualquer outra pessoa? Como alguém pode estar comprometido com um projeto sabendo que é totalmente substituível e que não faz diferença se quem estiver ali for ela ou qualquer outra pessoa? Como alguém pode se sentir motivado assim?

E por fim a pergunta que eu queria chegar: Que tipo de código e que tipo de produto as pessoas vão conseguir produzir nessas condições?

Desenvolvedores de software são trabalhadores do conhecimento. Ao contrário de trabalhadores “Fordistas”, que são extremamente especializados numa linha de produção e desempenham atividades repetitivas e “robóticas”, os trabalhadores do conhecimento trabalham intensivamente com o seu cérebro, analisando e interpretando informações, descobrindo novas e melhores soluções para resolver problemas e tomando decisões o tempo todo.

Por esse motivo, é essencial que essas pessoas estejam motivadas, pois isso as deixa num estado mental que estimula sua produtividade, aumentando a quantidade de trabalho que podem realizar e potencializando o uso da sua criatividade para resolver problemas.

Um projeto de software bem sucedido é construido por pessoas motivadas, que tem visão do que estão fazendo e que acreditam nessa visão.

Para saber mais:

Mais um blog (agora em inglês)

Thursday, April 2nd, 2009

Há muito tempo tenho pensado em criar um blog em inglês. Muito tempo mesmo. Pra ser mais exato tenho essa idéia desde o fim de 2007. Nessa época num evento internacional fiz um amigo falando sobre um artigo que eu escrevi no meu blog, mas como era em portugês ele teve que ler usando o Google Translate… Teria sido bem melhor se eu sempre tivesse blogado em inglês.

Como eu sou um protelador profissional, fiquei durante todo esse tempo enrolando e inventando várias coisas mais prioritárias que sempre me impediram de colocar essa idéia em prática. Mas agora finalmente foi e o endereço é “http://guilherme.pro“!

Fiquei numa baita dúvida se ia usar esse mesmo blog ou fazer um novo. Por enquanto decidi fazer um novo, mas no futuro posso mudar. Ainda não sei como vou fazer para decidir o que vai entrar nesse blog ou no outro, mas com certeza não vou parar de blogar aqui e nem pretendo diminuir a frequência!

Atualizem seus leitores de RSS com mais esse feed!

Plano de cargos e salários…

Sunday, February 15th, 2009

Me incomoda muito o fato de que desenvolvedores precisam virar gerentes ou coordenadores para ganhar mais.

<história>
Era uma vez um desenvolvedor muito bom e muito eficiente. Ao longo da sua carreira ele foi aprimorando suas habilidades e técnicas e se tornou um super desenvolvedor com um conhecimento técnico absurdo, uma vasta experiência em arquiteturas de software e poliglota em linguagens de programação. Nesse momento ele repara que já é um desenvolvedor sênior ++ na empresa que ele trabalha e por isso não tem como ganhar mais do que ele já ganha a não ser que ele vire gerente. Então, querendo ganhar mais, o excelente técnico que programava e resolvia problemas técnicos com eficiência é obrigado a virar um gerente, porque a empresa não dá para ele outra forma de evoluir financeiramente. O detalhe é que ele não tem nenhuma habilidade para gerir pessoas ou projetos, além de que ele odeia fazer isso. O que ele gostava mesmo era de programar, mas ele não teve escolha. Resumindo: a empresa trocou um excelente técnico por um péssimo gerente e ainda está pagando mais por isso!
<história/>

Já repararam como esse padrão se repete nas empresas brasileiras?

Se você nunca parou pra pensar nisso, pense agora: é muito difícil um programador ganhar mais do que um gerente e por sua vez é muito difícil um gerente ganhar mais que um diretor. A lógica do mercado é a velha lógica do plano de cargos e salários: quanto maior for o seu nível hierárquico, mais você ganha.

O problema é que isso não faz sentido. O argumento preferido das pessoas normalmente é que “os gerentes ganham mais porque tem mais responsabilidades”. Eu discordo totalmente. Por exemplo, um amigo me contou ontem que um funcionário da empresa onde ele trabalhava tirou do ar o sistema de transações financeiras de uma grande empresa, causando com isso algumas centenas de milhares de dólares de prejuizo em poucos minutos. Neste caso, um erro de um desenvolvedor provocou uma catástrofe maior do que 10 anos de erros de uma dezena de gerentes juntos. E então, quem é que tem mais responsabilidade nas mãos?

Outra coisa que me incomoda nos planos de cargos e salários são aquelas regras do tipo “gerentes ganham na faixa de R$ X a R$ Y“: se o cara ganha menos que X não pode ser gerente e se ganhar aumento para mais que Y tem que ser promovido a diretor. Isso também não faz sentido. Em todas as empresas que eu trabalhei conheci gerentes excepcionais e gerentes absurdamente idiotas. Por incrível que pareça os excepcionais com toda sua genialidade sempre ganhavam (e ganham) o mesmo que os idiotas, por causa do maldito plano de cargos e salários. Isso pra mim soa como gado: independente das suas características individuais, uma cabeça de gado custa o mesmo que outra.

Eu trabalho e já trabalhei com vários desenvolvedores de valor altissimo. Não falo isso pelo que eles ganham ou ganhavam, mas sim porque em várias situações eles criaram soluções que melhoraram ou mudaram completamente (para melhor) a forma que as pessoas trabalhavam. Algumas dessas coisas foram tão geniais que eu diria que o valor foi inestimável. Eu também já tirei meus coelhos da cartola e sei que eles foram de grande valor para as empresas que eu trabalhei.

Não deveriam ser esses tipos de coisas que determinam o quanto as pessoas devem ganhar?

Em empresas de software, onde é comum encontrar esse tipo de pessoas, deveria ser normal ter desenvolvedores altamente especializados com remunerações maiores que as de gerentes ou diretores, mas isso é tão improvável que eu diria que é praticamente impossível – pelo menos no Brasil. Já em empresas como Google, Yahoo e cia., isso é possível e normal. Na Globo.com temos alguns casos desse tipo, mas são excessões. Isso está em fase embrionária e é muito muito muito longe do que deveria ser.

Naquela história que eu contei no início não consigo pensar em um motivo sequer para a empresa não manter o funcionário como desenvolvedor e dar o aumento que ele merece. Esqueça o plano de cargos e salários e veja como faz sentido: isso seria muito melhor para a empresa – porque o funcionário iria agregar muito mais valor sendo desenvolvedor e iria ajudá-la a lucrar muito mais – e seria melhor para o desenvolvedor – porque ele iria fazer o que gosta, o que é mais experiente e o que estudou sua vida toda para fazer.

Até quando as empresas vão continuar colocando as pessoas certas nos lugares errados?

2009: ano novo, vida nova

Wednesday, February 4th, 2009

O ano novo é sempre um momento de reflexão e mudanças na vida de muita gente. Comigo não foi diferente. :)

Em 2008, por conta do forte movimento para adoção de Scrum aqui na Globo.com, meu blog acabou virando quase que totalmente sobre metodologias ágeis e afins. Por um lado foi muito bom porque durante esse ano pude explorar vários aspectos dessas metodologias e entender profundamente vários motivos e princípios por trás de várias coisas. Por outro lado, acabei falando muito menos do que gostaria sobre minhas raizes… Minha maior especialidade e o que me dá mais prazer é explorar coisas novas, escrever código e desenvolver software. Em 2009 pretendo falar muito mais sobre isso do que qualquer outra coisa.

A segunda mudança é que estou em novos desafios na Globo.com (e por isso ando postando pouco). Depois de dois anos, muitas vitórias e conquistas, no fim de dezembro deixei minha antiga equipe de WebMedia para atuar como evangelista e líder de desenvolvimento de software na Globo.com.

O desafio dessa nova equipe é grande: impregnar a empresa inteira com práticas de desenvolvimento ágil e qualidade de software. Não estamos montando um dos famosos “escritórios de arquitetura” e nem definindo padrões para as equipes trabalharem, mas sim vamos liderar, dar apoio e estimular inovações em desenvolvimento de software, implantar técnicas de desenvolvimento ágil e boas práticas de desenvolvimento e arquitetura de software. Ok, vamos ajudar com processos também, eu assumo – afinal ninguém é de ferro. Para isso tudo vamos fazer vários treinamentos, workshops, vamos trabalhar infiltrados nos times fazendo mentoring com todos os desenvolvedores e sujando a mão de graxa; dentre outras coisas. Traduzindo: diversão garantida e muita história pra contar por um bom tempo!

Já estamos fazendo muitas coisas legais e já começo a ver alguns resultados animadores. Aos poucos vou contando as iniciativas e as novidades!

Cara nova

Monday, July 28th, 2008

Depois de ser invadido 5 vezes de 5 maneiras diferentes, de vários dias de downtime e muita dor de cabeça com a DreamHost, finalmente tomei vergonha na cara e mudei tudo!

Migrei meu blog para um lugar que parece ser mais decente (eApps) e atualizei a versão do Wordpress para a 2.6, que é a mais nova disponível (era 2.1.3). Como meu tema antigo não funciona direito nessa nova versão fui obrigado também a mudar a fachada – dessa vez optando por um tema bem mais simples. :)

Obrigado à galera que me reportou os problemas por e-mail! Espero que agora o site funcione direito.

Não dá pra fazer só mais uma coisinha?

Monday, May 5th, 2008

Desde que o mundo é mundo sempre tentam fazer com que nós programadores façamos mais do que nós achamos que é possível. Não importa quanto tempo você leve para fazer uma determinada tarefa, sempre alguém vem com aquela pergunta: mas não dá pra fazer só mais essa coisinha aqui???

O problema é que nem sempre se tem a percepção exata do que essa “coisinha” significa. A cada “coisinha” a mais que se faz é mais uma coisinha para programar, errar, testar, integrar, testar denovo e dar bug em produção.

No último Sprint da minha equipe aconteceu uma coisa muito engraçada. Uma das tarefas era colocar uma imagem de uma determinada forma em um site. Basicamente tratava-se de uma linha simples de código, só que a história não foi priorizada e por isso não entrou no Sprint. De fato parecia ser uma coisa bem simples. Como era só uma linha de código e todo mundo sabia disso, fizeram uma força danada pra empurrar essa história para dentro do Sprint, mas eu fui o chato e repetí umas vinte vezes: é mais uma coisa para testar e dar bug.

Isso foi no início do Sprint. Casualmente, nos dois dias seguintes o time deu um salto e o trabalho ficou muito adiantado. Com isso foi necessário colocar mais umas histórias para o time não ficar sem o que fazer e entre essas histórias estava a tal da linha para colocar uma imagem numa tal posição.

Fim do Sprint, tudo estava testado e o pacote com a aplicação fechado. Quando colocamos o site em produção, das 17 (dezessete) histórias que fizemos adivinha qual foi a única que deu problema??? A maldita “coisinha”, que por causa de uma configuração que só existia no mod_rewrite do Apache de produção não funcionava nem por um milagre! Até descobrir esse problema e resolvê-lo levamos algumas horas, sem contar que manchamos nosso histórico de alguns Sprints sem colocar bugs em produção…

Essas “coisinhas” de última hora nunca são tão simples quanto parecem. No mínimo é mais uma coisa para testar e dar bug em produção. :)

Procrastination considered harmful?

Tuesday, March 25th, 2008

Procrastination considered harmful? Not anymore!

No ano passado desobrí um negócio chamado structured procrastination. John Perry, o criador da idéia, explica do que se trata:

I have been intending to write this essay for months. Why am I finally doing it? Because I finally found some uncommitted time? Wrong. I have papers to grade, textbook orders to fill out, an NSF proposal to referee, dissertation drafts to read. I am working on this essay as a way of not doing all of those things. This is the essence of what I call structured procrastination, an amazing strategy I have discovered that converts procrastinators into effective human beings, respected and admired for all that they can accomplish and the good use they make of time. All procrastinators put off things they have to do. Structured procrastination is the art of making this bad trait work for you. The key idea is that procrastinating does not mean doing absolutely nothing. Procrastinators seldom do absolutely nothing; they do marginally useful things, like gardening or sharpening pencils or making a diagram of how they will reorganize their files when they get around to it. Why does the procrastinator do these things? Because they are a way of not doing something more important. If all the procrastinator had left to do was to sharpen some pencils, no force on earth could get him do it. However, the procrastinator can be motivated to do difficult, timely and important tasks, as long as these tasks are a way of not doing something more important.

Structured procrastination means shaping the structure of the tasks one has to do in a way that exploits this fact. The list of tasks one has in mind will be ordered by importance. Tasks that seem most urgent and important are on top. But there are also worthwhile tasks to perform lower down on the list. Doing these tasks becomes a way of not doing the things higher up on the list. With this sort of appropriate task structure, the procrastinator becomes a useful citizen. Indeed, the procrastinator can even acquire, as I have, a reputation for getting a lot done.

Há mais ou menos uns 6 meses decidí adotar gradativamente essas práticas de procrastinação estruturada (ou o certo seria protelação estruturada?). Quanto mais o tempo passa e eu evoluo, mais e mais coisas consigo fazer! Por mais que isso possa parecer uma desorganização total, é muito efetivo.

To-Do listsBasicamente minha única ferramenta é uma lista de coisas a fazer, que procuro manter em ordem de prioridade. Tenho uma meia dúzia de post-its na minha frente com várias coisas que preciso fazer, desde coisas importantíssimas até coisas totalmente supérfluas. Em alguns casos uso até cores para identificar itens mais importantes ou de um certo tipo (como tarefas pessoais ou coisas que se eu não fizer urgentemente posso atrapalhar alguém). Sempre que me lembro de alguma coisa nova, anoto em um post-it e aquilo entra automaticamente na fila. Quando lembro de coisas no meio da rua ou em casa quando estou dormindo, procuro rapidamente anotar em algum lugar para depois poder esquecer tranquilo, e daí quando chego no trabalho eu reorganizo a lista. Ao terminar uma tarefa, simplesmente faço um X do lado para indicar, e de tempos em tempos, faço um refactoring da lista inteira para caber em dois ou três post-its.

Estou bem satisfeito com essa nova forma de trabalhar, porque dessa forma posso tirar o máximo dessa minha característica proteladora! Ultimamente incluí até mesmo tarefas como “ler e-mails” e “blogar” na minha lista, motivo pelo qual só estou blogando depois de quase 3 semanas. Esses últimos dias foram super agitados e minha lista me ajudou a priorizar todas as coisas mais urgentes!

[off-topic] Anonimato: escudo dos covardes

Sunday, February 24th, 2008

Se tem uma coisa que me deixa revoltado é quando as pessoas vêm aqui no meu blog e me criticam e insultam anonimamente. Eu gosto de críticas, porque elas me fazem refletir e me ajudam a melhorar. As críticas são oportunidades genuínas para que você possa pensar no que está fazendo de errado, se ajustar e evoluir.

O que me deixa revoltado são os comentários anônimos extremamente maldosos e insultos que vocês nem imaginam, que obviamente eu não aprovo. Na boa, isso não pode ser sério. Se alguém não diz o seu nome quando critica, no mínimo não tem moral, não tem certeza, ou não tem peito para assumir o que está falando. A própria Constituição Brasileira garante o direito à liberdade de expressão, mas veda o anonimato.

No GUJ, por exemplo, já cansei de vér tópicos com críticas violentas, e o mais engraçado é que esses tópicos normalmente são criados por pessoas como “laranjada”, “Borat” ou qualquer outra coisa aleatória. O problema não são os apelidos, mas sim o fato das pessoas não se identificarem. Isso é covardia. E o pior é que algumas pessoas são tão inocentes que nem se preocupam em esconder seu endereço IP, e dá pra saber facilmente quem são. Outras são tão covardes que além de usarem um pseudônimo, usam um proxy para manter seu endereço anônimo…

Em toda minha vida virtual, sempre usei meu nome verdadeiro em listas de discussões, blogs, fóruns ou qualquer outra coisa que se possa imaginar. Faço isso por um motivo muito simples: eu quero que as pessoas me respeitem e me levem a sério quando falo.

Quando alguém tem caráter, personalidade e confia no que está dizendo, não precisa se esconder no anonimato.