"É costumeiro reclamar da pressa e exaustão de nossa época. Mas, na verdade, a principal marca de nossa época é a fadiga e a preguiça; e o fato é que a verdadeira preguiça é a causa da pressa."
G. K. Chesterton
Recentemente, alguns amigos vieram me pedir dicas de como aprender a programar: "O que você indica para quem está começando agora?"
Eu tenho a impressão de sempre frustrar aqueles que esperam de mim um guia/mapa para quem quer aprender a programar do zero.
E é por isso que estou escrevendo esse post.
Vou contextualizar um pouco melhor o que penso sobre a carreira de desenvolvedor, e como foi a minha experiência pessoal.
Identificando o ponto de partida no mapa
Vou dar alguns passos atrás para possamos estar na mesma página: Eu trabalho com programação faz +14 anos, e meus primeiros códigos "funcionais" foram escritos no ano de 2006, em um estágio com PHP e MySQL.
Nessa época, eu nunca me preocupei com o "hype" do momento ou qual tecnologia tinha mais vagas no mercado.
Confesso que fui agraciado pela ignorância desses assuntos no começo da minha jornada. A oportunidade de estágio apareceu e eu aceitei. Simples assim.
Só depois que eu já estava entendendo o meu trabalho, é que procurei me informar sobre quais eram as tecnologias do mercado, seus benefícios e aplicabilidade.
1ª dica: Preocupe-se em aprender alguma tecnologia. Qualquer uma. Isso não é um casamento e você pode trocar se encontrar outra melhor.
Antes de saber qual é a "melhor tecnologia", recomendo que você se preocupe em entender ao menos uma, e resolva algum problema real com ela.
Eu trabalhei mais de 5 anos com PHP e só depois mudei para Python, que é a tecnologia com a qual eu mais gosto de trabalhar atualmente. Mas até conhecer Python, eu já tinha trabalhado com ASP, Delphi, C# (web e desktop) e Java.
Enquanto trabalhava com PHP, aprendi muito sobre front-end (HTML/CSS/Javascript puro), banco de dados e outras "cositas más" que são úteis até hoje.
2ª dica: Você nunca vai saber qual é a tecnologia que você mais gosta de primeira. Então, aprenda aquela que te facilite a ter uma experiência prática o quanto antes.
Um pequeno barco para navegar em alto mar
Hoje existe um oceano de informações que te ajudam no processo de aprendizagem de programação e desenvolvimento de software. Porém, quando se tem um pequeno barco, deve-se limitar a navegar em águas mais calmas e ficar próximo da encosta.
Não adianta você conhecer todas as "sopas de letrinhas" que existem no mercado, e não ser capaz de resolver um único problema real.
Se você está fazendo algum curso (recomendo que faça), então faça-o até o final. E não limite-se apenas em assistir e reproduzir os exemplos da aula. Tente dar um passo além para avaliar até que ponto você está realmente entendendo o conteúdo das aulas.
Só depois que você tem controle sobre o seu barco, é que você deve buscar um barco maior para se aventurar em águas mais turbulentas.
3ª dica: Escolha o seu capitão e ouça-o com atenção. Talvez você ainda não consiga absorver tudo o que ele está lhe ensinando, mas nunca esqueça: Quem conhece o mar é ele e não você!
Nas primeiras expedições em alto mar, recomendo que você busque um capitão mais experiente que possa te auxiliar nesse processo. Professores e/ou colegas de trabalho são boas pessoas para te mostrar o caminho das pedras.
Mas cuidado para não se encher de dicas, cursos, sugestões, etc. Isso pode te paralisar devido ao grande volume de informações que receberá e não conseguirá processar. Então, limite-se a fazer poucos cursos e escolha bem o seu capitão.
Os primeiros passos são sempre os mais difíceis, e muitas vezes não vemos o progresso durante a jornada. É por isso que há tantas embarcações no fundo do mar.
Não há segredo ou receita mágica: para aprender a programar é necessário muito tempo de prática. Estar em um meio onde haja trocas de experiências é extremamente recomendado. Então, busque os grupos de discussões na internet onde você pode expor as suas dúvidas (google groups/telegram/facebook/etc).
4ª dica: Leva-se muito tempo para aprender a programar. Inclusive àqueles que já sabem programar, dedicaram muito tempo estudando e praticando para chegar onde estão.
No final das contas, o processo de aprendizagem é mais simples do que parece, no entanto pode ser mais difícil do que você imagina. É difícil como qualquer outra coisa nova que você está começando a aprender e que exija um certo nível de abstração. Porém é simples, pois você não precisa de muito para começar, basta ter um computador com acesso a internet.
Em resumo:
- Dedique tempo para aprender uma tecnologia e não perca tempo na escolha da tecnologia certa.
- Exponha-se a trabalhos reais e não limite-se as atividades/exemplos dados em aula.
- Não se assuste se o processo for lento. É muito provável que você se iludiu achando que isso seria diferente.
- Toda profissão exige dedicação e repetição. Programação não é diferente disso.
E não se esqueça que sempre há pessoas dispostas a te ajudar durante essa travessia turbulenta. Se exponha ao mar e acenda o seu sinalizador quando precisar de ajuda.
Gostou do texto? Discorda do que eu disse? Então deixa aqui sua opinião :)