Erros que cometi quando aprendi a codificar

Andrei Neagoie em zero a maestria Seguir mar 11 · 12 min ler Foto de Nikolay Tarashchenko no Unsplash

Se eu pudesse voltar no tempo, me pouparia de incontáveis horas, dias e meses trabalhando nas coisas erradas. Sabendo o que sei agora, há muitas coisas que eu faria de maneira diferente ao aprender a codificar. Espero que este artigo ajude você a economizar tempo e evitar os erros cometidos por muitos iniciantes. Tenha em mente que a experiência de todos é diferente e isso é um ponto de vista de uma pessoa ( eu ). No entanto, sendo um programador autodidata e tendo uma carreira bastante bem sucedida até este ponto, esperamos que você se identifique com alguns dos tópicos abaixo.

Por favor, compartilhe suas próprias experiências nos comentários e lembre-se de como você ficou sobrecarregado quando começou a tentar escalar essa montanha intimidante. Pode ajudar aqueles que estão apenas começando.

Quem é Você?

Se você se importa, então continue a ler. Caso contrário, basta pular para a próxima seção. Eu sou um programador autodidata. As coisas funcionaram muito bem para mim quando eu comecei a trabalhar para algumas grandes empresas de tecnologia. No ano passado, mudei as coisas e comecei a ensinar programação também. Eu agora ensino cerca de 80.000 programadores de 194 países em habilidades modernas de programação e alguns deles passaram a trabalhar para grandes empresas de tecnologia das quais você definitivamente já ouviu falar . Eu também vi inúmeros amigos passarem por bootcamps de codificação caros e ainda não terem um emprego por muito tempo depois de se formarem (o que eu tenho que admitir me deixou muito frustrado com algumas das afirmações e mentiras que alguns tutoriais e bootcamps fazem). Eu não sou o melhor programador, mas pelo menos tenho visto sucesso moderado sendo autodidata. O suficiente sobre mim, vamos dar uma olhada em algumas das lições que eu acho que podem ajudá-lo em sua jornada …

Selecionando o professor / mentor errado

Comparado a quando comecei a aprender há muitos anos, o número de recursos on-line para aprender a codificar viu um crescimento exponencial. Existem alguns conteúdos de boa qualidade por aí. No entanto, agora você tem o paradoxo da escolha: é impossível estudar tudo. Em quem você confia e quais recursos você usa? Existem inúmeros vídeos do YouTube, livros, bootcamps de codificação, programas on-line, cursos da Udemy, lições freeCodeCamp, etc … O que está atualizado? Quem é realmente um bom instrutor e quem está lá apenas para vender e ganhar dinheiro?

Quando você não sabe o que precisa aprender, é fácil ler um artigo de uma ou duas pessoas on-line e decidir:

"Ah sim! Eu preciso aprender PHP, cPanel, e também preciso fazer 30 projetos, colocá-los no meu portfólio e depois também aprender Python e aprendizado de máquina. Eu ouvi que está quente agora. Ah, e então todos os frameworks de frontend (Vue, Angular e React) para conseguir o trabalho, então vamos aprender JavaScript também. Vou estudar tudo de todos. Então eu vou fazer coisas Blockchain também. Deixe-me apenas o youtube alguns vídeos ”

Essa é a mentalidade errada.

Nem todo conteúdo é criado igual. A tecnologia está sempre evoluindo e selecionando quem você aprende é um dos critérios mais importantes em você ter sucesso. Se você decidir seguir um instrutor, ler um livro ou fazer um curso, certifique-se de conhecer o histórico dessa pessoa ensinando esse material.

Atualmente existe um grande mercado para os programadores, e há muitos “professores” ( sim, inclusive eu ). Todo mundo está tentando chamar sua atenção e dizer " esta é a maneira correta de fazer isso ". No entanto, como você pode verificar isso se não sabe o que precisa saber? Aqui está uma lista de verificação simples:

  1. O instrutor está ativo no Github? Eles têm um histórico de trabalho com o que estão ensinando a você ou são bons em marketing?
  2. Quando o conteúdo foi atualizado por último? O instrutor está envolvido na atualização do curso?
  3. Eles têm alunos do passado que tiveram sucesso ( não apenas testemunhos falsos )? Você pode entrar em contato com eles e perguntar sobre suas experiências?
  4. Eles trabalharam no campo na função que estão ensinando ( você pode usar os perfis do LinkedIn para verificar isso ). O que eles estão fazendo atualmente para manter suas habilidades afiadas? Ou são apenas criadores de conteúdo ao longo da vida que não estão no campo há muito tempo?
  5. Eles ensinam você a construir projetos tolos ou constroem projetos que impressionam os empregadores? ( Não, um aplicativo de namoro cachorro, calculadora, app lista de tarefas não é impressionante )
  6. Eles têm um blog? Quais são alguns dos seus escritos técnicos / vídeos? Eles têm credibilidade além do conteúdo que estão fornecendo?

