Archive for May, 2009

[EDTED Florianópolis] Eu fui!

Sunday, May 24th, 2009

Nesse último sábado estive em Florianópolis participando do 14o. Encontro de Design e Tecnologia Digital (ou simplesmente #edted para os “Twitteiros”). O evento já passou pelo Rio de Janeiro e São Paulo e ainda vai passar por mais 6 cidades até o fim do ano (veja a programação).

Nas outras duas cidades percebí que minha apresentação ficou confusa porque fiz uma mistura de tecnologia com processo de desenvolvimento que eu senti que não deu muito certo. Então em Floripa decidi jogar todo o plano fora e fazer um totalmente novo, separando em duas apresentações.

Introdução a metodologias ágeis

Nessa apresentação tentei explicar metodologias de desenvolvimento ágil de software da forma mais simples e mais abrangente possível. Meu objetivo era fazer algo que pudesse servir tanto para quem nunca teve nenhum contato saber do que se trata como para quem já conhece aprender alguma coisa nova. Para isso eu fiz um paralelo com algumas historinhas e acabou virando uma apresentação bem humorada, despojada e (acredito eu) fácil de entender. Pelos comentários que li no Twitter parece que dessa vez “acertei a mão”. :)

No final falei de alguns livros para se aprofundar no assunto que foram:

Python Coding Dojo: O primeiro passo para se tornar um programador Python Samurai

Nos últimos meses tenho trabalhado bastante com Python e tenho gostado muito. Graças a isso e a confiança do pessoal da Arteccom no meu trabalho, resolvi fazer uma coisa bem diferente e um pouco ousada: tentar ensinar Python em apenas duas horas usando um formato de Coding Dojo! Essa apresentação foi uma cópia da minha apresentação no PythOnCampus, porém dei uma reduzida no conteúdo, adicionei uma breve introdução sobre Coding Dojo e troquei o formato para ter uma seção prática de programação.

Apesar de ter conseguido fazer uma boa introdução e passado bastante informações sobre a linguagem, é claro que o objetivo não era fazer com que as pessoas saissem de lá sabendo fazer tudo em Python. Elas apenas tiveram um primeiro contato com a linguagem, viram que não é nenhum bicho de 7 cabeças (muito pelo contrário) e ainda se divertiram programando em par no palco, fazendo TDD e resolvendo desafios de programação. Me surpreendi pela procura/interesse do pessoal e pelo feedback me parece que também deu certo.

De quebra também mostrei para o pessoal como funciona um Dojo, quais os objetivos e benefícios. É uma prática muito legal e muito fácil de fazer, qualquer um pode (e deveria) organizar um Dojo na sua empresa ou com seus amigos.

Para quem quiser saber mais sobre o que vimos:

Não vou disponibilizar os slides porque eles em sua maioria só tem um monte de fotos e palavras desconexas que não servem pra nada sem mim, são apenas um suporte para a apresentação. Além do mais, não quero fazer spoiler para o pessoal das outras cidades.

É isso aí pessoal, obrigado pela recepção calorosa e pelo bate papo! Nos vemos na próxima! ;)

O que eu acho sobre faculdades de informática

Monday, May 18th, 2009

Para ser bem exato, esse post está em draft no meu Wordpress desde 9 de fevereiro de 2008 quando escrevi um post sobre entrevistas. Enrolei esse tempo todo pra escrever porque é um assunto bem delicado e controverso (e além disso porque eu sou um procrastinador mesmo). Eis que há alguns dias eu vejo dois posts sobre o assunto, um do Fabio Akita e outro do Paulino Michelazzo e, apesar de concordar totalmente com ambos os posts, quero contribuir também com meus 2 centavos. :)

Pra começar, não tem nada no mundo inteiro que descreva melhor o que acho sobre certificados quanto o que o Rodrigo Kumpera escreveu nesse post no GUJ:

“[...] eu dou valor a certificação sim. Quando vou comprar gado mordo no mercado dou preferencia por aquele que é certificado. Afinal, entre duas peças amorfas de picanha, aquela com um selo de qualidade deve ser melhor, não?”

Eu não tenho nenhum problema com faculdade em sí. Para muitas pessoas é muito útil e é uma ótima porta de entrada para o mercado de trabalho. No entanto eu acho imbecil que as empresas avaliem a competência e capacidade das pessoas apenas por um canudo ou certificado. É ingênuo achar que as pessoas são melhores ou piores porque fizeram ou não faculdade.

