Antes de iniciar os meus estudos em Python, foi necessário elaborar um bom planejamento de estudos, pois apesar de existirem muitos materiais sobre o assunto, em geral eles são bastante genéricos e não definem as etapas de forma bem delineadas (especialmente para quem tem “necessidades especiais”). Em geral, eles a tendem estabelecer enormes listas de tópicos para estudos, o que na minha opinião se torna monótono e cansativo com o passar do tempo. Por isto, elaborei o meu próprio planejamento que diferentemente dos demais, subdivide todo este processo em 5 grandes etapas, que por sua vez tem a finalidade de estabelecer os tópicos para estudos de forma agrupada. Tal como um curso, que é dividido em vários módulos (e que cada módulo possui as suas respectivas sessões)…
A primeira etapa é voltada para estabelecer o domínio de fundamentos da programação, com base na linguagem escolhida (Python). Basicamente, será necessário rever todos os conceitos relacionados a algoritmos & lógica de programação, que vão desde a exibição de mensagens no terminal (“Olá Mundo!”), passando a lidar com diferentes tipos de dados (inteiros, caracteres, pontos flutuantes, boleanos, listas, tuplas, dicionários e sets) e por fim, trabalhar com estruturas complexas, como é o caso do uso de laços condicionais e de repetição, além do uso de funções. Confesso que por já ter uma formação em análise de sistemas e já ter aprendido a desenvolver com BASIC, Pascal, C/C++ e Java, passei por esta etapa de forma tranquila e sem maiores percalços (nem me dei conta).
Já a segunda etapa, ela é voltada para compreender Python mais à fundo, pois cada linguagem de programação possui as suas características e particularidades: como trabalhar com as bibliotecas e frameworks, quais personalizações são necessárias para utilizar as principais IDEs, que diferentes maneiras podemos utilizar os recursos da própria linguagem, como criar os ambientes virtuais para os projetos, etc. A seguir, a terceira etapa é focada em Programação Orientada a Objetos (POO), também com ênfase nas suas diferenças e implementações, se comparado com outras. Neste momento estou meio “travado” nesta etapa, pois além de já estar desbravando este paradigma de programação há algum tempo, também venho descobrindo algumas coisas novas sobre o Python sobre este (e outros) tópicos.
Já a quarta etapa, será direcionada para compreender mais à fundo as bibliotecas & APIs, que tiram proveito de todo o potencial desta linguagem de programação. Como o meu maior interesse está intimamente relacionado às Redes Definidas por Software (SDN), pretendo me concentrar nos recursos utilizados para realizar a automação, orquestração e provisionamento, além dos conhecimentos necessários para obter a certificação Cisco DevNet. Por fim, a quinta e última etapa será direcionada para o desenvolvimento de aplicações e serviços, para a qual irei voltar as minhas atenções para os frameworks WEB (como o Django e o Flask), além das tecnologias relacionadas a aplicações WEB (HTML & CSS, banco de dados, etc).
Obviamente, não fico “preso” a apenas uma única etapa que no momento, tem sido desafiante para mim (pois Programação Orientada a Objetos já diz por si só) e de vez em quando, aproveito as oportunidades que surgem para visitar outros tópicos que fazem parte das demais etapas. Além de estar utilizando os cursos de Python disponíveis na plataforma Skills for All (Python Essentials 2), também venho consultando as documentações oficiais da página oficial do projeto (a qual inclusive, já se tornou a página inicial do meu navegador WEB), bem como as postagens publicadas regularmente por grupos especializados no LinkedIn. Até mesmo o ChatGPT se tornou importante, para tirar algumas dúvidas pessoais!
E até o momento, estou curtindo muito esta nova fase de “desenvolvedor”… &;-D