Dúvidas sobre o que priorizar nos estudos
Olá pessoal,
Me chamo Jônatas, trabalho atualmente como fullstack aqui na empresa. Tive a oportunidade de fazer módulo completo dentro de um dos nossos sistemas. Aprendi muita coisa.
Uso Html, Css, Jquery, JS, Bootstrap, Python, Django, Postgres, Docker e Figma para prototipar. Além de ter aprendido a fazer levantamento de requisitos.
Tenho um novo sistema web para fazer, que decidi trocar o front inteiro por React-ts + Material UI, o restante mantive.
Quero muito aprofundar em Python e talvez o Django.
Mas com vista nesse novo sistema, que visa muita performance, estou pensando em usar o Python 3.12.7 e o Django 5.1 e assim que sair a versão lts em Abril, atualizar para Django 5.2.
Isso me trouxe dúvidas que foram respondidas aqui mesmo Utilizar Django 5.1 ou não?...
O que me levou ao assunto de Arquitetura limpa, achei um conteúdo sensacional no canal do youtube do programador Lhama Se quiser dar uma olhada
Pelo pouco que vi, entendi que deveria me aprofundar em POO, e também estou estudando uma play dele.
Mas aí é que está o impasse... Poxa, de certa forma estudei bem rápido algumas bases de python, não deu tempo de aprofundar, só de aplicar da melhor forma possível.
Será que correr atrás desses assuntos para poder melhorar a qualidade do meu código nesse momento está errado? Será que eu deveria puchar o freio de mão, ou reduzir a marcha e voltar estudar melhor as bases e depois sim ir avançando em coisas mais intermediárias e avançadas?
Digo isso por exemplo quando me deparo com sintaxes que fico super em dúvida se pertencem ao Python puro ou ao Django por exemplo.
Sério, confesso que quero muito continuar esses estudos que falei... POO, Arquitetura, Design Patterns, mas será que vou queimar etapas?
Obs: sou júnior por aqui, mas largam as responsas pra mim e meus pares como se fossemos sêniors, e cada um tem que se virar pra entregar. Por isso estou com essa preocupação de construir algo da melhor forma possível.
Obs2: Mals aeh pelo desabafo! :/
Recomendo você ficar FODA na base, jaz aqui dois motivos:
- a base das linguagens são bem parecidas (os conceitos), pulando de linguagem para linguagem você só vai ter que se preocupar com semântica e sintaxe, pois a base da programação já estará correndo em suas veias.
- se você entende o como e o porque, fica nitidamente mais simples os assuntos futuros, você só de olhar já vai entender o que signifca e é aqui que você poderá se aventurar no que quiser, pois terá uma base tão forte que sua mente vai se tornar um super computador.
POO, Arquitetura e Design Patterns são conteúdos extras que não importa quando você vai vê-los, cabe a você se está disposto a mudar toda a sua convenção de código para seguir esses padrões. Quanto mais cedo você ver, menos terá que "refazer" o código, porém, não é um requisito master supremo para você entender.
No começo eu me assustava com essas nomenclaturas, exemplo disso é a o BEM das classes do CSS, só de nome eu já pensava se era uma nova linguagem, mas não, é apenas um jeito de escrever classes, resumindo, me apavorei atoa kkkkk.
Bom como dev python a uns bons anos, diria pra você aprofundar no básico, estude estrutura de dados e algoritmos em python. Num primeiro momento não foque em Design Partterns e arquitetura.
Sempre recomendo o livro dos ratinhos pela sua simplicidade e também o exercism onde você pratica exercícios com python e tem alguém na comunidade pra ajudar a revisar seu código.
Também pensando em django mesmo estando um pouco antigo os vídeos do canal do Henrique Bastos são ótimos pra você esse cara é a referência em django no Brasil. Tem o canal do regis do python também é bom.
Seria até mais ousado, a principio nem esquente muito com POO em vim de java no começo usava muito POO no meu código python, hoje eu acredito que as vezes é melhor usar apenas quando o design pede isso. Então foque em entender como funciona o python e vá entendendo como o django funciona, foi um dos meus primeiros frameworks web depois dos de java e eu gosto muito dele, porém ele tem uma forma muito particular de trabalhar.
Espero ter ajudado.