• OneBitNews
  • Posts
  • Como aprender Programação: Meu método passo a passo 🧠

Como aprender Programação: Meu método passo a passo 🧠

OneBitNews #3

E aí Programador(a), tudo bem?
Léo Scorza da OneBitCode aqui.


Você sente dificuldades em aprender Programação?


No começo eu tive muitas dificuldades, "bati cabeça", escolhi alguns caminhos errados, mas mantive minha mente no lugar certo e consegui.


12 anos depois, eu guio e acompanho o processo de aprendizado de muita gente na programação, com essa experiência, eu consigo ver com muita clareza como o processo de aprendizado funciona.


Neste artigo eu vou te mostrar como eu aprenderia Programação do zero hoje com a clareza que tenho.

Alguns pontos que vamos ver:

  • Como o aprendizado funciona no seu cérebro

  • Como organizar o seu ambiente

  • Como criar uma rotina de estudos

  • Como escolher seu material de estudos

  • Como aprender mais rápido usando o método DISSS

Bora começar?

1. A mentalidade 🤺

"A realidade é um produto da nossa imaginação. Se você pode sonhar algo, pode torná-lo realidade."

Ao iniciar a jornada de aprendizado em programação, é importante considerar vários aspectos que vão além do mero entendimento técnico.

Esses aspectos incluem a clareza dos benefícios, a responsabilidade pessoal, a mudança na autoimagem e o alinhamento das expectativas.

Vamos explorar cada um deles:

  1. Tenha clareza dos Benefícios:

    Entender como a programação pode ser benéfica na sua vida é crucial. Pode ser um caminho para uma nova carreira, um hobby gratificante ou uma ferramenta para resolver problemas cotidianos. Ter clareza sobre o "porquê" fornece motivação e direção.

  2. Tenha autorresponsabilidade:

    Pergunte-se o que acontece se você não se dedicar ao aprendizado. A falta de ação pode significar perder oportunidades de crescimento pessoal e profissional. A responsabilidade pelo seu aprendizado está em suas mãos.

  3. Alinhamento das Expectativas:

    Entender que aprender programação é um processo que leva tempo ajuda a evitar frustrações. Não é algo que acontece da noite para o dia, mas com dedicação, é totalmente alcançável.

    Reconheça que haverá desafios e que cada pequeno passo é um progresso. A humildade permite que você esteja aberto ao aprendizado contínuo.

  4. Mude sua Autoimagem:

    Estudos científicos indicam que a forma como você se vê afeta sua capacidade de aprender. Ao começar, é útil já se ver como um programador em formação. Essa mudança de identidade pode aumentar a confiança e a persistência.

  5. Criar um Sistema de Vitórias Precoces:

    Pequenas vitórias vão te manter motivado(a), por tanto:

    → Estabeleça metas iniciais pequenas e gerenciáveis. Isso pode incluir completar um tutorial simples, escrever um pequeno programa ou entender um conceito básico.

    → Comemore essas pequenas vitórias. Elas servem como incentivo e reforçam a ideia de que você está progredindo.

Esses são alguns pontos que podem te manter com a “mentalidade certa” para conseguir iniciar e se manter estudando.


Inclusive, a maior diferença entre quem consegue e quem não consegue aprender Programação é a “mentalidade”, ou seja, o conjunto de atitudes e crenças que moldam a forma como ela pensa, sente e age durante o aprendizado.

2. Preparando seu cérebro 🧠

Como o processo de aprendizado acontece no cérebro, é importante que a gente comece entendendo como é o mecanismo usado pelo cérebro para aprender e quais ações podemos tomar para potencializar esse aprendizado.

Neuroplasticidade e Aprendizado

Neuroplasticidade é a capacidade do cérebro de se adaptar e mudar ao longo da vida. Assim como uma cidade muda e se desenvolve, com novas estradas sendo construídas, velhas sendo reparadas ou desativadas, e o tráfego sendo redirecionado, o cérebro também se adapta. As "estradas" no cérebro são as conexões neuronais que transportam pensamentos, informações e memórias.

Quando aprendemos algo novo (como conceitos da programação) ou praticamos algo, é como se estivéssemos construindo novas estradas ou fortalecendo as já existentes. Por outro lado, quando deixamos de usar certas habilidades ou informações, é como se algumas dessas estradas ficassem menos transitadas ou até mesmo fechadas, uma vez que o cérebro redireciona seus recursos para áreas mais usadas.

