• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Aprenda a programar em 10 anos

    Aprenda a programar em 10 anos

    7 min7 minutos de leitura

    Alura

    7 min7 minutos de leitura

    Publicado: 06/12/2020

    1. Por que está todo mundo apressado?
    2. Então aprenda a programar em 10 anos!
    3. Então você quer trabalhar com programação
    4. Mas então vou demorar tudo isso para começar a programar?!

    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.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    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:

    • Interesse-se por programação e faça isso ser divertido. Garanta que você curta o processo de aprendizagem justamente para poder seguir uma trajetória de 10 anos/10 mil horas.

    • Programe. A melhor forma de aprender é fazendo. Para colocar tecnicamente: "o nível maximo de performance não é alcançado automaticamente simplesmente por experiência prolongada, mas o nível pode ir aumentando como resultado de esforços intencionais para melhorar (do livro Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life)

    • Converse com devs, leia código. É mais importante do que livros e cursos. Se você quiser, coloque 4 anos da sua vida em uma faculdade (ou mais em um mestrado). Isso vai te dar acesso a alguns empregos que precisam dessas credenciais e você vai entender com profundidade do campo. Mas se você não gosta de escola, você pode (com alguma dedicação) ter uma experiência similar por você mesmo ou no trabalho. Em todo caso, aprender só por livros não é sufieciente. "Educação em ciência da computação não faz ninguem profissional em programação, assim como estudar pinceis e pigmentação não faz ninguem expert em pintura" diz Eric Raymond.

    • Trabalhe em projetos depois de outros programadores. Trabalhe em projetos já começados. Entenda um programa escrito por outra pessoa. Veja o que é necessário para entender e consertar bugs quando as pessoas que criaram o sistema já não trabalham mais nele. Pense em como criar seus programas para que eles sejam de fácil manutenção por outras pessoas.

    • Aprenda pelo menos 6 linguagens. Inclua uma que tenha foco em abstração por classes (como Java e C#), uma que foque em abstração funcional (Lisp, ML ou Haskell), uma que suporte abstração sintática (como Lisp), uma declarativa (como Prologo ou template C++) e uma que tenha enfase em paralelismo (Clojure e Go).

    • Lembre-se que existe um computador por trás do que fazemos. Conheça quanto tempo um computador precisa para executar uma instrução, buscar uma palavra na memória (com e sem cache), ler dados do disco e ir para um novo local do disco.

    • Envolva-se em um processo de padronização de linguagem. Pode ser algo complicado como o comite do C++, ou decidir se o estilo de código da sua empresa vai usar 2 ou 4 espaços de identação. De qualquer maneira, você vai aprender o que as outras pessoas gostam em uma linguagem, como elas se sentem e como você se sente.

    (...)

    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.

    https://www.youtube.com/watch?v=MwCx2qKdbDw

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Paulo Silveira

      Autor(a)

      Paulo Silveira

      Paulo Silveira é CEO e cofundador da Alura. Bacharel e mestre em Ciência da Computação pela USP, teve sua carreira de formação em PHP, Java e nas maratonas de programação. Criou o Guj.com.br, o podcast do Hipsters.tech e o Like a Boss.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • Alura
      25/06/2007

      JPA: anotações nos getters ou atributos?

      Ler mais
    • 01/01/2017

      Capacitação: chave para sucesso na tecnologia

      Ler mais
    • 07/03/2022

      O que é Node.js: vantagens e usos na programação

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura