25 dicas para novos desenvolvedores: conselhos de um engenheiro de software autodidata (principalmente)

| | , ,

A pergunta mais comum que recebo de leitores de blog é “Qual é o seu conselho para novos programadores?” Então, achei que era hora de escrever minhas idéias.

Escreverei minha história completa no futuro, mas fiz duas aulas de ciência da computação na faculdade. Então, eu fiz um estágio em engenharia de software logo depois. Comecei a fazer o trabalho de desenvolvimento web, inicialmente no back-end e, eventualmente, no front-end. Minha faculdade definitivamente não ensinava desenvolvimento web, muito menos nas primeiras aulas de ciência da computação, então eu aprendi sozinho.

Não acho que minha história seja única – todos os programadores são autodidatas até certo ponto, seja totalmente autodidata ou que tenham um mestrado em ciência da computação, mas aprenderam RegEx ao longo do caminho. Na verdade, o autodidatismo pode ser uma das habilidades mais importantes que você pode ter como desenvolvedor.

Além da minha própria experiência, também ensino as pessoas a programar como meu trabalho principal e para organizações nas quais sou voluntário – portanto, este artigo também se baseia nessa experiência.

O restante deste artigo terá minhas dicas para começar.

Minhas dicas para novos programadores

1. Tenha sua razão e lembre-se dela

Se você deseja iniciar a programação, deve haver um motivo para isso. Quer seja porque você adora escrever código, quer ter uma carreira mais lucrativa ou que está fazendo um monte de trabalho no Excel e deseja torná-lo mais eficiente. Acompanhe esse motivo; programar é difícil e você ficará frustrado às vezes. Será essencial manter esse motivo em mente para persistir nele. Você pode colocar uma nota em seu computador, uma nota em sua tela inicial ou (como eu) escrevê-la em seu espelho com um marcador de apagar a seco.

2. Construir uma base sólida

Este pode ser um conselho único, mas acho que é realmente útil. Antes de começar a escrever código, se você não olha para matemática há algum tempo, eu revisaria os conceitos de Álgebra 1. A maior parte da programação é construída sobre matemática de álgebra 1 – isto é, funções e variáveis. Compreender esses conceitos fora da programação será muito valioso no futuro. Eu recomendo o curso de Álgebra 1 da Khan Academy !

3. Encontre uma comunidade

Outra coisa que será realmente útil é encontrar uma comunidade para apoiá-lo enquanto você começa a escrever o código. Esta comunidade será valiosa porque outras pessoas estarão no mesmo lugar que você, oferecendo recursos que as ajudaram e oferecendo incentivo. Eu sugeriria encontrar um encontro em sua área como a melhor solução aqui, mesmo as cidades pequenas tendem a ter um grupo próximo. Se não houver um, eu sugeriria dev.to e a comunidade CodeNewbie como duas alternativas excelentes. CodeNewbie tem um chat semanal no Twitter, um grupo no Slack e podcasts para ouvir. Dev.to tem um monte de postagens de blog e uma tag #discuss onde você pode postar suas perguntas!

Quer mais conselhos sobre como aprender a codificar?

4. Divida os problemas em outros menores

Uma das partes mais importantes da programação é pegar um grande problema e dividi-lo em partes cada vez menores até que essas partes sejam solucionáveis. Se você está olhando para um editor de texto em branco e não sabe por onde começar, pode ser porque você não analisou o problema o suficiente!

5. Pseudocódigo

Em relação ao ponto anterior, muitas vezes é benéfico escrever em detalhes o que você está tentando fazer em palavras simples, antes mesmo de tentar escrever o código. Esse processo é chamado de pseudocodificação e pode assumir a forma que você quiser. Também pode ser útil resolver um problema bem devagar primeiro no papel, pensando ou até anotando as etapas individuais que você está realizando para resolver esse problema.

6. Abrace o ciclo de aprendizagem

Se você está aprendendo a programar como uma segunda carreira, especialmente se já esteve longe da sala de aula por um tempo, aprender a aprender será uma grande parte do seu processo. Existem muitos altos e baixos envolvidos, o que é muito natural! Eu me prepararia para aquela montanha-russa antes de começar.

