Recentemente, tive um 1:1 com um amigo sobre como aprimorar a proficiência em programação. Neste artigo, compartilharei algumas conclusões que obtive.
Ao ser questionado sobre como seria possível elevar a proficiência em código, refleti profundamente antes de responder. Muito se fala sobre estudar e procurar oportunidades para aplicar os conhecimentos adquiridos, mas, em minha opinião, negligenciamos algo fundamental que aprendemos quando iniciamos nosso estudo de exatas.
Você se lembra de como ficou bom em matemática ou mesmo em lógica de programação?
Se a resposta for não, aqui vai uma dica: “Prática”!
E não pense que se resume apenas a construir um aplicativo ou ao projetinho de estudo apresentado durante o curso ou a leitura do livro. Quando digo prática, quero dizer muita prática mesmo.
Permitam-me compartilhar uma história pessoal sobre a importância da prática. Dos meus 14 até os 17 anos, trabalhei constantemente com PHP e Linux, montando os famigerados XAMP. No entanto, aos 16, ingressei em um curso técnico e fui apresentado a outras Stacks. Tive a oportunidade de aprender C#, VB e Java. Não negarei que muitas coisas não entravam facilmente na minha cabeça, o que exigia muito estudo para compreender. Durante o curso técnico, algumas empresas utilizavam o espaço para recrutar novos candidatos, e eu queria ser um deles.
Lembro-me de conversar com meu professor e pedir algumas dicas. Ele respondeu: “Pratique”. Na época, respondi que já estava fazendo isso, mas ele riu e disse que não era o suficiente, nem mesmo para aquecer.
Ao questionar o recrutador sobre a Stack utilizada no teste, ele mencionou que seria em C#, um teste de 5 horas. Lembro-me de estar estudando MVC na época, e ele comentou que o teste seria em Windows Forms. Pensei: “Vixe, vou ter que estudar isso também”. Naquela época, criei um aplicativo simples para MMC, outro para listar receitas da internet, e não parei por aí. Não havia ORM naquela época, as consultas eram manuais em stored procedures, o que exigia a montagem da estrutura do banco de dados também.
Até o dia da prova, havia se passado quase um mês desde que aceitei participar do processo. Lembro-me de que, ao abrir meu Visual Studio um dia antes da prova, havia mais de 40 soluções. Eu acordava cedo e, à meia-noite, ainda estava acordado. Foi uma rotina árdua, mas que deu resultado, pois fui aprovado no processo seletivo. Recordo-me de que o ar-condicionado estava alto, mas minha testa suava muito.
Uma observação importante é que, ao passar no teste, não fui classificado como Júnior, Pleno ou Sênior. Detalhe: já tinha três anos de experiência programando com PHP. Passei para estagiário. A lição mais importante que aprendi nessa época é algo que levo até hoje em minha Licenciatura em Matemática/Física: praticar não é fazer apenas um projeto ou uma conta; é fazer muitos, criar uma variedade de projetos e resolver uma infinidade de contas, testar, errar, testar novamente.
Atualmente, contamos com um vasto acervo de materiais de estudo disponíveis na internet, tornando o ato de aprender em si algo acessível. No entanto, o verdadeiro desafio reside em encontrar tempo para colocar em prática o que foi aprendido.
Aqui estão algumas dicas que gostaria de compartilhar:
Aplicação Imediata:
Ao estudar uma nova stack, é fundamental aplicar imediatamente o conhecimento adquirido. Isso pode ser feito por meio de projetos pessoais ou contribuições para projetos de código aberto. Acredite, é possível, pois muitas issues também possuem classificações de complexidade. Além disso, o HackerRank é uma excelente ferramenta de auxílio.
Lembre-se de que a prática é essencial para a consolidação do aprendizado. Ao colocar em prática o que foi estudado, você não apenas reforça os conceitos, mas também desenvolve habilidades práticas valiosas.
Projetos Próprios:
Iniciar projetos próprios é uma maneira eficaz de solidificar o conhecimento recém-adquirido. Esses projetos podem ser de pequena escala, mas devem ser desafiadores o suficiente para motivar seu progresso. Envolva-se em atividades que o inspirem e motivem a aplicar suas habilidades de programação.
Contribuições para Projetos Open Source:
Contribuir para projetos de código aberto oferece uma oportunidade única de trabalhar em colaboração com outros desenvolvedores e ganhar experiência prática. Além disso, você terá acesso a problemas reais que a comunidade enfrenta, proporcionando uma visão valiosa sobre boas práticas de programação.
Aproveite Recursos Online:
Além dos materiais de estudo tradicionais, explore recursos online interativos. Plataformas de ensino, tutoriais em vídeo e desafios práticos podem enriquecer sua experiência de aprendizado e fornece oportunidades práticas.
A Ajuda do HackerRank:
O HackerRank, sem dúvida, pode ser um aliado valioso. Utilize essa ferramenta para enfrentar desafios específicos e aprimorar suas habilidades de solução de problemas. A prática regular com esse tipo de plataforma pode fortalecer sua confiança e capacidade de resolver problemas de maneira eficiente.
Lembre-se de que o aprendizado contínuo e a prática constante são fundamentais para o desenvolvimento profissional. Ao integrar essas dicas em sua rotina de estudos, você dará passos sólidos em direção ao aprimoramento de suas habilidades de programação.