Fuja do INFERNO dos Tutoriais de PROGRAMAÇÃO

Pare de buscar aprender programação com tutoriais.

Seguir tutoriais em vídeos, livros e blog posts sem realmente pensar em o que está fazendo, não vai te levar a lugar nenhum. Você termina seu quinto tutorial de mais de 1h de código e quando abre o VSCODE sozinho: nada acontece, você não consegue fazer nada. Isso é mais comum do que você imagina. Todos nós, programadores, já passamos por isso em algum momento.

Vou apresentar uma estratégia que vai ajudá-lo a aprender programação de forma mais eficiente e evitar essa frustração. Antes de começar, é importante destacar três pré-requisitos que você precisa atender.

esse post é a versão em texto do vídeo que postei no meu canal novo do youtube, minha proposta é falar sobre programação com vídeos dinâmicos, bem editados e com uma pegada Acelerada ⚡️ Conheça aqui canal

1- Conhecimento básico

Antes de aplicar a estratégia, é fundamental que você já esteja familiarizado com alguns conceitos de programação, como variáveis, loops, condicionais e funções. E recomendado ter também um conhecimento básico de HTML e CSS, principalmente se seu foco é o desenvolvimento front-end. Se você não domina esses conceitos, não se preocupe, o professor Guanabara do curso em vídeo pode te ensinar de forma gratuita, com uma excelente didática.

2 - Escolha uma área específica

É importante escolher uma área específica de desenvolvimento de software para focar, como desenvolvimento front-end, mobile ou back-end.

3 - Compromisso com a estratégia

Você deve se comprometer a não assistir tutoriais até concluir essa dinâmica. Nada de Udemy ou outros youtubers que apresentam projetos prontos para você apenas copiar o código, sem entender o que está fazendo.

Agora que você está preparado, vamos conhecer o framework Question Driven Development (Desenvolvimento Orientado por Perguntas).

O que é Question Driven Development?

Antes que seu coração acelere, não estou falando sobre React, Vue ou qualquer outro framework. O QDD é uma metodologia de desenvolvimento de software que se assemelha muito ao desenvolvimento na vida real. Ao utilizar essa abordagem, você define um objetivo final e o divide em uma série de perguntas menores que o ajudarão a alcançar esse objetivo.

Etapas do Question Driven Development:

  1. Faça uma pergunta a si mesmo com base no que você gostaria de fazer.
  2. Procure a resposta no Google, documentações, código-fonte, fóruns e comunidades.
  3. Implemente a solução com base no que você encontrou.
  4. Durante o processo, é provável que você encontre alguns erros. Pesquise soluções para esses erros à medida que eles surgirem.

Exemplo prático:

Vamos imaginar que nosso objetivo é criar um clone do Twitter. Podemos dividir esse objetivo em três etapas iniciais: criar um menu de opções semelhante ao do Twitter, um feed de tweets e uma seção de "trends tops" (tendências). Para cada etapa, você seguirá o processo do Question Driven Development.

  1. Como posso criar um menu de opções no estilo do Twitter?
  2. (pesquisar no google...)
  3. (implementar o código...)
  4. (refinar o código e correções de erros...)

Repita o processo para as outras duas perguntas restantes: "Como criar um feed de tweets no estilo do Twitter?" e "Como criar uma seção de tendências no estilo do Twitter?".

Dicas importantes:

Não tenha pressa em fazer tudo funcionar perfeitamente. Se você está aprendendo front-end, concentre-se em chegar o mais próximo possível do resultado final com os conhecimentos que possui no momento.

Se você está focando no desenvolvimento back-end, criar uma API REST com funcionalidades de cadastro, login e adicionar amigos pode ser uma alternativa melhor. Além disso, você poderá reutilizá-la em projetos futuros.

Vantagens do QDD

O que torna esse processo realmente interessante é que você está constantemente na prática. Tudo o que você aprende está relacionado à sua necessidade de realizar uma determinada tarefa. Você não perde tempo se preocupando com todos os recursos da linguagem ou do framework que está utilizando, apenas aprende o necessário para responder à próxima pergunta.

Conclusão

Abandonar a dependência de tutoriais e adotar o Question Driven Development pode revolucionar sua forma de aprender programação. Ao se basear em perguntas e soluções práticas, você desenvolverá um conhecimento mais sólido e terá a habilidade de enfrentar desafios reais de desenvolvimento de software.

Lembre-se de aplicar os pré-requisitos mencionados, escolher uma área específica de desenvolvimento e se comprometer com essa estratégia.

Desejo sucesso na sua jornada de aprendizado e desenvolvimento!

Eu não estava familiarizado com essa metodologia, mas tenho estudado dessa forma há bastante tempo.

Um problema comum dos tutoriais é que, na maioria das vezes, eles não abordam problemas específicos que você está enfrentando no momento. Quando finalmente chega um problema semelhante ao que foi ensinado no tutorial, você já conhece bem o seu projeto e consegue resolver a questão por conta própria.

No entanto, ainda tenho uma ressalva. Eu assisto tutoriais para aprender conceitos que normalmente não são encontrados em fóruns de resolução de problemas ou nas documentações.

O que mais extraio nos tutoriais são as experiências desses instrutores.

Me identifiquei muito com seu ralato. Faço o mesmo. Sem falar que são úteis quando precisamos aprender algo de forma rápida e objetiva. O principal ponto negativo é sobre copiar projetos em vídeos, isso acaba não gerando muito valor. obrigado pelo comentário 👊🏽
Uma coisa que eu costumo fazer para conhecer novas tecnologias é ver um tutorial e depois de fazer o projetinho "mastigado", tentar criar o meu com o que aprendi pra fixar (e ai uso muito do que você do QDD), porque é nesses casos que a gente acaba aprendendo pois não tem um caminho feliz a seguir, e sim uma necessidade "real" (mesmo que inventada pela gente) rs

Interessante, Só adicionando, a primeira coisa que faço é ler algum livro sobre o assunto e depois de alguns capitulos começo a escrever códigos para treinar e ver como funciona.

Boa estratégia! Colocar em prática sempre! 👊🏽