7. Comece com recursos gratuitos

Existem um milhão e um recursos para aprender a codificar. Alguns são gratuitos e outros são pagos. Eu começaria com os recursos gratuitos, certificando-se de que você gosta de escrever código e, depois disso, você poderia pensar em passar para recursos pagos ou até mesmo um bootcamp. Eu tenho um post sobre meus recursos favoritos de aprender a codificar gratuitamente aqui .

8. Encontre o seu nicho

Existem muitos mundos dentro da programação, encontre um mundo que você ame e concentre-se nele. Em vez de tentar aprender 8 linguagens de programação, frontend e backend, linguagens compiladas e interpretadas, todos os editores de texto e ferramentas de desenvolvedor, etc. Encontre algumas coisas nas quais você está realmente interessado e se torne bom nelas.

9. Obtenha bom reconhecimento de padrões

Reconhecer padrões em código é uma das habilidades mais importantes que você pode ter. Quando as pessoas falam sobre escrever código “DRY” (ou seja, Don’t Repeat Yourself), elas estão falando sobre como reduzir os padrões em seu código. Eu recomendo o jogo Set para reconhecimento de padrões – você pode até jogar online todos os dias no site do New York Times!

10. Faça bons hábitos cedo

Será mais fácil escrever código limpo no futuro se você adquirir o hábito desde cedo. Os maus hábitos podem ser difíceis de quebrar. Aqui estão minhas dicas para escrever um código mais limpo. Se você estiver fazendo desenvolvimento para a web, executar validadores HTML e CSS em seu código pode dizer exatamente o que corrigir!

11. Identifique seu estilo de aprendizagem

Todo mundo aprende de maneira diferente – quer isso signifique que você é um aprendiz visual, adora vídeos, precisa de alguém para incentivá-lo ou adora documentação, você aprenderá melhor de forma diferente do que a pessoa ao seu lado. Identifique como você aprende melhor e conte com recursos que se encaixam bem nesse estilo. Por exemplo, aprendo melhor lendo documentação e exemplos de código dessa documentação e perco o foco facilmente nos tutoriais.

12. Lute, mas não muito

Esforçar-se um pouco na hora de aprender é muito importante para que você possa resolver o problema sozinho e encontrar uma resposta usando os recursos existentes. Dito isso, pode se tornar improdutivo e desmotivador lutar com um problema por muito tempo. Depois de algumas horas, peça ajuda a alguém!

13. Fique confortável com o fracasso

Programar é difícil e encontrar a resposta certa não será imediato. Um dos momentos mais importantes em minha jornada de programação foi falhar em escrever um solucionador de Sudoku . Pode ser um desafio ajustar-se para não obter tudo de imediato e ver essas mensagens de erro, mas isso é uma grande parte da programação.

14. Ame suas mensagens de erro

Mensagens de erro são muito úteis, mas quando você está começando, aquela mensagem de erro em vermelho pode ser assustadora! Um grande passo a ser dado é ler essas mensagens, entendê-las e usá-las para resolver o problema. Na verdade, você chegará a um ponto em que uma falha silenciosa do programa será muito mais irritante do que uma mensagem de erro útil!

15. Algumas linguagens de programação são mais fáceis do que outras

Não há uma resposta certa para qual linguagem de programação aprender primeiro; no entanto, alguns serão mais fáceis de pegar. Meus três principais são Python, Ruby e JavaScript porque todos os três têm uma grande comunidade por trás deles, têm sintaxe mais direta e são interpretados, então você não precisa passar por um processo de compilação.

16. Você não precisa saber tudo

É 100% impossível saber tudo sobre programação. Ninguém conhece todas as linguagens de programação, todos os métodos que existem, todas as bibliotecas e frameworks ou a solução perfeita para todos os problemas. Não se preocupe em aprender tudo, apenas concentre-se no que você sabe e amplie isso.

17. Profundidade sobre Largura

Aprender uma coisa em profundidade é melhor do que aprender um pouquinho sobre muitas coisas, especialmente no início. Esse conhecimento profundo será transportado e tornará o aprendizado mais fácil. Coloque as vendas, para não ficar tentado a largar o que está aprendendo e passar para algo novo.

