Quando se trata de aprender, não existem tantas regras absolutas que se aplicam a todos sobre como fazê-lo. Eu, por exemplo, adoro entender a teoria, os conceitos principais e pensar sobre eles. Então frequentemente tomo esse caminho. Mas muitas pessoas que conheço me dizem que aprendem melhor enfrentando problemas diretamente e aprendendo no processo. Vejo que em muitos casos essa abordagem pode funcionar melhor, ser mais eficiente e mais eficaz. Na minha experiência, quando se trata de conhecimento que já está amplamente difundido e você pode ter um ambiente para experimentar e receber feedback sem um custo considerável por falhar, essa é a melhor maneira. Por exemplo, para aprender uma nova linguagem de programação ou paradigma, experimentar diferentes ferramentas e para habilidades sociais em geral, como falar em público e entrevistas de emprego. Aqui compartilharei minha experiência com o aprendizado de React. Meu primeiro contato com ele foi provavelmente em 2019 com um laboratório de engenharia de software onde tivemos um projeto em grupo para construir uma aplicação web e o frontend era em React, uma versão desta. Naquela época eu tinha muito, muito pouco interesse em frontend e só fazia quando era absolutamente necessário no frontend (eu me concentrava na arquitetura e no backend).

Avançando para 2023 e deci aprender mais sobre frontend, já que tive que implementar algumas páginas em Angular quando estava no Itaú. Então aproveitei para aprender React e fiz o clássico tutorial do jogo da velha. Depois, vi esse vídeo que me ajudou bastante a compreender os conceitos do React.

Então, em 2024 tive que implementar um chatbot para oferecer insights aos clientes sobre suas transações na Finbits. Então, mais uma vez, lá estava eu com React. Desta vez eu tinha algum conhecimento e pude avançar mais, especialmente com a ajuda de ferramentas de IA Generativa como ChatGPT. Mas também ficou claro que essas ferramentas, embora se diga que são um futuro substituto para engenheiros de software, nem são tão úteis quando você não entende os conceitos subjacentes. Por exemplo, tentei implementar um componente muito complexo para ser capaz de renderizar Markdown quando já havia um componente pronto para isso no projeto. Mas aprendi mais uma vez fazendo isso.

E por último, este ano decidi avançar meu conhecimento construindo em cima do jogo da velha, melhorando a interface, adicionando novas funcionalidades e praticando minhas habilidades de IA. Então aqui está, meu jogo da velha open-source - Alte (significa mulher idosa em alemão, que é o nome em português para jogo da velha). Abaixo você pode aprender sobre alguns conceitos importantes do React e também sobre um algoritmo de IA simbólica inteligente e eficiente para ganhar ou empatar no jogo da velha.

React

Gerenciamento de estado Manipulação de elementos/componentes

IA Simbólica

MiniMax com poda alfa-beta