Seções iMasters
Carreira

10 mil horas e o programador-cientista

O conceito de que é preciso alcançar dez mil horas de esforço para se tornar um expert em uma determinada atividade é uma afirmação bem conhecida. A ideia é esta: não se nasce expert, mas é possível se transformar em um. E a maneira de se tornar um é através de dez mil horas de trabalho duro em um determinado assunto. Isso nos parece uma regra de ouro, mas é interessante como varias áreas do esforço humano parecem se adequar a ela. Atletas, músicos e, com certeza, cientistas e programadores (e programadores-cientistas), e muitos outros parecem precisar de dez mil horas de experiência para alcançar o seu melhor.

Neste artigo, vamos considerar como essa ideia se relaciona com você, programador-cientista.

O que é um expert?

A definição padrão é “alguém que tem pelo menos dez mil horas de experiências em um determinado campo”. Mas, obviamente, isso não é muito útil. Suspeitamos que você possa definir “expert” de várias maneiras diferentes, mas para o programador-cientista é alguém que rotineiramente produz código de alta qualidade e o faz de forma eficiente. Não temos conhecimento de nenhum estudo sobre produtividade de programação na ciência, mas suspeitamos que a especialização ajude muito o programador-cientista, resultando na geração de uma ciência melhor.

Quais horas contam?

Aquelas de boa qualidade, nas quais você está se esforçando. Trabalho legal e sem desafios geralmente não te ajudam a desenvolver nenhuma habilidade. Para fazer isso, você precisa se forçar ao máximo, encontrar seus limites atuais e aprender como ir um pouco mais além. Essas são boas notícias, porque elas se alinham muito com a ideia de trabalhar duro para produzir um código bem trabalhado. Considere o exemplo de um método de objeto que está um pouco bagunçado e feio por ser complicado. Se você perder seu tempo para encontrar uma maneira mais elegante de codificá-lo, você não está apenas deixando-o mais limpo (e também menos propenso a bugs, mais fácil de trabalhar e, talvez, mais otimizado), mas você também está aprendendo algo ao colocar um esforço extra nisso.

Um guru logo ali!

Apostamos que você tenha alguns experts de dez mil horas no seu departamento/universidade/empresa. Pense em um guru residente de uma dada tecnologia. Por exemplo, existe alguém que você conheça que seja ótimo em C++ e que você sabe que poderia te ajudar se você ficasse travado? Existe por perto um expert em Linux ou em LaTex? Essas pessoas são gurus porque elas gastaram mais de dez mil horas trabalhando com aquela tecnologia. Eles sempre estão tentando encontrar a melhor maneira de fazer as coisas, se mantêm atualizados com os últimos desenvolvimentos da área e até leram o manual “como aprender um pouco mais”. Muitas vezes o guru parece ter um nível quase impossível de se alcançar em habilidade, conhecimento e proficiência com aquela tecnologia. E isso é por causa das dez mil horas!

Na academia, isso é sintetizado pelo professor emérito. Você sabe, o cara que passa pelo departamento todo fazendo a pesquisa que quiser, e quando você fala com ele, ele tende a estar extremamente afiado e demonstra vasto conhecimento sobre todo e qualquer aspecto do assunto. É isso que quarenta anos de trabalho (oitenta mil horas, ou mais) podem fazer por você.

Onde você gostaria de estar em dez anos?

Para acumular dez mil horas, geralmente se leva uma década (existem cerca de 2.600 dias de trabalho em um década, então quatro horas de trabalho por dia são suficientes). Portanto, se você quiser se tornar um expert em algo em dez anos, começando agora, você pode conseguir trabalhando duro durante os seus dias de trabalho. Nós realmente gostamos de pensar isso como uma maneira de desenvolvimento profissional – aprender fazendo! É também uma maneira simples e boa de planejar sua carreira. Pense que a programação será cada vez mais importante na sua carreira científica. Trabalhe duro dia e noite e dez anos depois você será muito bom nisso.

Concluindo…

O programador-cientista gasta muito tempo com programação, bem como fazendo ciência. Ao trabalhar com padrões altos e sempre aprendendo a ser melhor, você pode adquirir mais de dez mil horas de experiência e se tornar um verdadeiro expert no seu campo científico e de programação. 

***

Texto original disponível em: http://www.programming4scientists.com/2009/07/06/10000-hours-and-the-scientist-programmer/

Comente também

7 Comentários

VitorGGA

9 anos * 365 dias * 24 horas – vida social = ~78 mil horas o/

Raphael Maquiné

Mto vago isso existe um livro muito bom que fala dessas competências em dizer se você eé um expert , um novato etc. Se puderem comprar, Só vi em inglês que é o Pragmatic Thinking and learning

Cleybert

( 4 anos * 365 dias * 24h ) – ( vida social / 2) = ~48 mil horas o/ hahaha

Steve Jobs

Faltou incluir na formula a depreciação da tecnologia, ou seja, estamos considerando que algum dia no inicio aprendemos algo que hoje é totalmente diferente. Um expert hoje, dura no maximo 3 anos, e nao que ficamos expert em uma tecnologia ao passar dos anos, experiente sim, o titulo de expert é descartável…

    Bill Gates

    Existe padrões de design que existem desde da decada de 70 e que ainda são utilizados, como no caso o MVC, o que é um expert deve saber não é de sintaxes especificas de cada linguagem, porque isso muda dentro da propria linguagem ou de uma linguagem pra outra, mas sim, como programar, como utilizar recurso “X” ao invés do “Y”, qual seria a melhor padrão para tal projeto, enfim, coisas muito mais acima que uma mera sintaxe da linguagem, provavelmente quem deverá saber mais disso é o programador encarregado de escrever o código que o “programador-cientista” desenhou.

    Steve Jobs

    ué…apagaram minha resposta aqui… isso se chama censura…

Qual a sua opinião?