Selecione o professor certo. Uma pequena pesquisa de sua parte pode impedir que você invista o tempo no lugar errado.

(Na minha opinião este é o melhor instrutor e todos os instrutores devem se esforçar para a qualidade do nível de David J. Malan. Além disso, algo como frontendmasters faz um bom trabalho apenas selecionando instrutores de alto nível. Em um mercado como a Udemy onde é muito fácil ser um instrutor, você tem que fazer mais diligências.)

Finalmente, não há um único instrutor que possa te ensinar tudo. Ter vários instrutores para aprender, para que você considere diferentes pontos de vista e experiência.

Selecionando o curso / recurso errado

Semelhante ao ponto acima, não há escassez de recursos e materiais on-line para você aprender. Todo mundo está tentando agarrar sua atenção. Mas aqui está o problema: que curso você deve usar, qual material você deve aprender? Cada recurso é diferente, e quando você está no começo, é difícil decidir quem está dizendo a verdade e qual curso está desatualizado e qual curso é relevante. Antes de mergulhar em um curso, certifique-se de que este é o tipo de trabalho no qual você está interessado (por exemplo , Desenvolvimento Web, Desenvolvimento Móvel ), e este é o modo moderno ou correto de fazer as coisas. Quando o curso foi atualizado por último? Tem 3 anos de idade? A indústria de tecnologia está em constante mudança, portanto, um curso com até 1 ano de idade provavelmente deve ser atualizado. Isso não significa que não seja um bom recurso, mas deve ser algo que você considera ( isso é ainda mais verdadeiro quando você está aprendendo bibliotecas como o React em vez de fundamentos da ciência da computação que não mudam tanto ).

Nunca há um recurso que resolva todos os seus problemas e faça você ser contratado, assim como na escola você não tem apenas um curso sobre “sucesso”. Use recursos diferentes para criar sua árvore de conhecimento, mas faça sua devida diligência e certifique-se de estar estudando as coisas certas. Aqui está uma boa lista de verificação:

  1. O curso foi atualizado?
  2. Há alunos que terminaram o curso e, em caso afirmativo, recomendam?
  3. O curso se alinha com o que você vê com as tendências e demandas de trabalho ? Você pode usar a análise de tendências, como feita neste artigo , ou algo como o HNTrends e o StackOverflow Survey .
  4. O curso é ministrado por alguém que esteve no campo ou apenas como instrutor vitalício ( veja a seção acima )?
  5. O curso cobre o conteúdo que você vê em postagens de trabalho de onde você quer trabalhar?
  6. Olhando para os primeiros vídeos. Parece que o curso está bem organizado e muito pensamento e trabalho foram para a estrutura, esboço e preparação do curso? Ou foi algo que foi criado em um dia na mosca?

Nenhum curso é perfeito, mas seu tempo é valioso, portanto, certifique-se de estar gastando nas coisas certas. Um recurso popular pode ser popular por causa do marketing feito nele e não na qualidade do conteúdo.

Tentando aprender tudo de uma vez

Não me entenda mal, é bom entender os tópicos das diferenças em todo o espectro tecnológico. É bom estar curioso e querer aprender o máximo de coisas possível. Mas se você decidir que quer dominar 3 linguagens de programação …

Hey, eu ouço o Google está usando o Go, e ouvi o Python é usado para Machine Learning. Eu preciso de JavaScript para aplicativos da web também. Eu vou aprender, Python, Go e JavaScript e ser um superstar!

Você está fazendo isso errado.

Se você não tiver nenhuma experiência de trabalho, mantenha um idioma e trabalhe com esse idioma. Fique bom o suficiente para ser contratado. Comece a trabalhar em equipes com esse idioma. É quando o verdadeiro aprendizado começa: quando você começa a trabalhar em projetos reais.

Apenas comece a aprender outras linguagens, ferramentas ou frameworks porque há um claro benefício em aprendê-lo e há uma necessidade no mercado. Aprenda a fazer uma coisa muito bem primeiro ( ou pelo menos bem o suficiente para ser contratado ).