18. Concentre-se primeiro nos fundamentos

Os fundamentos da programação são inestimáveis ​​e você os usará não importa o que acabe fazendo com a programação. Concentre-se em ter um conhecimento sólido de loops, condicionais, funções, tipos de dados e (na maioria das linguagens) programação orientada a objetos antes de prosseguir para aprender sobre aquela biblioteca incrível de que todos estão falando. Será muito mais fácil aprender essa biblioteca, uma vez que você conheça os fundamentos muito bem. Eles também serão transferidos de um idioma para outro, então você só precisa realmente aprendê-los uma vez – depois disso, é só sintaxe!

19. Seja bom na resolução de problemas

A resolução de problemas é a base da programação! Ficar melhor nisso é fundamental. Resolver enigmas, escrever código no papel e analisar problemas podem realmente ajudar na solução de problemas. Algo que às vezes vejo com os novos desenvolvedores é que eles abordam a programação como um problema de pesquisa em vez de um projeto de solução de problemas – se eles pesquisarem algo no Google bem o suficiente, terão uma solução. Sim, o Google e o Stack Overflow são muito úteis, mas às vezes confie em você também. Experimente algo de algumas maneiras diferentes antes de pesquisar. Ou pesquise pequenas partes do problema em vez do problema em si – ou seja, “transforme uma String em um array JavaScript” em vez de “JavaScript string reverso”.

20. Seja bom em pesquisar

Uma das coisas mais importantes a aprender é como encontrar boas respostas para suas perguntas ou aprender novos recursos de seu idioma ou biblioteca. Usar o Google é importante, assim como participar de comunidades e assinar recursos. O template do Google que normalmente uso é “problem language / framework / library” com o mínimo de palavras possível e sem preenchimento. Portanto, “sort array JavaScript”, “spin element CSS” ou “create router Vue”.

21. Construa projetos que você adora

Quando você estiver aprendendo, estará construindo vários projetos para praticar (e mostrar) suas habilidades. Escolha ideias de projeto que sejam interessantes para você; você terá muito mais probabilidade de terminá-los e querer trabalhar neles. Relacionados, conclua esses projetos. Alguns projetos realmente bem acabados são muito mais impressionantes do que um monte de projetos inacabados!

22. Compare-se apenas a si mesmo

Há muitas pessoas aprendendo a programar por aí. Não compare o seu progresso com o de outra pessoa; em vez disso, compare-se com o anterior e concentre-se no seu próprio crescimento.

23. Faça um monte de desafios de código

Fazer desafios rápidos de código pode realmente ajudar a solidificar os fundamentos. Eles são ótimos para resolver problemas e praticar para entrevistas. Eu posto um no Twitter todos os dias com a hashtag #CodingPuzzle se você quiser que outra pessoa os resolva!

24. Comemore suas vitórias

Aprender a programar pode ser um processo muito difícil, então, quando você realizar algo, mesmo que seja pequeno, celebre! Eu acompanho minhas vitórias no Google Keep para que, se eu tiver um dia ruim, posso voltar a essas vitórias e me lembrar delas!

25. Programar é incrível

Programar é muito legal porque você começa a construir coisas. Eu sempre volto a esta citação de Sandi Metz:

Aqueles de nós cujo trabalho é escrever software têm uma sorte incrível. Construir software é um prazer sem culpa porque usamos nossa energia criativa para fazer as coisas. Organizamos nossas vidas para que fossem dos dois lados; podemos desfrutar do puro ato de escrever código com a certeza de que o código que escrevemos tem uso. Produzimos coisas que importam. Somos artesãos modernos, construímos estruturas que constituem a realidade atual e, não menos que pedreiros ou construtores de pontes, nos orgulhamos de nossas realizações.

Isso todos os programadores compartilham, desde o novato mais entusiasmado até o mais velho aparentemente cansado, seja trabalhando na startup mais leve da Internet ou na empresa mais séria e enraizada há muito tempo. Queremos fazer nosso melhor trabalho. Queremos que nosso trabalho tenha significado. Queremos nos divertir ao longo do caminho.

Sandi Metz

Previous

Recursos gratuitos para novos programadores

Deixe um comentário