Obrigado pela postagem, ela é importante.
Eu observo que as pessoas não usam a documentação corretamente. Gosto muito disto (por isso eu o criei :D):
Quando você não lê a documentação com toda atenção, ou não a interpreta corretamente acaba criando isso.
Muitas pessoas contentam só com o funcionamento. Vemos isso o tempo todo.
Tem que ler tudo. Não tem jeito. Não tem atalho. Tem que ler mais que tudo. Tem que procurar mais informações, porque a documentação não tem todos os detalhes. O Stack Overflow foi uma mão na roda sobre isso (pelo menos pelas postagens do passado, hoje isso não é tão verdade, ele acabou se transformando em um mural de help desk e não tem mais o diferencial que tinha antes e o tornou famoso).
Tem que entender que os exemplos da documentação servem só para mostrar o mecanismo e não são receitas de bolo para copiar e usar em seu código. Precisa saber que nem todo material é bom, e especialmente as documentações produzidas em modo wiki costumam ter erros.
A documentação não pode ser usada sozinha, ou substituta de entender bem todos os fundamentos. Usá-la é um hábito saudável para quem sabe programar. Ela não opera milagres para quem não sabe.
Existe um problema enorme para as pessoas conseguirem saber o que precisa ser visto previamente e só o que pode ser visto só no momento do uso. Em geral a pessoa não tem experiência para decidir isso. Vale para todo mundo, mesmo eu tendo 40 anos fazendo isso em coisas novas eu erro. Por isso preciso estar atento para errar menos. Achar que eu sei é onde eu erro mais.
Achei curioso o exemplo do Kaio. Ele tem razão. Pena que não pode ser transposto para a programação. Você não precisa ser um engenheiro automobilístico para usar um carro (entender do hardware), mas precisa entender muito de carro se você for um piloto profissional.
Você está falando de programação para fazer um bot para o discord, um script bobinho porque o Excel não deu conta ou fazer uma graça em uma página HTML? Se for isso, ok, não tenho dicas para você. Mas se você quer ser um profissional desenvolvedor de software, eu sei que quer ser um piloto automobilístico, não um motorista, especialmente um domingueiro.
Você precisa saber como funciona. E aí vem o que não está na documentação. Se você não sabe isso ainda pode entregar um resultado, mas ele não será bom. E é por isso que tem cada vez mais pessoas com dificuldades para achar vagas (que sobram por aí, sobram muito) e não conseguem salários ótimos como prometem em todo canto. A documentação é só a ponta do iceberg. E novamente, saber a hora de ver cada parte é algo que terá que desenvolver, precisa de prática, de tentativa e erro. Só sei que aprender algo nunca é demais. Desperdiçar o tempo é outra questão.
Eu prefiro pecar pelo excesso do que pela falta. Sempre deu certo para mim. Achar que está aprendendo em excesso pode ser a desculpa perfeita para ser desleixado. Mais uma vez, a dose é você que terá que achar, e se acertar ou errar, você que colherá o lucro ou prejuízo.
A maioria das pessoas pecam pela falta. É isso que precisa ser reforçado.
Nem sempre precisa fazer da melhor forma possível, mas nunca pode fazer inferior ao básico necessário. E para saber qual é o básico necessário precisa estudar muito, inclusive a documentação. Por isso boa parte, talvez a maioria, dos sites que as pessoas desenvolvem algo sofrem de SQL Injection, que é um dos básicos necessários. Só para citar um exemplo. Poderia falar do inúmeros que não escalam e precisam de soluções mirabolantes, porque não leram a documentação da computação.
Sem isso vira terraplanismo.
Obrigado pela oportunidade de debate.
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).