Essa capacidade de mudança e adaptação, como acontece em uma cidade em evolução, permite que o cérebro se recupere de lesões, desenvolva novas habilidades, e se adapte a novos ambientes e experiências ao longo da vida.

Saúde Mental e Física

Aprender, superficialmente, pode parecer um processo separado dos outros hábitos e da sua saúde em geral, mas com certeza não é.

Os alimentos que você consome, o fato de consumir álcool ou não, o quanto e como você tem dormido (memórias de longo prazo se consolidam no sono), se você está ou não bem hidratado, se você tem déficit de alguma vitamina, tudo isso pode contribuir com o fato de você conseguir aprender mais rapidamente ou não.

Por isso, eu acho importante você levar em conta esses outros fatores também.

Um caso pessoal: eu sempre gostei muito de vinho e boas cervejas, então durante muitos anos eu mantive o hábito de tomar bebidas alcoólicas (que mantêm alguns dos seus efeitos mesmo que você fique dias sem beber).

Recentemente eu decidi beber só em ocasiões muito especiais (se é que eu vou beber), alguns dias depois dessa mudança eu comecei a perceber que meu sono, minha pele, minha capacidade de articular as palavras, minha vontade de estudar e minha inteligência tinham melhorado muito.

É impressionante ver que alguns hábitos podem puxar a nossa vida inteira para trás, então te convido a reavaliar como você tem tratado seu corpo e qual o impacto que isso tem no seu aprendizado.

A Atenção e o Sentimento de Alerta

Não existe aprendizado sem atenção, então eu deixo a sugestão, que eu pratico, de uma técnica para fortalecer a sua atenção.

Eu faço quase todos os dias uma meditação focada chamada Tratak, ela tem o poder de te dar uma atenção incrivelmente alta durante o dia.

Nela nós observamos um objeto fixo por alguns minutos, um exemplo:

1 - Vá para um ambiente silencioso e sem interrupção

2 - Abra a imagem abaixo no seu smartphone

3 - Tire as notificações

4 - Observe o ponto no centro dela por 5 minutos

Sua atenção vai se desviar sozinha, traga ela gentilmente ao ponto sempre que perceber que isso acontecer.

Ao praticar continuamente você vai perceber que a sua atenção e calma vão aumentar exponencialmente, para mim, é literalmente um sentimento de mais inteligência e auto controle.

Recomendo que você teste.

TDAH e Aprendizado

Antes de continuarmos, é importante dizer que existem condições específicas que atrapalham no aprendizado se não forem bem gerenciadas, como o TDAH.

O TDAH é uma condição caracterizada por um padrão persistente de desatenção, hiperatividade e impulsividade.

Alguns padrões de quem tem TDAH:

  • Dificuldade em manter o foco em tarefas

  • Movimentar-se excessivamente em situações em que é inadequado

  • Falar sem pensar, ter dificuldade em esperar a vez

Para ser diagnosticado com TDAH, esses comportamentos devem ser inapropriados para o nível de desenvolvimento da pessoa e causar prejuízo significativo no funcionamento social, acadêmico ou ocupacional.

Então, se você tem uma condição como TDAH ou se suspeita que tem, vale a pena buscar um profissional para te ajudar a controlar essa condição, além, é claro, de fazer sua parte, tendo bons hábitos e fazendo exercícios de atenção como o Tratak.

Porém, deixo um adendo, muita gente acha que tem TDAH, mas só está com a capacidade de atenção debilitada por ficar scrollando as redes sociais, jogando o dia todo e se alimentando mal.

3. Preparando seu ambiente 🖥️

