[Portuguese] Como aprendi a aprender a programar

Saudações do outro lado da tela. 

Se você é um entusiasta da área de programação, um fã da Azure ou simplesmente caiu aqui de paraquedas você provavelmente veio se perguntando: como posso aprender a aprender? Calma que eu vou explicar. 

Programar é uma arte que inclui apenas duas coisas: você e o seu código, e esse código pode ser em várias linguagens diferentes com várias finalidades diferentes, apenas o céu é o limite para o que você pode fazer e a essa altura você com certeza já pensou: não tem como, isso é impossível. Acredite, todos já pensaram inclusive eu, mas aqui eu pretendo dar uma noção, nortear, seja você alguém que não sabe nada ou que já aprendeu e não sabe como se inovar. 
 
Como aprendi a aprender: 

A primeira parte pode ser resumida em “como você aprende?”. Programação, assim como todo conteúdo, requer uma dedicação aos seus estudos, mas como você estuda?  

No início eu recorri ao meio que sempre me salvava: vídeo aula, mas depois de perceber que nada ajudava, eu acabei procurando um curso (e gastando dinheiro) apenas para aprender o básico. Primeiramente comece pela lógica e pensamento computacional, “O que é a lógica e pensamento computacional?”, é o conjunto de ideias base para se trabalhar com um software, em outras palavras, aprender a linha de raciocínio que o computador tem para poder falar na língua dele (o que é uma variável? O que seria o objeto? Como posso pedir “isso” para o programa? Etc.), então sempre comece um novo estudo revendo a lógica e, principalmente, o pensamento computacional. Se você acaba pegando jeito em resolver os problemas antes, o código vai ser só um detalhe, mais importante é pensar em tudo que ele vai precisar fazer. 

Outra coisa que é muito bom fazer é delimitar seu limite e quando/se vai ultrapassar ele. Me usando como exemplo: comecei como hobbie, então meu limite era aprender o mínimo e tentar me divertir só com isso; depois que fiz meu primeiro código (em Portugol, um “Olá, Mundo”) eu já tinha mudado meu limite: quero aprender tudo dessa língua. E a cada nova meta e aumentava meu limite para aprender uma linguagem nova, entender um objeto, conseguir fazer um site, e etc… (minha meta atual é compreender o próprio Azure, pode seguir aqui para me acompanhar nessa nova jornada). Se coloque um limite e quando atingir ele decida: isso é um limite ou uma etapa? Eu quero crescer ou aqui está ótimo? E uma pergunta que eu fiz logo de cara: eu quero seguir isso pra minha vida? Programar me deixa feliz? E a dica que eu dou é: não responda de cara, seja programação ou qualquer outra matéria ou carreira que pense em seguir. 

Escolha seu inicial: 

Essa é para os fãs de Pokémon: Sabe quando você tem que escolher seu inicial? Seu primeiro companheiro que vai te acompanhar ao longo da jornada? Decisão difícil eu sei mas pelo lado bom, ou não, em programação você não tem apenas 3 parceiros, você tem dezenas. 

Escolher a primeira linguagem é complicado, mas é o primeiro passo e cada um faz do seu jeito, pessoas muito planejadas por exemplo, vão estudar língua por língua até achar uma que as satisfaçam, eu por exemplo escolhi a mais fácil que tinha: Portugol.  

O Portugol é uma linguagem de pseudocódigo focada no aprendizado, não é boa profissionalmente e nem pra fazer códigos muito complexos (mas no intervalo entre meus estudos sempre procurava e achava alguém que fazia um jogo da velha ou um gerador de arte abstrata ou algo do gênero. O projeto é seu). Nada te impede de começar a programar numa língua, se já programa melhor ainda, mas para aprendizado eu recomendo iniciar em pseudocódigo e depois você pode ter um critério para escolher uma língua, seja uma focada em objetos, banco de dados ou simplesmente “essa logo é bonitinha. Vou testar”. 

Depois de um ano já introduzido eu entrei no ensino médio numa escola técnica e a diferença entre aprender na escola e em casa é: você vai ter orientação, o esforço, empenho, comprometimento e o estudo ainda serão com você e apenas você.  

