Executando verificação de segurança...
5

Indague as abstrações pequeno gafanhoto

INDAGUE AS ABSTRAÇÕES

Gostaria de começar este post primeiro explicando o que é a "abstração" que eu estou abordando aqui: "Tudo que não sabemos como funciona por baixo dos panos pode ser considerado uma abstração" (POO).

Agora sim vamos direto ao ponto:

Venho notando algo nesses últimos tempos, no grau atual da programação temos muitas abstrações, ou seja, bibliotecas, frameworks, e etc. Temos muitas vantagens com isso, porém vem gerando um problema seríssimo no mercado, principalmente para quem está começando agora na programação, que é a falta de base e de fundamentos. Aqui vai um exemplo bobo, é muito fácil você estar precisando fazer um DE PARA de um objeto e usar um AutoMapper para isso, então, e se eu te questionar sobre? você sabe como funciona? Você sabe a lógica que está sendo usada para tal? Sabe a eficácia? Se você sabe meus parabéns, agora se não e você já TEM algum tempo na área, é justamente esse o problema que eu quero abordar.

Muitos coaches e vendedores de curso conseguem fazer o iniciante em programação cair na promessa de que em poucos meses você pode sair programando qualquer coisa por aí ganhando mais de 5k por mês, e isso não chega nem perto da verdade, eu estou no mundo da programação desde 2018 e eu te garanto que não funciona assim. Eu digo isso porque fui um desses que caiu nas graças das libs e frameworks e nunca busquei saber como funciona por baixo dos panos realmente, dá pra citar exemplos como: alocação de memória, funcionamento de uma garbage collector, processamento de informações do computador, hospedagem de API em um servidor, comunicação entre cliente e servidor, tipos de protocolos, e principalmente lógica de programação.

Nos últimos tempos eu venho estudando todos os dias, principalmente conceitos e fundamentos, justamente para não me sentir preso e estagnado, pois você tendo o conceito de como as coisas funcionam e uma base sólida, você não fica preso a uma tecnologia, a um framework, a uma lib. Você consegue aplicar o seus conhecimentos em qualquer lugar e onde quiser.

Não estou querendo dizer que você deve saber de tudo e se tornar onisciente e todo poderoso tipo um The One Above All da programação, essa piada é para poucos, mas eu quero dizer que seria interessante você pelo menos ter ciência da existência e saber algo mínimo sobre o que você usa, isso agregará bastante aos seus conhecimentos do funcionamento de sistemas e influenciará principalmente nas suas próximas linhas de código.

Mas o que eu quero dizer com tudo isso? Eu gostaria de te convidar a aderir um hábito, indague a abstração! Ache o porquê dos por quês, procure saber o motivo das coisas, e se não tiver a quem perguntar, PROCURE! Temos Reddit, Google, Stackoverflow, fóruns do Github, livros, e muitos outros, o que não falta é lugar para obter conhecimento.

Agora eu quero saber a sua opinião, fique a vontade pra deixar seu pensamento.

Carregando publicação patrocinada...
4

Legal o post. inclusive bate com minha experiência pessoal. Sou novo na área, fazendo um curso merda, mas venho aorendendo muito por fora.

Recentemente resolvi aprender Django, pq tenho um bom domínio de Python e posso rodar e codar no celular quando não estiver na frente do PC. Minha base está sendo a documentação e um livro chamado Django By Example.

Já escrevi uma coisinha ou outra em Flask, mas o nível de abstração q encontrei no Django é absurdo. Chega ao ponto de eu não saber por onde começar quando me deparo com um erro. O framework faz praticamente tudo.

Eu gosto de saber como as coisas funcionam, então resolvi dar alguns passos para trás e tentar fazer minhas idéias funcionarem sem framework. Imagino q essas características sejam ótimas em ambiente de produção, onde obviamente é preciso ser produtivo. Mas na visão de alguém tentando aprender, eu acho muito ruim, primeiro pela dificuldade em compreender como tudo funciona, e segundo pq ao meu ver, uma vez aprendido, caso não me esforce, serei refém da ferramenta.