Criar um ambiente eficaz para o estudo de programação é essencial para maximizar a aprendizagem e manter a produtividade. Aqui estão alguns elementos chave para um bom ambiente de estudos de programação:

  1. Espaço de Trabalho Ergonômico:

    Cadeira e Mesa Confortáveis: Escolha uma cadeira que ofereça suporte adequado para a coluna e uma mesa na altura certa para evitar tensão no pescoço e nos ombros.

    Posicionamento do Monitor: O topo da tela deve estar no nível dos olhos para evitar tensão no pescoço.

    Teclado e Mouse Ergonômicos: Esses dispositivos devem ser confortáveis para uso prolongado.

  2. Ambiente Tranquilo e Sem Distrações:

    Isolamento de Ruídos: Um local silencioso ou o uso de fones de ouvido com cancelamento de ruído podem ajudar a manter o foco.

    Organização e Limpeza: Mantenha a área de trabalho organizada para reduzir o estresse e melhorar a concentração.

  3. Equipamento Adequado:

    Computador com Boa Capacidade de Processamento: Dependendo do tipo de programação, pode ser necessário um computador com boa capacidade de CPU e memória.

    Conexão Estável à Internet: Essencial para pesquisas, downloads de ferramentas de programação e acesso a recursos online.

  4. Iluminação Adequada:

    Luz Natural: Se possível, posicione a mesa perto de uma janela para aproveitar a luz natural.

    Iluminação Artificial Apropriada: Luzes que não produzam reflexo na tela e que sejam fáceis para os olhos.

  5. Clima Agradável:

    Controle de Temperatura: Um ambiente nem muito frio nem muito quente é ideal para o conforto.

É claro que nem sempre é possível chegar a 100% disso, e você não deve deixar de estudar por isso, mas progressivamente tente moldar seu ambiente para chegar em algo assim.

4. Escolhendo seu material de estudos 🔫

“Se eu tivesse somente 8 horas para cortar uma árvore, gastaria 6 afiando o machado.”

Abraham Lincoln

Sobre a frase acima, o machado é o conjunto da sua mente + o seu material de estudos e a árvore é a tarefa de aprender programação.

Então vamos falar um pouco mais sobre os materiais de estudo.


Escolhendo suas tecnologias iniciais

Escolher as tecnologias para aprender em programação é uma decisão importante que pode influenciar a sua trajetória como programador(a). Aqui estão algumas diretrizes que podem ajudar nesse processo de decisão:

  1. Explorar e Testar Diversas Tecnologias:

    Experimentação: Comece testando diferentes linguagens de programação e tecnologias para ter um senso de suas preferências e aptidões. Isso pode envolver criar pequenos projetos, seguir tutoriais online, ou usar plataformas de aprendizado interativo.

    Autoavaliação: Preste atenção em como você se sente ao aprender cada tecnologia. Você se sente animado? Desafiado de maneira positiva? Ou talvez frustrado e desinteressado? Sua reação pessoal pode ser um bom indicador de quais tecnologias podem ser mais adequadas para você.

  2. Definir Objetivos de Carreira:

    Área de Interesse: Considere qual tipo de trabalho em programação você acha mais atraente - desenvolvimento web, mobile, jogos, ciência de dados, inteligência artificial, etc. Cada área tem um conjunto específico de tecnologias e linguagens associadas.

    Pesquisa de Mercado: Investigue quais linguagens e tecnologias são mais demandadas nas áreas que você tem interesse. Isso pode incluir olhar para descrições de emprego, pesquisar tendências de mercado, e participar de fóruns ou grupos de discussão.

  3. Avaliar a Demanda de Mercado:

    Oportunidades de Emprego: Algumas tecnologias podem ter mais oportunidades de emprego disponíveis devido à sua popularidade ou à escassez de profissionais qualificados.

    Tendências de Longo Prazo: Considere não apenas a demanda atual, mas também as tendências futuras. Algumas linguagens ou tecnologias podem estar em ascensão, enquanto outras podem estar se tornando obsoletas.

  4. Considerar Fatores de Aprendizado e Recursos Disponíveis:

    Curva de Aprendizado: Algumas tecnologias são mais amigáveis para iniciantes, enquanto outras podem ter uma curva de aprendizado mais íngreme.

    Comunidade e Suporte: Uma tecnologia com uma comunidade ativa e recursos de aprendizado abundantes (como documentação, tutoriais, e fóruns) pode facilitar muito o processo de aprendizado.

  5. Conselhos de Profissionais Experientes:

    Mentoria e Networking: Converse com pessoas que já estão na área para obter insights sobre quais tecnologias são valiosas e por quê.

    Eventos da Indústria: Participar de conferências, webinars, e meetups pode oferecer uma visão mais ampla das tecnologias utilizadas e das tendências do mercado.

  6. Flexibilidade e Adaptabilidade:

    Aprendizado Contínuo: O campo da tecnologia está em constante evolução, então estar disposto a aprender e se adaptar a novas tecnologias é crucial.

    Base Sólida: Construir uma base sólida em conceitos fundamentais de programação pode tornar mais fácil a transição para diferentes linguagens e tecnologias no futuro.

