1

Síndrome do "Dev Lego": Me desafiei a programar sem dependências e o resultado foi um choque de realidade.

Fala, galera!

Trabalho com Python e JavaScript (Node.js) e sempre tive aquela sensação de que "consigo buildar qualquer coisa". Mas, lá no fundo, rolava uma pulga atrás da orelha: será que eu realmente entendo o que está acontecendo por baixo dos panos?

Para testar minha lógica, decidi começar um desafio de 30 dias: criar pequenos projetos simples, mas sem usar nenhuma biblioteca externa. Só lógica pura e código nativo.

O resultado do Dia 1? Um banho de água fria. >
Percebi que me tornei um completo refém do pip e do npm. Se hoje eu entrasse em um processo seletivo e o teste técnico proibisse dependências externas, eu provavelmente travaria ou levaria dias para entregar algo que uma lib faz em uma linha. Sei que hoje temos IA para nos dar suporte, mas depender 100% disso para a lógica básica me deu um estalo.

Mais alguém aqui já passou por essa crise existencial de perceber que só sabe "juntar peças" prontas? Como vocês fizeram para blindar a base de lógica de vocês e depender menos de pacotes terceiros?

OBS: eu nunca trabalhei como DEV, e quando digo que sou capaz de buildar tudo, não e vibecoding, sei fazer o café com leite, em APi com Flask, Express, Routes, CRUDzao basico, e tenho meu servidor em casa pra deploy. AMO TECNOLOGIA <3

Carregando publicação patrocinada...
5

Vou falar como o lado oposto: sempre fui o cara que queria fazer tudo do "zero".

Na época que eu mexia com gamedev, todo mundo nos fóruns queria usar snippets prontos. Eu era o cara que fazia os snippets para os outros e me recusava a usar código alheio. E foi assim também posteriormente em outras áreas. Talvez seja exatamente por isso que eu gosto de programar em C ou assembly, parece mais real.

Teve uma época, quando os Maias reinavam, que o pessoal só queria saber de copiar snippets do Stack Overflow. Eu me forcei a usar o SO por um bom tempo, mas cara... Sem querer ofender ninguém, mas nunca vi um código bom no SO. Todo código/solução que eu via lá, eu conseguia fazer melhor. Em poucos meses eu me decepcionei com o SO e parei de usar.

Foi exatamente assim que eu me "blindei" disso: praticando muito. É questão de costume, eu já estou habituado a criar algoritmos e não somente replicar o dos outros.

Se me permite uma sugestão: tente programar em C e estudar estrutura de dados e algoritmos. Creio que possa lhe ajudar neste sentido.

Implementa estruturas de dados do zero em C e tenta recriar programas simples. Essas coisas.

E não tenha medo de ler código fonte. Aproveita o open source e estuda o código dos outros. Dá para aprender muita coisa assim.

1

Obrigado pela Sujestão, e o Caminho que to querendo ir, Aprender C, Assembly, porque eu amei o ambiente Linux, suas ferramentas, e sua comunidade.

Foi exatamente assim que eu me "blindei" disso: praticando muito. É questão de costume, eu já estou habituado a criar algoritmos e não somente replicar o dos outros.

e esse e o problema real de hoje, Chatgpt, Claude da tudo pronto, Galera não quer mais pensar, porem eu vo no contrario, uso ela como uma professora, me dando notas no meu codigo.

Agora sim. Vou fazer uma revisão como se eu fosse um tech lead revisando um PR.

Nota geral
Critério Nota
Lógica 8,5
Organização 9,0
Orientação a Objetos 8,5
Legibilidade 8,5
Python 8,0
Tratamento de erros 5,0

Nota final: 8,3/10

Você está evoluindo. O que mudou em relação ao primeiro projeto não foi só o código, foi a forma como você está modelando o problema.

1

Boa! Se me permite sugerir, a Mente Binária tem material gratuito tanto sobre C quanto sobre assembly.

Só não confia muito nessas avaliações do ChatGPT, não é confiável. Entra no Discord da Mente Binária que você vai encontrar galera experiente para interagir, tirar dúvidas e avaliar seus códigos.

3

Cara, saber juntar as peças é importante mas o resultado é uma peça maior.
Quando o software fica montado o dev opta por partir para outro ou refinar aquele mesmo.
Cada ciclo de refinamento torna os gerenciadores de pacotes menos indispensáveis.

1

Concordo, mas tambéma acho que isso é uma evolução do Dev onde ele já não é mais exatamente dev, agora ele é Gerente entendeu? Isso é uma linha ténue, e eu conheço caras que não querem ser gerentes, eles querem ser Devs e muitas vezes já vi falarem mal dos caras, tipo o cara tem a mente fechada, mas se não fossem esses caras não existira o Unix e Linux hoje, caras focados no dev mesmo básico, a raiz. Precisamos dos Gerentes também, mas eles, dizendo exatamente o que é... estão em outros níveis de abstração. Podemos dizer que o que realmente separa um dev do outro é isso sua capacidade de abstração.

Podemos fazer uma analogia simples disso para ficar mais didático para quem é iniciante, imagine um dev com alta abstração que gosta de ser dev mesmo raiz ele é a raiz da arvore, produz, produz e a arvore vai crescendo, que tipo de arvore é ele decide lá de baixo, ele já tem ideia do que vai ser, vai ser uma taquara reta e alta, ou vai ser um arbusto tipo de cerca? Ou vai ser uma arvore enorme que dá frutos e muitas mudas? E ele continua lá produzindo, eu compararia esse cara ao Linus criador do Linux por exemplo, agora se voce esta construindo algo que precisa de poda, então precisa dos Jardineiros sacou? Esses são os caras que estão arrumando e podando lá em cima, eles reclamam e desdenham da raiz, que no fundo suporta todos eles, mas a grande verdade é que cada um esta no seu nivel de abstração, e as tarefas são diferentes, a arvore não fica organizada e bonita se não tiver bons Jardineiros, da mesma forma não cresce direito e arruina se não tiver uma boa raiz. Cada um fazendo sua parte.

1
1
1

Assino em baixo do que o Silva97 disse ai, eu mesmo só comecei certo porque por uma sorte do destino estava dormindo em uma fazenda com 14 anos e achei um livro enorme atirado jogado fora pelo filho do dono, "Algoritmos e Estruturas de Dados" (1985) – Claudio L. Lucchese" se não fosse esse livro acho que eu nunca teria iniciado certo.