É muito comum os iniciantes ficarem perdidos dado que a área de desenvolvimento é extremamente extensa.
O princípio de tudo é ter uma base sólida de algoritmos e lógica de programação, não estou dizendo que precisa ser expert mas precisa estar sólido, isso fará você ter um background necessário para não ter dificuldades em projetos.
Mas afinal o que é algoritmo?
Uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Segundo Dasgupt, Papadimitriou e Vazirani. Algoritmos são procedimentos precisos, não ambíguos, padronizados, eficientes e corretos. "Retirado da Wikipédia: https://pt.wikipedia.org/wiki/Algoritmo"
Cursos são muito bem vindos porém nunca esqueça de ser curioso, ir além do curso que seria o mínimo, e fazer desafios, eu gosto dos desafios do site: https://hackerrank.com, e gosto de alguns cursos do https://cursoemvideo.com que tem uma didática muito amigável para quem está começando. Mas como disse anteriormente não para por ae, lembre-se:
Após ter um desenvolvido conhecimento de algoritmo. vamos explorar áreas de atuação, vou generalizar bastante se não esse artigo ficaria com intermináveis páginas.
Para desenvolvimento Web eu recomendaria começar por HTML, CSS e JavaScript bem iniciante.
Interessante ter noções boas de User Interface UI e User Experience UX, noções de design, cores e fontes.
E conforme for evoluindo aprender ferramentas como gulp, webpack e etc...
Recapitulando Desenvolvedor Web Front-end
Para desenvolvimento back-end depende muito de qual caminho será trilhado pelo desenvolvedor e quais suas expectativas. Temos muitas linguagens no back-end como, PHP, Python, Java, NodeJS, Ruby, Go, e um número muito grande de outras linguagens disponíveis.
O Python tem uma curva de aprendizado fácil, mas precisa decidir o rumo a tomar. Recomendo começar o básico da linguagem que você escolher e em seguida começar a aprender POO. Importante ter uma noção para compreensão de comportamentos das linguagens com seus servers, exemplo, Apache, NGinx etc...
Escolher também algum design pattern pra seguir eu gosto muito de TDD "Test Driven Development" Desenvolvimento orientado por testes.
Ao menos um banco de dados SQL exemplo: MySQL, PostgreSQL, SQL Server, Oracle, etc...
Racapitulando Desenvolvedor Web Back-end
Desenvolvedor Web Fullstack
O programador fullstack atua tanto no back-end quanto no front-end devendo saber muito bem ambos.
Dicas Geral
Fundamente muito bem as linguagens, entenda muito bem seus comportamentos, quando uma linguagem é síncrona ou assíncrona. Entenda como funciona e se comporta as condicionais, as variáveis, seja curioso e teste muito utilize comandos como no javascript: console.log, ou no php var_dump ou no python print ou logging.info etc...
Nunca pare de aprender, tenha bases sólidas, trabalhe arduamente nas suas dificuldades.
Importante: evite atalhos, arrow functions são mais bonitas porém demora mais para os novatos entenderem os conceitos de escopo.
Ex. arrow function: const nome = () => {};
Ex. function normal: function nome(){}
Para um amigo meu que vai se tornar programador Fullstack Web PHP + PostgreSQL eu recomendo os seguintes cursos:
Espero ter ajudado... Até o próximo artigo!
Seja o primeiro a comentar o nosso artigo!