Atualmente na OneBitCode, ensinamos dois conjuntos de tecnologia:

1 - Fullstack Javascript focado na programação web com NodeJs e React como base.
2 - Python para automação, web (Django) e análise de dados.

São boas sugestões para você começar testando.


Tenha um Projeto Guia

Não existe aprendizado verdadeiro sem a prática, por isso, eu recomendo que você sempre tenha um projeto pessoal em desenvolvimento.

Por exemplo, você começa um dos nossos treinamentos como o Fullstack, nele você vai ter muitos exercícios e projetos realistas, mas ainda assim é importante que você crie um projeto em paralelo.

Esse projeto pode ser baseado nas coisas que você gosta e nos problemas que quer resolver, vamos imaginar que você gosta de ciências e sente falta de um site que explique fatos científicos de forma ilustrada, você pode criar esse projeto progressivamente, começando com algo simples como uma landing page e depois ir evoluindo ele para um web app que permita que outros apaixonados por ciência subam suas explicações cientificas ilustradas e troquem conhecimento por lá.

Claro, para criar esse projeto, você vai aplicando o que está aprendendo no Fullstack aos poucos, quanto mais aprender, mais seu projeto evolui, então fazer o treinamento se torna ainda mais interessante, porque ele é uma forma de você evoluir seu projeto também.

No final do processo você sai com um super conhecimento, um projeto original para colocar no seu portfólio e a sensação de que é um(a) programador(a) de “verdade", então se você tiver que absorver só uma coisa desse artigo, que seja “tenha um projeto guia”.

Você pode aprender programação sozinho(a), mas não é o mais eficiente…

Hoje nós temos uma abundância de conteúdos, sobre tudo na internet, inclusive, sobre programação. Temos as documentações, artigos, vídeos do youtube e etc.

É possível dominar a programação através deles, mas não é o mais eficiente, porque quem está aprendendo, dificilmente vai conseguir filtrar e organizar bem o que deve ser aprendido.

É justamente aí que a OneBitCode entra, nossa proposta é te entregar o conhecimento filtrado, organizado, com alta qualidade e com as melhores experiências de aprendizado para que você alcance seus objetivos na programação de forma eficiente.

Além disso, te entregamos mentorias e uma comunidade altamente engajada para que você mantenha sua motivação nos estudos e faça networking.

Então te deixo o convite para conhecer:

Dá uma olhadinha e depois volta aqui para continuarmos.

5. As técnicas de aprendizado 🥷

O sucesso na programação começa com a criação de um hábito de estudo sólido e eficaz. Assim como um atleta treina regularmente para aprimorar suas habilidades, um(a) programador(a) também precisa cultivar uma rotina de estudo consistente.

Vamos falar sobre algumas práticas importantes na sua rotina de estudos:

  1. Defina um tempo mínimo de estudos por dia:

    Para que você se mantenha no caminho, independentemente da energia que estiver no dia, é legal ter um tempo mínimo de estudos, por exemplo 30 minutos.

    É normal que depois desses 30 minutos você sinta vontade de estudar mais e siga por mais algum tempo, então defina seu tempo mínimo e não abra mão dele.

  2. Pratique com Repetição:

    Repita exercícios de codificação e revise conceitos frequentemente. A repetição é fundamental para internalizar o aprendizado e ganhar fluência.

  3. Incorpore Pausas Estratégicas:

    Use técnicas como a Pomodoro, alternando períodos de estudo focado com breves pausas. Isso facilita a absorção do conhecimento e previne a fadiga mental.

  4. Aprenda com Erros:

    Veja os erros como oportunidades valiosas de aprendizado. Eles são fundamentais para entender como o código funciona e para aprimorar a habilidade de solucionar problemas.

  5. Ensine Outros:

    Tente explicar conceitos de programação para alguém. Ensinar é uma forma poderosa de reforçar seu próprio entendimento e identificar áreas que precisam de mais estudo.

  6. Use Exemplos e Histórias para fixar os conhecimentos:

    Relacione o que está aprendendo na programação a pequenas histórias com contexto pessoal para fixar melhor.

    Um exemplo para quem gosta de videogames: Imagine um personagem de videogame em uma encruzilhada:
    - se tem uma chave (if), ele abre um tesouro;
    - sem a chave (else), ele segue outro caminho.
    Isso ilustra o conceito de "if/else" em programação, onde diferentes ações ocorrem com base em condições.

  7. Feedback e Autoavaliação:

    Procure feedback de outros e pratique a autoavaliação. Isso ajuda a monitorar o progresso, entender melhorias e ajustar estratégias de aprendizado.