Você está tentando aprender Reagir e Angular e Vue e você não tem nenhuma experiência de trabalho? Parabéns, você acabou de aprender 3 bibliotecas / frameworks frontend que no final do dia fazem a mesma coisa, e você não teve tempo de aprender por que deveria usar índices em seus bancos de dados . Escolha um e fique com ele.

Seja focado! Aprenda uma linguagem / ferramenta que faz uma coisa específica e tente ser contratado para que você comece a ter uma experiência real.

Esforçando-se pela perfeição

Não há programador perfeito. Todos cometem erros. Todo mundo tem falhas. Todos escrevemos softwares com bugs. Não há código perfeito. Então não se deixe intimidar. Seu projeto nunca será uma obra-prima. Em 2 a 3 anos, provavelmente será desatualizado de qualquer maneira. Basta criar coisas que funcionem mesmo se o código não estiver limpo. Erros são bons e são encorajados. Eles são a melhor maneira de aprender. De fato, mesmo as pessoas que você aprende a codificar não são perfeitas e escrevem códigos ruins.

Lembre-se, quando você sobe aquela montanha e chega ao topo, percebe que todos aqui são apenas uma criança presa no corpo de um adulto. Estamos todos tentando navegar pelo código fazendo o melhor que podemos fazer. Algumas pessoas simplesmente escondem melhor que outras.

Então, sim, você provavelmente deveria parar de esperar pela perfeição e começar a se candidatar a empregos, enviar esse projeto ou iniciar o projeto em que estava pensando. As pessoas que fazem as coisas e o código do navio sempre vencem as pessoas que esperam.

Selecionando a ferramenta errada

Você começa a aprender sobre programação e lê que precisa aprender React, GraphQL, Node.js, MongoDB, Storybook, React Hooks, AWS, etc … você começa a aprender bibliotecas sem entender o que elas fazem ou por que são populares. A pior coisa que você pode fazer é saltar em qualquer tendência sem entender o problema que resolve.

Reagir Ganchos YEY! Não precisamos mais usar componentes de classe no React e tudo é uma função. Estou convertendo tudo para componentes funcionais agora!

Não. Tente novamente.

Por que isso é bom? Se você não pode explicar isso para seus amigos, então você deve aprender primeiro antes de entrar na onda. O TypeScript é superset estaticamente digitado do JavaScript e agora teremos menos bugs no nosso código! Legal, nesse caso, você conhece melhor as diferenças entre as linguagens digitadas dinamicamente e as linguagens com rigidez de tipos e sabe sobre os prós e contras.

Nunca há uma solução perfeita.

Então, como você seleciona a ferramenta certa quando está apenas começando e não sabe o que aprender? Você pode verificar este artigo para uma resposta, mas tenha em mente que você deve fazer sua própria diligência ( ps, você provavelmente deve começar com JavaScript embora ). Além disso, lembre-se de que a maioria das bibliotecas evolui e muda com o tempo. Nada é constante, então foque em aprender os fundamentos.

Nadando no purgatório tutorial

Não apenas observe o código das pessoas e tente terminar cada tutorial no youtube ou no Udemy ou em qualquer outra plataforma. Comece a construir seus próprios projetos. O melhor aprendizado que você pode fazer é trabalhar em projetos reais e em equipes. Se você está assistindo a vídeos do youtube dizendo para si mesmo …

Assim que eu terminar de assistir esses 5 cursos, ENTÃO eu vou começar a me candidatar a empregos!

Você está fazendo isso errado.

Construa coisas por conta própria … expanda-a. É sempre bom aprender, mas se você estiver fazendo tutorial após tutorial e ainda não tiver um emprego, ou uma razão para aprender algo diferente do que é porque está na moda, é hora de você fazer uma pausa e refletir. Você nunca vai fazer as coisas direito. Apenas construa coisas. O código vai chupar. Não importa.

Assistir 100 vídeos no youtube não é impressionante para ninguém. Qualquer um pode fazer isso. Você precisa construir coisas que é o que a maioria das pessoas não faz.

Lembre-se: você aprende essas ferramentas para construir coisas. No final do dia, a programação dá acesso a ferramentas para você construir coisas reais que pessoas reais usam. As pessoas se importam com essas coisas, não com as ferramentas que você conhece. É como assistir a todos os vídeos do mundo no futebol, mas não praticar de verdade. Você aparece nos testes de futebol e diz ao técnico que assistiu a mais vídeos de futebol do que qualquer outro jogador. Ninguém se importa.

Comece a criar seus próprios projetos que levam mais de um dia para serem concluídos. Você se destacará imediatamente de 90% das pessoas que estão aprendendo a codificar ali.