Se eu fosse recomeçar do zero a aprender a programar, por onde começaria hoje?
Quem sou eu?
Sou dev e trabalho na área de frontend há 8 anos, mas aprendi a programar ainda quando adolescente. Começou como um hobby e logo vi que seria algo que eu gostaria de levar pra vida. No começo, eu utilizava compiladores de Pascal e programas como RPG Maker e Game Maker (Multimedia Fusion se não me engano) para criar joguinhos, também utilizava o Front Page da Microsoft (quem lembra?) para criar sites bem simples. Na época, era possível criar sites nele com texto como se fosse um Word e ele gerava automaticamente o HTML em outra aba. Observando as alterações que eu fazia, comecei a entender o que significava o HTML. Nessa época o Javascript e o CSS eram apenas bebês e os sites eram feitos com tabelas e iframes (zero saudades).
Tive muita sorte de ter interesse e me apaixonar por programação logo cedo. Sempre entendi que o futuro seria da tecnologia e creio que estamos nessa direção até hoje. Fiz técnico em informática no colegial e ingressei na universidade de Ciências da Computação para me qualificar e aprender mais a fundo. Vi ao longo da minha vida as mudanças que a tecnologia foi causando na sociedade (para o bem e para o mal).
Vejo muitos conteúdos sobre "Se eu fosse começar do zero hoje, como eu faria?" e resolvi dar meus dois centavos.
Quais são seus objetivos?
Acredito que a pessoa que tenha interesse em começar a programar hoje em dia vai direto no google e cai em um curso ou um tutorial no youtube. Pega uma sequência de vídeos e assiste por 2h, 3h, 5h. "Aprenda a fazer um ecommerce completo em apenas 10 horas". Copia e cola absolutamente tudo o que tem no video. Não estou dizendo que esses conteúdos não tem valor, muito pelo contrário. Mas pra sair do zero, você tem que ter outras prioridades.
Você já se perguntou porque quer programar? Quais são seus objetivos? Onde quer chegar?
Na minha opinião, o primeiro passo é entender o que você quer fazer. Sua intenção é:
- aprender uma nova skill para ajudar no seu trabalho atual?
- aprender algo novo relacionado a tecnologia?
- entrar no mercado de trabalho e mudar da sua área atual?
- aprender a programar para criar um jogo?
- outra coisa?
Não tem problema mudar mais pra frente, mas ter um objetivo concreto vai guiar o seu aprendizado na direção correta, no seu tempo.
Por onde começar?
Agora que você já pensou no motivo de querer entrar no mundo da programação, é hora de buscar o conhecimento. A internet é gigantesca e cheia de conteúdos gratuitos para você iniciar.
Antes de cair direto em uma linguagem, estude lógica de programação. É um passo importantíssimo e muita gente simplesmente pula. É a base de tudo, não importa o que você pretende fazer.
Minha recomendação é iniciar com todo tipo de conteúdo gratuito e open source. É mais difícil sair do zero dessa forma, mas não tem espacatória: Você precisa estudar. E muito.
Procure artigos, blogs, vídeos, podcasts, canais no discord. Estude algoritmos. Tente rodar um programa no seu computador, seja no browser ou no PC. Faça o código funcionar pra você. Vasculhe o Stack Overflow. Leia a documentação oficial das tecnologias que você está usando - seja uma linguagem, uma biblioteca, um framework, o que for.
Coloque o pé na água antes de mergulhar. Entenda o ecossistema.
Não estou dizendo para não investir em cursos, definitivamente vão te ajudar. Mas esgote sua fonte de conteúdos gratuitos, converse com outros devs.
Nada na vida vem fácil e aprender a programar não é diferente: exige muito tempo e muito esforço.
Ok, já tenho uma noção básica, e agora?
Agora você deve criar projetos. Pense em algo simples e crie. Não precisa ser nada revolucionário. Faça um programa que calcule a média de 5 números. Crie uma calculadora. Faça um jogo da velha. Qualquer coisa. Mas não pare de programar.
Crie um portfólio, uma lista de projetos que você programou. Podem ser simples hoje, mas daqui 1 ano ou 5 anos você vai poder olhar pra trás e ver pra sua evolução. Não tem nada mais satisfatório do que ver onde chegamos com o nosso esforço, o quanto melhoramos, o que teriamos feito de diferente hoje.
Utilize git
, suba seus projetos em uma plataforma (GitHub, BitBucket, Gitlab, o que preferir).
Sempre recomendo esse repositório de ideias: https://github.com/florinpop17/app-ideas
Como evoluir?
Leia o código dos outros, discuta em issues de projetos abertos, contribua com o open source.
Continue programando e estudando. Lembre-se que a tecnologia não para e sempre tem algo novo pra aprender. O Tabnews é um ótimo exemplo de devs se juntando para criar algo positivo para o ecossistema.
Conclusão
A minha intenção com este artigo não é ter uma sequência de links para você seguir. Não tem como expressar absolutamente tudo nessa pequena caixa de texto. Definitivamente não estou me propondo a dar uma resposta final.
Cada um tem o seu jeito de aprender, seu objetivo e seu momento. Tenho certeza que você encontrará muitas pessoas no seu caminho interessadas em te ajudar.
Não pense que ter a faculdade é o único caminho que vai determinar um bom programador(a). É completamente possível aprender e atingir seus objetivos sem a faculdade.
É impossível aprender tudo, mas sempre é possível aprender mais.
Boa sorte!