No meu caso, por exemplo, eu comecei a trabalhar com informática bem cedo quando estava no 2o. grau. Nessa época eu fazia um curso técnico em eletrônica e acabei indo fazer meu estágio obrigatório numa empresa de desenvolvimento de sites. Mesmo fazendo eletrônica eu já tinha descoberto minha vontade de trabalhar com software brincando com Visual Basic, e por isso a oportunidade de ir para essa empresa foi ótima. Quando terminei meu 2o. grau, estava indo de vento em popa no estágio e como eu sempre fui adiantado 1 ano no colégio (porque “pulei” uma série) resolvi esperar mais um ano para começar a faculdade. Nesse ano trabalhei quase que de graça todo dia das 09:00 as 19:00 com um monte de profissionais excelentes e em vários tipos de projeto, o que me fez ganhar uma experiência enorme.

Durante esse ano começei a fazer provas para algumas faculdades para que no ano seguinte já estivesse tudo pronto para iniciar minha graduação. Acabei passando para algumas faculdades (o que não é um grande feito porque até analfabetos conseguem passar para algumas faculdades). A que eu escolheria seria a UERJ, que era do lado da minha casa. Só que eu percebi que se fosse para lá não teria como continuar trabalhando no mesmo ritmo que eu estava, teria que diminui-lo drasticamente. Isso me deixou muito deprimido, porque eu amava fazer o que eu fazia no trabalho e não queria deixar aquilo por nada. Foi quando eu optei por ir para uma faculdade particular, que tinha uma carga horária e programa bem menos “puxados”.

Logo nas primeiras duas semanas eu queria me matar. Era um tédio ter que ouvir aulas de introdução a programação quando eu já estava estudando aquilo diariamente há mais de 2 anos. Mesmo assim eu continuei porque eu queria me formar, mas decidí fazer uma estratégia diferente. Ao invés de ir às aulas, eu tentava ir o mínimo possível (o suficiente para não repetir por faltas) e fazia vários acordos com todos os professores para abonarem minhas faltas. Enquanto isso eu estudava sobre todos os assuntos da faculdade em casa, onde eu conseguia estudar muito mais rápido, no meu ritmo. Mesmo assim, três semestres depois eu ainda estava no primeiro semestre, porque era tão legal ficar no trabalho e estudar em casa que eu acabei repetindo em quase todas as matérias por falta. Três vezes.

Depois disso rolou muita história, trabalhei em um monte de lugares e passei por um total de 4 faculdades. Uma delas (a que fiquei mais tempo) me deixava altamente frustrado por não acompanhar as mudanças do mercado. Em 2005, me incomodava muito o fato de saber que a última atualização da programação do curso tinha sido em 1999. Seis anos em informática é muita coisa. Eu me lembro das aulas de introdução a banco de dados onde o professor ainda achava que MySQL e PostgreSQL eram adequados para aplicacões “pequenas”, que open source não tinha futuro e da cara de interrogação dos professores quando eu falei que tinha acabado de conhecer um treco chamado “AJAX” e outro treco chamado “Ruby on Rails“. Talvez para outras profissões que não mudem tanto isso não seja da mesma forma. Minha mãe que é formada em ciências contábeis e administração de empresas em duas boas faculdades aproveita esse conhecimento até hoje. Mas quando falamos de informática e desenvolvimento de software a história é outra.

Passei uma porção de anos vendo como isso tudo funciona, o que as pessoas estudam e como algumas delas se formam nas “coxas”. Por outro lado ví alguns amigos se formarem na Unicamp e irem fazer estágio na Bélgica, outros amigos desenvolvendo jogos no laboratório de programação da UFRJ e nessas mesmas duas faculdades outros amigos eram uns “enganadores” e passavam nas matérias as custas de muita “reza braba”. Uma outra vez trabalhei com um cara que tinha se formado na UFRJ e estava começando uma pós-graduação na PUC e ele não produzia mais do que 30 minutos se não tivesse alguém de babá do lado. Pior ainda que isso tudo é a história bem conhecida entre os alunos da PUC de uma menina de lá que uma vez passou de ano “favorecendo professores sexualmente” mas por outro lado conheço excelentes profissionais que se graduaram lá.

O “x” da questão é o seguinte: não dá pra avaliar as pessoas somente pelos seus diplomas e certificados! Como eu acabei de mostrar, existem casos e casos. Fazendo uma conta rápida cheguei à conclusão que das 20 pessoas mais brilhantes que já trabalharam comigo em toda minha vida, 50% sequer eram formadas, cerca de 20% formados na pior faculdade do Rio e 30% em “faculdades de ponta”, como adoram dizer as consultorias de RH. Todas essas pessoas eram (são ainda) muito acima da média, são pessoas brilhantes, muito inteligentes e que, assim como eu, estudam diariamente desde que perceberam que é assim que se faz a diferença – independente de terem feito faculdade ou não.

