Executando verificação de segurança...
Em resposta a [Dúvida] - big O
3

Big O é fundamento, não é algo avançado como alguns acham. É simples, fácil e aprende rápido. Se a pessoa não der conta disso, ela terá sérios problemas na área, não por isso, mas já mostra que ela não consegue priorizar e aprender outras coisas. Não tem porque deixar de lado. O erro "aceitável" é a pessoa nunca ter ouvido falar.

Eu conto uma anedota sobre quando fui palestrar há 5 anos em um evento e ao final em mesa de bar o coordenador falou pra mim "em 15 anos trabalhando na área nunca usei essa tal de complexidade de algoritmo que você falou na palestra", desdenhando como se isso não fosse importante, e eu respondi "em 35 na área eu nunca deixei de usar um dia sequer". Claro que só depois que aprendi. Claro que isso ficou tão intuitivo que eu mal penso, é automático, a não ser em algum caso excepcional.

Em alguns casos faz diferença brutal. Por isso eu coleciono histórias sobre como fiz sistemas ficaram centenas ou milhares de vezes mais rápido, como uma mudança muito pequena. Sou gênio? Não, só fiz o arroz com feijão, que muita gente não sabe e faz errado.

Hoje é mais fácil errar, porque o computador está tão rápido que em vez de fazer em uma fração de segundo leva alguns segundos e a pessoa está bem com isso. Ou em vez de levar segundo leva 1 hora e a pessoa diz que não tem como fazer melhor que isso, e acaba sendo "aceitável".

Obviamente que se o júnior falha nisso, o sênior de verdade perto dele, se existir, vai corrigir (dizem que aquele cara da anedota  acima era sênior). Mas é melhor se ele não errar. E é assim que logo ele será pleno, porque não tem um marco que determina isso, ele vai construindo o conhecimento e ganhando experiência para aproveitar melhor o que aprende.

Se está na sua frente, por que não aprende logo?

Não precisa dominar academicamente, eu não sei nesse nível, mas ninguém precisa saber tanto assim na maioria dos casos, é para ser engenheiro, não para ser cientista.

Mesmo que esteja fazendo algo que seja um "tanto faz", faz certo, treine o certo, não o erro. Até porque quem estuda isso sabe que para volumes de dados pequenos importa pouco, e até o que a matemática mostra pode não ser a realidade por ter variáveis demais que afetam o resultado final (a matemática pode mostrar certo, mas é tão complicado que quase ninguém faz, engenheiros nunca fazem, até por ser irrelevante nesses casos).

No mínimo você terá um diferencial. Não quero nem responder isso, mas se pergunte, por que vai deixar de aprender algo que pode ser útil, que pode mostrar que sabe mais que os outros? De mostrar que tem atitude e vai atrás de conhecimento, independente dele ser mais ou menos útil.

O tempo que gastou pensando e perguntando sobre isso já podia ter aprendido boa parte do que precisa.

Um onte de gente entrando na fila para aprender a última ferramenta e 1 pessoa para aprender algoritmos

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...
1

em 15 anos trabalhando na área nunca usei essa tal de complexidade de algoritmo que você falou na palestra"

Sempre tem um que solta uma perola dessa. Incrível.