Vou ser pedante. Eu sei que todo mundo entende errado. Autodidata é aprender por conta própria. Sem nenhuma ajuda. Ser autodidata não é o mesmo que não fazer uma faculdade.

Poucas pessoas conseguem ser autodidatas, e em geral só em coisas simples. Em programação é bem complicado. Em geral quem tenta ser autodidata acaba aprendendo muito errado. Em programação acontece muito. Por sorte a maioria, na verdade, aprende de um jeito mais tradicional, com ou sem faculdade.

Então está dando a opção de aprender em um curso superior ou sem ele.

Na verdade, mesmo fazendo um curso superior, não vai aprender tudo o que precisa e parte será por outros meios. Tem que ser assim, e depois da faculdade passará a vida toda fazendo desta forma.

Um curso superior de boa qualidade, que não seja só um vendedor de diploma, tem mais chances de aprender certo e ter apoio importante e de qualidade, que não terá sem ele. Isso tem valor, mesmo que alguns não vejam.

Mesmo o aprendizado pseudo autodidata não é algo que todo mundo consegue fazer bem, e estraga sua carreira por causa disso. Em geral, as pessoas que mais conseguem abrir mão de um curso superior são as que não abrem, e vice-versa. Sabe o meme que o Bill Gates e o Zuckerberg largaram a faculdade, mas se você largar sua vida será um caos? É isso mesmo.

Eu não sei o que é melhor para cada pessoa, mas sei que uma quantidade brutal de pessoas não está no caminho certo, a gente vê o tempo todo.

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).

Concordo com tudo que foi dito, exceto por esse trecho:

Poucas pessoas conseguem ser autodidatas, e em geral só em coisas simples. Em programação é bem complicado. Em geral quem tenta ser autodidata acaba aprendendo muito errado.

Abordando por partes:

"Poucas pessoas conseguem ser autodidatas [...] Em geral quem tenta ser autodidata acaba aprendendo muito errado."

Não é por falta de capacidade que as pessoas não conseguem, é que a maioria simplesmente estuda errado por causa da maneira como as escolas funcionam no Brasil. Infelizmente a escola no Brasil adestra as pessoas à estudarem de maneira errada. E tentando ou não ser autodidata essa pessoa vai ter seu aprendizado prejudicado. Já vi muito formado em C.C. e/ou com mestrado falando abobrinha sobre computação porque aprendeu errado e tem arrogância demais para admitir o erro e continuar estudando.

Então não tem nada a ver com a pessoa tentar ser autodidata, é simplesmente uma inaptidão para os estudos que vai ser aflorar dentro ou fora da faculdade. Tentando ou não ser autodidata.

"[...]e em geral só em coisas simples. Em programação é bem complicado."

Eu vejo exatamente o contrário: quanto mais complexo o assunto mais necessário é o autodidatismo, e ele é totalmente dispensável para estudar coisas simples. Dá para aprender coisas mais básicas e fundamentais ("simples") com cursos e faculdades, mas assuntos complexos não são nem sequer mencionados. Por exemplo você já viu alguma faculdade falando sobre: desenvolvimento de exploits, exploração de binários, desenvolvimento de kernel etc.???

Obs.: algumas faculdades ainda ensinam algo muito superficial sobre compiladores e sistemas operacionais, mas nada de avançado sobre o assunto.

Isso só citando alguns tópicos de exemplo mas a lista é longa (e todos os mencionados são MUITO mais complicados do que programação :smile:). Faculdade/curso não serve para aprender tópicos avançados, estes só podem ser aprendidos por autodidatas.

Por exemplo o Rodrigo Rubira já trabalhou na Intel garantindo a segurança dos processadores. Em qual faculdade ou curso alguém poderia aprender isso? Menciona um curso/faculdade aí que ensine sobre segurança em um hardware complexo como um processador. Pois é, não existe. Porque tópicos complexos podem ser aprendidos com autodidatismo.

Outro exemplo: conheço uma pessoa que trabalha na Blitz e o trabalho dela é fazer engenharia reversa nos jogos, nos softwares de anticheat (que são muito complexos de fazer RE, obviamente) e escrever o código das ferramentas usadas pela empresa. Qual faculdade ou curso ensina isso? Ele aprendeu isso como um autodidata desenvolvendo cheats para jogos.


TL;DR

Não faz sentido nenhum essa visão de que autodidatismo só serve, em geral, para coisas simples. Muito pelo contrário. É quando a coisa é complexa mesmo que ou você é autodidata ou você não aprende. Coisa simples você aprende com cursinho da Udemy.

Quando precisa de um exemplo anedótico comprova o que eu falei.
Lembra que eu respondi por partes? Onde menciona o exemplo anedótico **não** é sobre o "poucas pessoas". Sim, são poucas pessoas. Nessa parte eu só discordei do **motivo** para ser poucas pessoas. A segunda parte onde menciona o exemplo anedótico é sobre as pessoas geralmente serem autodidatas em "coisas simples". E como eu falei é exatamente o contrário: quanto mais complexo o assunto maior o número de autodidatas que estudam aquilo. E mencionei exemplos de áreas que **só** tem autodidatas (100%) porque é impossível aprender de outra forma. O que comprova que não é coerente com a realidade a impressão inicial sobre autodidatas estudarem "coisas simples".