Por isso que quando eu contrato pessoas tento conhecer o máximo possível além da sua fachada (que é o currículo). Mais recentemente tenho tentado chamar as pessoas para passarem o dia aqui programando em par com várias pessoas, participando de reuniões e discutindo com outros desenvolvedores em situações reais. Depois disso saber se a pessoa fez ou não graduação, mestrado ou doutorado é completamente irrelevante. Aliás, acabei de me tocar que eu não faço a menor idéia se as últimas duas pessoas contratadas são formadas ou não, porque nem me lembro de ter lido seus currículos. Ao invés disso, elas passaram dois dias aqui, contaram toda a sua vida, mostraram código, programaram em par comigo, saimos pra almoçar e falar besteira e eles se deram muito bem com o pessoal dos times de desenvolvimento.

Para finalizar, de forma alguma estou aconselhando que as pessoas não façam faculdade, muito pelo contrário. Eu sempre aconselho que se estude o máximo possível. Para alguém que nunca teve contato com nada nesse mundo de informática talvez seja interessante. Para alguém que tem sede de aprender e estuda numa boa faculdade com bons professores que vão te levar além do que está na sala de aula, é sensacional (eu já tive professores assim e a experiência é incrível). Porém, se você está lá pelo canudo, esquece: você já é um fracasso. Se você quer se encher de canudos/certificados/selos mas ainda não colocou na cabeça que você vai precisar estudar todo dia para ser algúem nesse mercado de informática, você está perdido.

*Update: Outros posts sobre este assunto (de leitura obrigatória):

[PythOnCampus-RJ] Eu fui!

Monday, May 11th, 2009

Adorei participar do PythOnCampus nesse último sábado e conhecer várias pessoas muito legais da comunidade Python carioca (que não vou citar para não correr o risco de esquecer alguém)! Vejam as fotos no blog da comunidade PythOnRio.

Minha palestra sobre Testes e Qualidade de software em Python foi bem divertida! Quando percebí que a galera estava bem interessada eu deliberadamente estourei totalmente o tempo e ficamos quase duas horas falando sobre conceitos de testes, TDD e outras práticas de XP, doctest, unittest, pMock, Pyccuracy e por aí vai… Mais do que teoria, vimos bastante código Python!

Para quem não conseguiu anotar, a bibliografia que recomendei no final foi a seguinte:

Nas próximas semanas o PythOnCampus será repetido em outras faculdades pelo Rio de Janeiro. Acompanhem o site da comunidade PythOnRio para ficarem por dentro das datas e dos detalhes.

[Rails Conf] Conselhos do Uncle Bob

Friday, May 8th, 2009

Excelente! :)

Uncle Bob Martin na RailsConf 2009 from Fabio Akita on Vimeo.

PythOnCampus-RJ, uma oportunidade para conhecer mais sobre Python

Thursday, May 7th, 2009

Nesse próximo sábado vai acontecer o PythOnCampus, um evento sobre Python promovido pela comunidade PythOnRio para disseminar informações sobre Python e software livre.

Eu estarei por lá falando sobre Testes e Qualidade de software em Python. Será uma apresentação bem prática (hands-on) onde vou explicar a importância de se desenvolver com testes (antes) e mostrar algumas ferramentas para desenvolver testes unitários e funcionais em Python. Haverão também outras apresentações sobre diversos assuntos como Django, jogos em Python, Pyrobotics e mais. Veja a grade de programação completa.

O evento será na Universidade Gama Filho no campus de Piedade no dia 09/maio/2009 a partir das 09:00 horas e a entrada é gratuita, basta se inscrever no site da Gama Filho.

[Encontro Locaweb] Eu fui!

Thursday, May 7th, 2009

Ontem estive em Salvador a convite do meu amigo Fabio Akita para participar do 11o. Encontro Locaweb de Profissionais de Internet. O evento estava bastante legal e eu gostei bastante das únicas duas palestras que assisti, uma do Galileu Vieira (que gostou da minha camisa sobre wingdings) da Microsoft sobre inovações relacionadas a fotografia e Silverlight e outra da Cíntia Assali do Google que foi um “medley” sobre todos os produtos (incluindo coisas que eu não conhecia como o Google Ad Planner). Quanto mais eu aprendo mais eu vejo que sempre tem coisas pra aprender. :)

Enquanto o Akita se diverte na Rails Conf eu fiz uma apresentação sobre Agilidade e Qualidade em projetos de software. Não vou publicar o PDF da apresentação aqui porque os slides não tem a menor graça e o menor valor se eu não estiver apresentando (já que a maioria deles são fotos e desenhos). No entanto, seguem alguns links para quem quiser se aprofundar no que falamos:

Espero que tenham se divertido como eu me diverti! :)