Como aprender programação?

Confira dicas de como se tornar um programador.

Roshan Choxi é cofundador e CEO da Bloc, “o maior bootcamp online do mundo”.

A resposta dessa questão tem sido o meu foco nos últimos anos. Notei que existem três estratégias constantes que estudantes bem-sucedidos usam melhor do que qualquer outra pessoa, independente dos recursos que possuem:

  1. Foque em hábitos, não objetivos
  2. Aprender sozinho é doloroso
  3. Crie

1. Foque em hábitos, não objetivos

Pode parecer contraditório não focar em objetivos, mas ouça o que eu tenho a dizer: isso tem a ver com o bom aproveitamento. Qualquer pessoa que me conhece sabe que eu menciono, de três a quatro vezes por dia, uma cena com R’as Al Ghul de Batman Begins:

1325921442043114342 copy

Em uma briga no gelo, R’as diz a Bruce:

“Esfregue o seu tórax, e os seus braços vão cuidar de si próprios”.

Se você focar em criar o hábito de programar de 20 a 30 horas por semana, você atingirá o seu objetivo de se tornar um desenvolvedor web. Agora, se você focar no objetivo de se tornar um desenvolvedor web em X meses, você não aproveitará nada disso, além de adquirir estresse e insegurança de quão longe você está do objetivo traçado. Foque no hábito, não no objetivo. Esfregue o seu peito, os seus braços vão cuidar de si próprios.

Isso é o que você deve fazer: reserve 15 minutos por dia do seu calendário para se ocupar programando. Não faça mais do que 15 minutos, apenas foque em fazer 15 minutos por dia. Se você conseguir fazer isso sem desculpas por uma semana, tente aumentar esse tempo para 20 minutos por dia. E não tente estender esse tempo programando uma hora em um dia, pois essa será uma maratona de 10.000 horas e estamos apenas desenvolvendo o hábito de programar por enquanto. O número de minutos que você gasta programando não é tão importante quanto o hábito de programar todos os dias.

2. Aprender sozinho é doloroso

Quando eu estava aprendendo desenvolvimento web, os dois maiores componentes sociais do meu aprendizado foram ter um mentor e pertencer a uma comunidade.

Ter um mentor: Durante a faculdade, eu trabalhei em uma pequena startup chamada merge.fm. Eu aprendi mais durante as férias que passei trabalhando com um dos cofundadores do que no ano letivo anterior inteiro. Trabalhar ao lado de um expert que sabe mais do que você acelera o seu aprendizado de alguma forma. Você entende como eles pensam e descobre o que você não sabe. Existe uma razão pela qual a presença de mentores costuma ser obrigatória para aprender alguma coisa: ela é muito eficiente.

Pertencer a uma comunidade: Para mim, as duas comunidades às quais eu pertencia eram a Illini Entrepreneurship Network (uma organização estudantil na minha universidade) e a HackerNews (uma grande startup hacker comunitária online).

Eu não aprendi o que eram objetos e classes na HackerNews, mas aprendi uma categoria diferente de coisas. Aprendi que ninguém gosta de Javascript. Aprendi que Rubystas são os hipsters da programação. Aprendi que Bret Taylor, Rich Hickey e John Carmack são deuses da programação e que empresas de software levam café muito a sério, e possuem cozinhas que mais parecem laboratórios de metanfetamina. E essas são informações importantes quando se trabalha com outros desenvolvedores, além de ser o que faz você se sentir um desenvolvedor.

3. Crie

No meu primeiro ano aprendendo desenvolvimento web, eu criei:

  • Um clone do Digg (de um livro sobre Rails, que acredito estar desatualizado hoje)
  • Um aplicativo de e-commerce (do livro Desenvolvimento Web Ágil com Rails 4)
  • Um app parecido com o GeekSquad (projeto pessoal)
  • Uma sala de aula online em tempo real (projeto pessoal)
  • Um app de língua estrangeira (projeto de disciplina)

Acredito que trabalhar em projetos reais é importante por inúmeras razões, mas, para mim, a razão mais importante é porque é legal. Isso é algo que está tragicamente perdido há anos na educação, mas acho que é importante o suficiente para estar na lista. Procure por recursos que te mostrem como criar algo; http://ruby.railstutorial.org/ é um bom exemplo.

4. Seja uma barata

Eu adicionei secretamente um quarto item para aqueles que chegaram até o fim da página.

O programador Paul Graham uma vez disse aos fundadores do Airbnb:

“Vocês não vão morrer, vocês são como baratas.”

Você provavelmente vai querer desistir de aprender a programar em algum momento. Como qualquer coisa que vale a pena, é difícil e vai te fazer se sentir feito um idiota inúmeras vezes. E é por isso que o primeiro item dessa lista é tão importante — pare de se preocupar tanto se você está ou não progredindo, ou quanto tempo vai levar até você sentir como um real programador. Tudo o que você tem que fazer é focar em programar, de 10 a 30 horas por semana. Seja tonto feito uma barata para todo o resto, e não “morra”.

Se você tem dicas, conselhos ou fontes preferidas para aprender programação, diga-nos abaixo nos comentários. Como foi que você começou?


Como eu aprendo a programar? é um texto original do Quora. Você pode seguir o Quora no Twitter, Facebook e Google+.

Foto por Michael Himbeault/Flickr

fique por dentro
das novidades giz Inscreva-se agora para receber em primeira mão todas as notícias sobre tecnologia, ciência e cultura, reviews e comparativos exclusivos de produtos, além de descontos imperdíveis em ofertas exclusivas