Passar na prova ou realmente aprender?

cert1

A “cultura” da certificação é uma das “pragas” que infectam o mundo do desenvolvimento de software e da TI em geral.

Instituições e pessoas sem qualquer experiência real criam processos e avaliam empresas e profissionais com base em critérios duvidosos e, muitas vezes, obscuros.

Hoje existe uma série de metodologias e processos desenvolvidos por acadêmicos, que passam a maior parte do tempo estudando a teoria e criando software científico experimental. Essas pessoas podem ter boa vontade, mas não estão acostumadas com o dia-a-dia do desenvolvimento para clientes “reais”: empresas que esperam que o software seja a solução milagrosa para todos os seus problemas e investem muito nisso.

Baseadas nessa experiência acadêmica, essas pessoas criam processos que não condizem com a realidade do mercado comercial e emitem certificações de acordo com critérios igualmente irreais. Resumindo: certificam que você está usando um processo que não serve para o seu negócio (pode até servir para criar software que controla foguetes, mas não para o que a grande maioria das software houses cria).

Além das certificações para empresas, há também a delicada questão das certificações para os desenvolvedores (MCP, SCJP, Scrum Master etc). Fico me perguntando o que é que essas certificações garantem? Que alguém decorou centenas de linhas de código e esqueceu dias depois?

Bons desenvolvedores não precisam de certificação. Eles são bons em qualquer plataforma e ponto. Isso não significa que não existam bons desenvolvedores certificados, mas que uma grande massa de desenvolvedores medíocres utiliza das certificações para se “pendurar” em algum emprego que paga bem e ficar lá enganando. Em geral, essas certificações avaliam o “domínio” de técnicas em determinada linguagem ou plataforma, sequer chegando perto de avaliar se uma pessoa sabe ou não sabe desenvolver bom software.

Certificações também são utilizadas por selecionadores de mão de obra que são leigos em tecnologia. Como não sabem como avaliar um desenvolvedor de software, ordenam os currículos por número de certificações e, bingo, acreditam ter selecionado os melhores.

Assim como o Vinícius Teles em seus podcasts, acredito que nesses casos o que acontece é bem semelhante a uma prova escolar: os alunos decoram toda a matéria, fazem a prova e, pouco tempo depois, já não se lembram de mais nada. O conteúdo realmente absorvido é muito pouco.

Jamis Buck escreveu um excelente post sobre o assunto. Aqui vão alguns destaques:

Como regra geral, acredito que certificações são uma piada. Pura e simplesmente. (…) A simples idéia de que um teste pode, de qualquer maneira, implicar em competência é de se gargalhar.

Certificação pode produzir programadores competentes? Eu digo “não”. Se você é certificado e competente, então você era competente antes de ser certificado.

Certificações são usadas principalmente por tomadores de decisão ignorantes como um discriminador. Logo, se alguém quer ser notado por um tomador de decisão, precisa passar no teste. É a certificação pela certificação. Isto encoraja qualquer coisa, menos o aprendizado. Encoraja mediocridade em larga escala, causada por pessoas memorizando exatamente o que o teste exige e nada mais. Encoraja aprender fora de contexto. Encoraja a cópia no lugar de pensamento criativo.

prazo

Controle de versões com Git

Git é o VCS criado por Linus Torvalds objetivando mais velocidade e eficiência. Atualmente é utilizado para manter o kernel do Linux.

Em seu último post, Fábio Akita falou sobre Git (e sobre o Thin, que também foi assunto mais cedo no Ruby Inside) e apontou um link com um guia que mostra como instalar e usar esse VCS. Ao instalar o Git no Ubuntu 7.10, no entanto, tive alguns problemas com dependências na compilação. Para resolver, tive que instalar alguns pacotes, desta forma:

sudo apt-get install libssl-dev

sudo apt-get install curl

sudo apt-get install libcurl4-openssl-dev

Agora tudo certo. Boa sorte.

Programming Beautiful Ruby on Rails Code

E. James O’Kelly iniciou, em seu blog RailsJitsu, uma série de artigos muito interessante sobre “beleza” no código Ruby. Até o momento foram escritas duas partes, a primeira mostrando algumas boas práticas e exemplos de refactoring, a segunda com ainda mais refactoring. Além de aprender um pouco com a experiência do autor, é bom dar uma lida nos comentários, onde desenvolvedores deixam outras boas dicas.

Links:

Programming Beautiful Ruby on Rails Code Part 1

Programming Beautiful Ruby on Rails Code Part 2

Qual é a opinião da sua empresa?

Não é segredo para ninguém: as empresas que mais crescem atualmente são as empresas com opinião.

As empresas com opinião não são conduzidas, conduzem. Sabem dizer não e criar tendências. Exemplos? Apple, 37signals e brasileiras como a Visie e a ImproveIT.

Empresas “cinzas”, isto é, que querem ser tudo para todos (”vanilla”, para os norte-americanos), perdem espaço cada vez mais rapidamente.

A Microsoft passou a correr desesperadamente atrás de empresas como Google e Apple pois simplesmente não consegue inovar. O motivo? Falta de opinião. A empresa está presa ao “mercado”. Ao tentar ser tudo para todos, ela criou amarras das quais não consegue se livrar.

Burocracia, legado e a própria filosofia e política da empresa a tornam lenta demais, inapta para responder ao dinamismo de uma “nova” era, onde a internet é a plataforma principal, demandando mudanças muito mais rápidas do que o vagaroso ciclo de releases do software “tradicional”.

Não sou um xiita, mas tenho minhas opiniões. Acredito que a Microsoft ainda cria bons produtos (principalmente hardware), mas ela deixou de ser líder já há um bom tempo.

Além de qualidade e bons preços, as pessoas buscam cada vez mais identificação com as empresas das quais consomem produtos ou serviços. É muito raro encontrar alguém realmente identificado com empresas como a Microsoft (e muitas outras), mas é fácil encontrar pessoas que seguem “culturas” como Apple e 37signals, empresas que se esforçam para criar e manter toda uma filosofia baseada em fortes opiniões. Para mim, esta é a maior vantagem competitiva que uma empresa pode ter hoje.

Qual a sua opinião? Qual é a opinião da sua empresa?

Veja também:

Entrevista de Jason Fried com Walt Mossberg.

Sucesso em 2008

Desejo a todos os leitores muito sucesso e felicidade em 2008. Que as comunidades Rails e de métodos ágeis continuem crescendo e ajudando a alterar o mundo do desenvolvimento de software para algo melhor. Nós, desenvolvedores de software que gostamos do nosso trabalho (e não apenas o fazemos por dinheiro), merecemos algo bem melhor.

Planos para 2008 (sem qualquer ordem):

← Previous Page