Archive for the ‘Etc.’ Category

A volta dos que não foram

Thursday, June 7th, 2012

Um ano sem postar aqui. Um ano! Já passou da hora de sacudir a poeira.

Muita, muita coisa mudou desde o último post. Mudei para os Estados Unidos, trabalhei em vários projetos diferentes, viajei bastante, perdi uns 40 quilos (mas aqui nos EUA eu falo que perdi 80 pounds para parecer mais grandioso!), tive mais uma filha, fiz um “double-double” na liga de basquete do Yahoo! hoje… Tanta coisa aconteceu que fica até difícil de decidir por onde começar.

Fazendo uma retrospectiva rápida, o resumo desse últimos 12 meses é que aprendi mais do que em qualquer outro ano da minha vida. Consegui construir um dos times mais competentes que já participei, fizemos um projeto do zero que é o ponto central de todo o Yahoo!, sem contar os outros que continuamos, até chegar nesse ponto onde estamos hoje, trabalhando num produto que tem mais usuários do que habitantes no Brasil! Dá para passar dias escrevendo sobre isso tudo.

Para poder focar nesses projetos e na minha vinda para os EUA (e na saúde, e na família), tive que sumir um pouco e não fui em nenhum evento depois do BrazilJS em Maio/2011. Fiquei triste também de ter que cancelar algumas palestras que já estavam marcadas em conferências como a QCon e a Codestrong, mas olhando para trás acho que isso foi essencial para permitir colocar 100% do cérebro trabalhando nas coisas mais importantes. Quem sabe em 2013 (se o mundo não acabar antes)…

A boa notícia é que agora as coisas estão mais estabilizadas e estou ansioso para voltar a discutir sobre as coisas que acontecem por aí. Para mim sempre foi muito bom escrever porque me fez aprender ainda mais, não só sobre tecnologia e trabalho como também sobre português (principalmente graças a alguns caras como o Denilson e o Pedro que sempre me mandam correções por e-mail quando escrevo errado). :)

Está na hora de organizar as ideias novamente e começar a postar. Estou de volta!

Update: Para tirar a poeira do meu outro blog (em inglês), acabei escrevendo o primeiro post por lá.

Meu ambiente de trabalho em 7 itens

Monday, January 17th, 2011

O Anderson Casimiro (@duodraco) começou um meme muito legal: “Seu ambiente de trabalho em 7 itens”. Nele você escreve sobre quaisquer 7 coisas do seu ambiente de trabalho que achar mais interessantes e em seguida indica de 3 a 5 pesoas para fazerem o mesmo. O Anderson passou o meme para o Ivo Nascimento (@ivonascimento), que depois mandou para o Bruno Roberto Gomes (@brgomes) e por fim para o Hélio Costa (@hlegius) que me colocou nesta roda.

Então vamos lá, as 7 coisas que mais gosto e acho importantes no meu ambiente de trabalho são:

1) Git + Github

O Git é uma fantástica ferramenta de controle de versão. Sua característica principal é ser um sistema de controle de versão distrubuído, o que significa que você pode criar repositórios locais independentes de um servidor central, por exemplo. Com isso você pode criar facilmente novos branchs e repositórios praticamente sem custo (ou seja, muito rápido). Outra coisa sensacional é que o Git praticamente resolve sua vida com relação a merges. Na maioria das vezes ele consegue “se achar” sozinho e resolver conflitos para você, o que poupa um bocado de tempo quando você está trabalhando em equipe com várias pessoas alterando a mesma base de código.

O Github faz o Git – que ja é fantástico – ficar ainda melhor. O Github mudou para melhor a forma de colaboração entre desenvolvedores em projetos open source. Basta você criar um clone remoto do projeto que deseja contribuir, fazer suas alterações e fazer um “pull request”. Você pode adicionar colaboradores nos seus repositórios ou até mesmo criar um time de colaboradores. Isso é mais ou menos o que as pessoas já faziam antes, o Github apenas entendeu esse processo e criou uma ferramenta excelente para suportá-lo com algumas melhorias. E isso tudo não serve apenas para projetos abertos não, você pode fazer como eu (e muita gente) e por alguns míseros dólares você terá seus repositórios privados para trabalhar nos seus projetos particulares. Hoje basicamente não tenho nada importante que não esteja no Github.

2) Google App Engine

O Google App Engine também é um absurdo. Com ele você pode desenvolver aplicações Python ou Java num estalar de dedos e colocá-las para funcionar numa infraestrutura bastante confiável e rápida. O App Engine oferece banco de dados, cache, storage e várias coisas úteis que te ajudam a focar na sua aplicação e esquecer a infraestrutura. Para os Railers que lêem este blog, o Heroku é um bom quebra galho (mesmo sendo bem mais simples que o App Engine).

