Artigos > Programação

Aprenda a programar em 10 anos

Paulo Silveira
Paulo Silveira

Peter Norvig, cientista da computação e atual diretor de pesquisas do Google, tem uma série de artigos incríveis. Um deles, entitulado "Aprenda a programar em 10 anos" (Teach yourself programming in 10 years) é um dos que eu mais gosto. Foi impactante na minha carreira, em especial quando eu tinha 1 ano de experiência com Java e me achava um programador senior... ¯\(ツ)

Fiz aqui uma tradução bastante livre dos principais pontos do artigo. Não concordo com tudo, mas a provocação é excelente. Há uma tradução em português de uma versão mais antiga aqui. Vamos lá:

Por que está todo mundo apressado?

Se você for em qualquer livraria, vai ver um livro "Como aprender Java em 24 horas", ao lado de variações ensinando C, SQL, Ruby, Algoritmos, JavaScript e muito mais. Se fizer uma pesquisa avançada na Amazon, vai encontrar mais de 500 livros desse tipo. Dos top 10, 9 são de programação.

A conclusão é uma de duas: ou todo mundo está muito apressado, ou programar é de alguma forma mais fácil de aprender que qualquer outra coisa. Felleisen dá um sinal disso no seu livro "Como fazer o design de programas" quando diz "Programação ruim é fácil, idiotas podem aprender a fazer isso em 21 dias". (A opinião o Paulo aqui: a frase é exageradamente forte, mas é sim perigoso sair programando de qualquer jeito).

Vamos tentar analisar o título desses livros.

Em 24 horas você não vai ter tempo de escrever vários programas significativos, nem de aprender dos seus acertos e erros com eles.

Você não vai ter tempo de trabalhar com alguém mais experiente e entender como é viver em um ambiente de C++ ou Java.

Ou seja, você obviamente não tem tempo de aprender muito, então o livro só pode estar falando de entendimento superficial, não de entendimento profundo.

Em 24 horas ou até mesmo 21 dias, você pode sim aprender um pouco da sintaxe de uma linguagem de programação, mas você não aprende realmente o mais importante: como usar a linguagem e principalmente, como de fato resolver problemas com ela. Você pode acabar usando o que aprendeu superficialmente com a lógica de outra linguagem, sem saber se essa nova linguagem é boa ou ruim.

Então aprenda a programar em 10 anos!

Muitos pesquisadores mostraram que é preciso cerca de 10 anos para desenvolver expertise em diferentes áreas, como xadrez, música, pintura, natação, tênis e outros. A chave é a prática deliberada (intencional): não apenas fazendo e refazendo, mas se desafiando com uma tarefa que é um pouco mais difícil do que sua habilidade atual possibilita, saindo da zona de conforto para avançar, analisando sua performance e corrigindo erros. E sim, repetir várias (e várias!) vezes. Não há atalhos: mesmo Mozart, que era um prodígio aos 4 anos, precisou de mais 13 anos para produzir música em nível profissional.

Apesar de falar sobre horas e não anos, Malcolm Gladwell popularizou essa ideia, que você já deve ter ouvido em algum momento, a que de é preciso 10 mil horas de prática para efetuar algo com excelência. Henri Cartier-Bresson tem outra métrica: "Suas primeiras 10 mil fotos são suas piores". Verdadeira expertise pode tomar uma vida inteira!

Claro, não existe um número mágico de horas ou anos que será a resposta final para o que você quer aprender: não parece fazer sentido assumir que para dominar qualquer habilidade (programação, xadrez, música, por exemplo) é necessária exatamente a mesma quantidade de tempo para cada uma delas, e nem que todas as pessoas precisam da mesma quantidade de tempo.

Como o professor Anders Ericsson coloca, "na maioria das áreas é impressionante quanto tempo até mesmo as pessoas mais talentosas precisam para atingir os maiores níveis de sucesso. 10mil horas te dá uma boa ideia de que estamos falando de anos de prática de 10 a 20 horas por semana para que essas pessoas, consideradas talentosas por natureza, cheguem ao topo".

Então você quer trabalhar com programação

A receita de Peter Norvig para o sucesso na área:

(...)

Então vá, compre esse livro de Java/Ruby/Javascript/PHP. Você provavelmente vai tirar proveito dele. Mas ele não vai mudar a sua vida, ou te dar a habilidade de programação em 24 horas ou 21 dias. Mas que acha de trabalhar bastante para melhorar nos próximos 24 meses? Bem, agora você está chegando em algum lugar...

Mais referências Esse foi o fim do artigo do Norvig e alguns dos pontos principais que ele nos traz sobre o porquê deveríamos ter a paciência (e a insistência) na aprendizagem. Você pode conferir outras dicas e tambem o artigo completo aqui.

Mas então vou demorar tudo isso para começar a programar?!

Se você está dando os primeiros passos, não se assuste. É claro que você não vai demorar 10 anos só para começar a programar, mas o que quero deixar de reflexão aqui é que o estudo da programação é algo contínuo e que na verdade, nunca terminamos de aprender. Sempre vão surgir novas tecnologias, frameworks e até mesmo novas linguagens e é preciso acompanhar de perto toda essa evolução. Mas principalente, é preciso praticar. Então não se preocupe, é possível sim começar a trabalhar na área de programação quando ainda se está no início dos estudos, mas saiba que esse é só o começo de uma carreira de bastante estudo e dedicação.

Vou deixar aqui um video que gravei com o Gabs Ferreira sobre esse início na programação que pode te ajudar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software

Artigos > Programação

Cursos profissionais de Programação é na Alura, comece agora!

  • 1266 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1266 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1266 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1266 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas