De Iniciante Para Iniciante
Olá, galera! Me chamo Diego, tenho 25 anos e sou natural de Campina Grande, na Paraíba. Mergulhei de cabeça na programação há 11 meses e, sendo minha primeira publicação na tabnews, achei importante compartilhar minha trajetória e as lições aprendidas como programador iniciante. Portanto, quero falar de iniciante para iniciante.
Tentei ingressar na área da programação prestando vestibular para Ciências da Computação na UFCG e embora eu tenha sido aprovado, infelizmente acabei perdendo a vaga por não ter conseguido realizar a matrícula dentro do prazo. Então busquei outro meio mais "rápido" de começar na área e ganhei uma bolsa da Stone para estudar Desenvolvimento Web Full Stack na Resília Educação e, após concluir o curso, outra bolsa 100% pelo ProUni para estudar Sistemas de Informação na Unifacisa.
Antes da faculdade, tive a oportunidade de participar de um bootcamp de desenvolvimento web, que durou 6 meses. Esse tipo de curso é conhecido por ter a premissa de formar programadores capazes de entrar no mercado de trabalho em um curto período de tempo - geralmente de 6 meses a 1 ano - e, apesar da polêmica sobre sua efetividade, de fato muitos conseguem alcançar esse objetivo. Mas nem tudo são flores e o foco da publicação não é dizer se bootcamps valem ou não a pena, talvez em um outro post.
O bootcamp foi intensivo, comecei com HTML, CSS e JavaScript, seguido de banco de dados, frameworks e softwares (Bootstrap, React, Node.js, MongoDB, entre outros) e tudo isso em um espaço de tempo muito curto. Embora tenha aprendido bastante, me assustei ao me deparar com uma nova linguagem (Python) na faculdade e me senti frustrado, afinal, tive que "reaprender" a programar uma nova linguagem, mesmo depois de 6 longos meses intensivos de estudos, muitas tecnologias, "grandes" projetos e muita prática.
Após vivenciar um misto de emoções, realizei extensas pesquisas e encontrei "dores" semelhantes às minhas, pois percebi que isso é extremamente comum para iniciantes na programação. Foi então que compreendi a importância de reduzir a minha ansiedade e reiniciar meus estudos, focando nos fundamentos para ter um conhecimento sólido. Posso afirmar que isso tem sido uma grande diferença em meu aprendizado. Embora não consideraria um erro ter começado na programação através de um bootcamp intensivo, se pudesse escolher novamente, eu certamente começaria pelos fundamentos básicos da programação. A polêmica premissa dos bootcamps é tornar o programador capacitado em um curto período de tempo, ou seja, não há espaço (e nem tempo) para explicar sobre os fundamentos computacionais e da programação, que consiste na lógica de programação e estruturas de dados usadas em todas as aplicações. Sem um conhecimento sólido dos fundamentos, pode haver choque ao se deparar com uma nova linguagem (como aconteceu comigo na faculdade) e se torna mais difícil solucionar problemas e desenvolver aplicações robustas e escaláveis.
Portanto, comecem pelo lado "chato". Sim, é realmente chato, mas vale a pena. Antes de escolher a linguagem de programação que você deseja aprender, comece pela lógica de programação, estrutura de dados, fluxo de controle e algoritmos. Leiam livros e aproveitem a internet, ela está cheia de conteúdos incríveis e gratuitos, incluindo canais no YouTube sensacionais (Fábio Akita foi o responsável por me inspirar a começar a me interessar pelo lado chato das coisas). Pratique todos esses conceitos para aprimorar seu pensamento crítico e computacional, e então escolha a linguagem que deseja aprender.
Outrossim, é imprescindível enfatizar que a programação é uma habilidade atemporal e que o conhecimento não se compara, se compartilha. Não se sinta menos capacitado por ter começado a aprender mais tarde ou por ter menos experiência do que outras pessoas. Cada um está em seu próprio ritmo e é importante deixar o ego de lado e pedir ajuda quando precisar, mesmo que a pessoa que possa ajudar seja menos experiente do que você. E também seja humilde e democratize seu conhecimento com quem precisa.
Por fim, quero deixar claro que não é uma regra universal, é apenas minha opinião com base na minha experiência até aqui. Estou engatiando na programação e tenho muito chão pela frente!