3) VMWare Fusion

O VMWare Fusion me possibilita ter vários sistemas operacionais com diferentes browsers para testar minhas aplicações web em uma máquina só. Além disso, como trabalho muitas vezes desenvolvendo coisas que serão servidas com Red Hat Enterprise Linux ou CentOS, posso facilmente criar ambientes de desenvolvimento locais com esses sistemas operacionais e continuar trabalhando no conforto do meu Mac sem ficar com medo das coisas não funcionarem em produção.

4) TextMate

Todo mundo tem seu editor preferido, e o meu é o TextMate. Gosto dele porque é leve, fácil de escrever plugins e snippets e possui umas centenas de plugins disponíveis por aí para trabalhar com qualquer linguagem que já precisei até hoje, suportar sistemas de controle de versão, e por aí vai. Infelizmente não consigo usá-lo para todas as linguagens que trabalho. Por exemplo, quando programo em Java ainda prefiro usar o Eclipse, ou o XCode para brincar com iOS, mas para todo o resto uso o TextMate (ou, quando em servidores remotos, o Vim).

5) Shell

Não tem como sobreviver sem um shell. Eu costumo usar o Terminal do Mac OS X com algumas customizações, e como shell uso o Bash. Além de me possibilitar diagnosticar problemas em servidores remotos, ver logs e etc., também uso o shell para algumas tarefas de desenvolvimento como usar o Git (incluindo resolver conflitos, prefiro fazer manualmente), buscar arquivos, inspecionar minha máquina e por aí vai. Também costumo escrever shell scripts para fazer algumas tarefas pessoais como codificar vídeos com ffmpeg e fazer backups remotos.

6) MacBook + Mac OS X

Os Macs são computadores que simplesmente funcionam. É isso. Meu MacBook Pro é potente e tem um hardware excelente que não me deixa na mão. E quanto ao Mac OS X, ao invés de ficar no meu caminho me pedindo drivers para fazer qualquer coisa ele simplemente funciona e deixa o caminho livre para que eu possa trabalhar. Já se foi a época em que eu tinha tempo para comprar peça por peça e montar meu próprio computador, ou então ficar re-configurando meu xorg.conf a cada update de sistema operacional. :) Hoje não dá mais, preciso focar em coisas mais importantes.

7) Monitor adicional de 24″, teclado e mouse

Nós que trabalhamos intensivamente com computadores não podemos nos dar ao luxo de não ter um teclado, mouse ou monitor confortáveis. O monitor de 24″ é o mais importante do meu setup de trabalho. Usar dois ou mais monitores me deixa muito mais produtivo, além de ser muito mais confortável do que o display do MacBook (porque é gigante). Se você nunca tentou usar dois monitores, não perca mais tempo e tente agora, você vai ver a diferença. Quanto ao mouse e teclado, durante muito tempo usei hardware Microsoft (aliás, isso eles fazem bem) mas recentemente tenho usado o Magic Mouse e um mini teclado sem fio, ambos da Apple.

E para continuar a brincadeira…

Indico mais 5 pessoas para participar:

Que ferramentas você vai usar na hora de programar?

Tuesday, June 29th, 2010

Há uns dois meses estava eu numa madrugada típica brincado de escrever códigos aleatórios, dessa vez usando o Google App Engine. Num determinado momento (acho que eu estava testando o versionamento de deploys – que é lindo demais) fiquei tão empolgado que soltei um daqueles posts meio aleatórios no Twitter dizendo: Google App Engine kicks serious ass!. Muita gente estranhou, incluindo o meu amigo Rodrigo Kumpera que prontamente respondeu: @gchapiewski I thought you used to work for yahoo!.

O mesmo “fenômeno” aconteceu no Yahoo! Open Hack Day que fizemos em São Paulo em março. Muitas pessoas acharam estranho e ficaram abismadas pelo fato do Yahoo! e seus funcionários mostrarem hacks que faziam uso de Google Maps, Twitter, Facebook e outros produtos que não são do Yahoo!.

Vamos lá, qual o problema? Sério mesmo, qual o problema? :) Agora que eu trabalho no Yahoo! tenho que usar Y! Mail ao invés de Gmail? Ou então tenho que programar usando apenas YUI ao invés de jQuery? A política do Yahoo! é muito simples e na minha opinião bem coerente: a Internet está cheia de serviços excelentes e nós também temos alguns ótimos serviços. Porque não combinar o que há de melhor e fazer uma coisa melhor ainda?

Sempre falo isso e já até me falaram que parece meio “piegas”, mas é a pura verdade (e nunca é demais repetir): use a melhor ferramenta para resolver cada problema!