Deixe me dar uma última dica: a plataforma que você usa também conta muito, então procure ferramentas que lhe deixem a vontade. Recomendo o Repl.it, uma ferramenta online que permite você experimentar várias linguagens. 

Seja trilíngue: 

Essa é a parte que a maioria tem dificuldade. Mas é literalmente isso, programadores (brasileiros) precisam aprender inglês para programar, mas saber inglês não te torna um programador, apenas diz que você vai ter maior facilidade em entender e aí aprender a sua terceira língua: a da máquina. 

Se você tem problemas com inglês recomendo mais ainda o portugol pois depois você consegue aprender as palavras chave e assimila as do português com as do inglês, o que corta 50% do caminho. 

Saiba organizar: 

Organização é tudo quando o assunto é estudo e, coincidentemente, programação. 

Para quem for estudar apenas por diversão: Não só em programação, ter um cronograma de estudo e reservar um tempo para praticar e fixar o que aprendeu é sempre bom e um dos métodos mais efetivos para aprender. 

Para quem opta por uma carreira: Organizar-se e organizar seu código são requisitos mínimos na área. Muitas vezes a forma como você organiza acaba reduzindo trabalho, e do mesmo modo, a desorganização pode acabar fazendo o trabalho consumir mais tempo do que o que se espera. 

Certa vez fiz uma biblioteca em Javascript (JS). O JS cobra muito o uso de “;” e se você não se ater a isso, como eu fazia, você poderia ter problemas desde uma linha conflitante até um código inteiro que não roda. O que houve no meu caso foi justamente a última opção, tinha 2 semanas para entregar esse trabalho e faltando três dias estava quase pensando em refazer o código do 0, mas percebi que (fica a dica caso um código grande dê errado) se eu utilizasse as partes funcionais eu encontraria o erro, então dividi meu código parte por parte e descobri o erro: em um determinado trecho não coloquei “;”, o que fazia o console identificar o erro em locais errados (muitas vezes o console aponta o local de erro exato para você) e todo o resto ficar disfuncional. Ainda rimos muito dessa história. 

Queira aprender, você é todo mundo: 

Em qualquer ponto existiram problemas e percalços, mas apenas quando você foca você consegue seguir em frente e atingir seus objetivos. 

Qualquer um pode aprender a programar do mesmo jeito que qualquer um pode aprender a pilotar um avião, operar um coração ou fazer um bolo. Tudo depende do quanto você quer e o quanto você investe nisso, sempre mantendo a positividade e com uma visão otimista de tudo.  

Seja em programação, design, medicina, engenharia, pedagogia ou etc, seja jogando cartas, cozinhando ou escrevendo, você só é bom em algo quando se esforça, mesmo que as coisas pareçam que exigem dons, tudo o que importa é seu comprometimento, seja como hobbie ou profissão, seja programar ou qualquer outra coisa. 

Não desanime quando pensar que não sabe nada, estudo a 5 anos programação e ainda sei pouca coisa, quantidade não é qualidade e hoje eu consigo me comunicar perfeitamente na área, consigo programar, consigo oportunidades e isso tudo devo ao cara que 5 anos atrás não sabia que Alt+Tab mudava as abas do navegador. 

Tudo tem o primeiro passo, quer começar essa caminhada? Espero ajudar com esses posts. O bom da área de tecnologia é que a comunidade é muito unida. 

Para encerrar umas dicas rápidas para estudar programação: 

  • Separe os professores e conteúdos que você aprende mais, sempre que estudar tente praticar, se possível, no mesmo dia; 
  • Quando quiser aprender uma nova linguagem e não tiver ideia de por onde começar: veja as mais populares e mais usadas no momento, tanto vão ter mais conteúdo e conteúdo atual quanto vão ser mais relevantes profissionalmente; 
  • Se estiver com problemas ou precisando de ajuda: procure em redes sociais, a comunidade TI é muito cooperativa; 
  • Não precisar treinar sério, brincando você aprende o necessário igual. Procure sua zona de conforto.