É legal você levar em conta todos esses conceitos para ter uma rotina de estudos poderosa.

6. Acelerando o aprendizado (Método DISSS) ⌛️

Eu trouxe algumas ideias adicionais do Tim Ferriss, que é conhecido por aprender coisas bem diferentes rapidamente (como tango, japonês, kickboxing e etc) para te ajudar a pensar “fora da caixa” sobre o aprendizado:

Lei de Pareto

As vezes para ir mais rápido, você precisa fazer uma seleção mais profunda do que realmente precisa ser aprendido.

A Lei de Pareto, ou Princípio 80/20, originada pelo economista italiano Vilfredo Pareto, indica que:

80% dos resultados vêm de 20% das causas.

No aprendizado de programação, isso significa que focar em conceitos fundamentais como lógica, estruturas de dados e algoritmos pode levar a um progresso significativo. Esses elementos-chave são aplicáveis em várias linguagens e projetos, proporcionando uma base sólida para o desenvolvimento de habilidades de programação.

Então sempre que for estudar (ou trabalhar), se pergunte:

Quais os 20% mais importantes trazem 80% dos resultados?

Vilfredo Pareto

Desconstruindo e Aplicando o Método DISSS

O método DISSS é uma técnica de aprendizado rápido que pode ser aplicada à programação. Este método é um acrônimo que representa Deconstruction, Selection, Sequencing, Stakes. Aqui está como um programador pode aplicar cada etapa para aprender programação de forma mais eficiente:

  1. Deconstruction (Desconstrução): A programação é um campo vasto, então o primeiro passo é quebrar o aprendizado em partes menores e mais gerenciáveis. Isso pode envolver a identificação dos principais conceitos e estruturas da linguagem de programação escolhida, como variáveis, loops, funções, arrays e objetos.

  2. Selection (Seleção): Esta etapa envolve a escolha dos 20% dos conceitos que produzirão 80% dos resultados desejados (Princípio de Pareto). Para a programação, isso significa identificar quais conceitos são mais frequentemente usados e focar neles. Por exemplo, se o objetivo é desenvolver aplicativos web, o foco pode estar em aprender HTML, CSS, JavaScript e um framework como React ou Angular.

  3. Sequencing (Sequenciamento): Aqui, o programador deve determinar a ordem mais eficaz para aprender os conceitos selecionados. Isso é crucial na programação, pois alguns conceitos dependem do entendimento de outros. Por exemplo, é importante entender variáveis e controle de fluxo antes de avançar para loops e funções.

  4. Stakes (Apostas): Esta etapa envolve a criação de incentivos para garantir a adesão ao processo de aprendizagem. Pode ser algo simples como recompensas pessoais por atingir metas ou a criação de um compromisso público de aprendizado, como um blog onde o progresso é compartilhado.

Ao aplicar o método DISSS, um programador pode aprender programação de forma mais estruturada e eficaz, garantindo que o tempo dedicado ao aprendizado seja o mais produtivo possível.

Conclusão 🤘

Muita coisa né? Eu sei 😅 
O aprendizado é assim mesmo, multifatorial, complexo e apaixonante.


Eu usei a programação como exemplo, mas esses princípios abordados servem para aprender qualquer coisa.

Espero que você consiga absorver alguns destes pontos e ter mais desempenho no aprendizado da programação.


Recapitulando o mais importante:

  • Tenha uma rotina de estudos diária (mínimo 30 minutos), ela vai te manter na linha

  • Tenha um projeto guia, ele vai te manter motivado

  • Escolha bons materiais de estudo, eles vão determinar sua velocidade de progresso


Se fez sentido para você, me responda esse email para eu saber e continuar trazendo conteúdo de qualidade para você.

Bons estudos e Feliz natal Programador(a).
Até a próxima Newsletter.


Léo Scorza - OneBitCode 🤘


Ps: Se você está vendo isso até 25/12/23, a promoção de natal da OneBitCode ainda está disponível. Levando uma das formações você ganha a nossa coleção de Habilidades (VueJs, Tailwind + 16 cursos rápidos) e levando o PRO de 2 anos, você ganha 3 anos de acesso ilimitados, aproveite.


Reply

or to participate.