Esse modo de pensar é bem difícil nesse mercado. Muita gente acha que linguagens e tecnologias são como religiões, mas não é o que eu acredito. Não me importo de usar Java se for a melhor opção para resolver meus problemas – apesar de adorar programar em Ruby. Ou de aprender uma nova linguagem/ferramenta se ela se mostrar melhor para resolver alguma coisa (como quando eu precisei aprender ActionScript para fazer coisas legais para o Globo Vídeos – apesar de eu nunca ter tido simpatia por Flash).

Para pessoas da nossa área, acredito em um posicionamento profissional baseado em fatos e dados, não em preferências, traumas ou qualquer outro argumento sem lógica. No caso que comecei a contar no início desse post, eu estava programando um webservice REST em Python e o Google App Engine é o melhor lugar para ele estar hospedado. Aliás, eu usei Python já pensando em fazer o deploy lá, porque é super simples de usar, funciona muito bem e vai me liberar mais rápido para fazer outras coisas interessantes. É óbvio que todos temos nossas preferências de linguagens e tecnologias, mas o papel de um profissional é ser pragmático é fazer o que for mais adequado para cada situação.

Sempre que você está programando você precisa atingir um objetivo. Como eu ouvi falar esses dias, você “não senta e começa a programar igual a um cavalo”, você está desenvolvendo um produto ou alguma coisa maior e precisa ter isso em mente o tempo inteiro. Seu objetivo é entregar um software de qualidade, performático, bem testado, manutenível e que atenda ao seu cliente/objetivo. O seu objetivo não é usar as ferramentas da sua empresa ou as tecnologias que você gosta. Pense nisso.

Até a próxima, Globo.com!

Saturday, December 5th, 2009

Não imaginava que isso fosse acontecer tão cedo, mas 2009 é o meu último ano na Globo.com.

Meu sonho aqui era ajudar a construir uma coisa maior do que eu e ter uma história para contar. Tenho muito orgulho de ter contribuido para mudar uma empresa tão tradicional como a Globo e de ter trabalhado diretamente num dos maiores exemplos de mudança organizacional e adoção de metodologias ágeis do Brasil. Trabalhei nos produtos de maior audiência da Internet brasileira, entreguei dezenas de projetos bem sucedidos, quebrei diversas barreiras e ganhei o respeito de dezenas de pessoas. Foi incrível! Me sinto feliz por ter cumprido uma grande parte dos meus objetivos e sei que meus amigos que vão me substituir vão continuar a fazer mais conquistas e vão fazer um trabalho muito melhor que o meu, levando a Globo.com para o caminho do sucesso. E como eu já aprendi, o mundo dá voltas. Quem sabe um dia eu sinto saudades do Rio de Janeiro… :)

É muito difícil saber as palavras certas pra usar numa hora dessas. A Globo.com é uma empresa incrível para trabalhar e, até onde eu consigo enxergar, a melhor do Brasil. Disparada. Ela foi inspiração para dezenas de posts desse blog e eu não tenho palavras pra dizer o quanto sou grato por ter tido a oportunidade de trabalhar com pessoas tão talentosas nesses anos todos aqui. Eu adoro essa empresa, dei meu sangue por ela, aprendi mais do que em qualquer outro lugar que trabalhei e conheci alguns dos melhores profissionais desse mercado. Queria citar os nomes de todos vocês e agradecê-los por terem me ensinado tanto, mas não quero correr o risco de esquecer nenhuma sequer das dezenas de pessoas que me apoiaram ao longo desse caminho. Em todas as minhas temporadas e equipes na Globo.com fiz amigos que vou levar para a vida toda e que vou sentir muita falta. É muito triste e muito difícil deixar tantas conquistas e realizações para trás, mas o tempo não pára e eu preciso seguir em frente para conquistar todos os meus sonhos.

Em Janeiro de 2010 estou me mudando para São Paulo e partindo para vôos mais altos e novos desafios no Yahoo!, assumindo a posição de Software Development Manager. Aliás, aproveitando a oportunidade, temos várias vagas em aberto, mas isso é assunto para um outro post. :)

Muitos desafios me aguardam e eu espero ter bastante história pra contar. Estou muito empolgado para trabalhar em produtos novos e criar novas maneiras de facilitar e divertir a vida das pessoas. Vou trabalhar também para tornar o Yahoo! um lugar ainda mais incrível para trabalhar, com ainda mais software e produtos de qualidade e mais uma referência em desenvolvimento ágil no Brasil e – sendo um pouco mais ambicioso (no sentido positivo da palavra) – no mundo!

Mais uma vez, obrigado Globo.com. Yahoo!, aí vou eu!

Dev in Rio 2009: eu vou!

Thursday, August 20th, 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!