Plano de estudos para iniciantes que estou organizando com indicações da comunidade e vivências que tive ao estudar/praticar no mundo da programação. Esse plano é voltado para iniciantes na programação, não irei direcionar para nenhuma linguagem ou stack específica, apenas para ter uma boa base referente a isso.
O conteúdo citado no plano é bem básico, realmente para quem está começando e tendo seus primeiros contatos com a área, são apenas dicas que estou dando de acordo com a minha experiência. No caso é para tentar ajudar as pessoas que não sabem por onde começar. As dicas são totalmente pessoais, pode ser que não seja a melhor abordagem para alguns, então favor considerar isso.
Pelas minhas experiências, defini 4 pilares para ser um dev iniciante, segue abaixo com o emoji 🚩, para alguns casos coloquei exemplos de cursos que me indicaram, porém tem muito conteúdo na internet, aconselho pesquisar antes de iniciar qualquer um deles.
🚩 Lógica de Programação/Algoritmos:
Ao entender bem os algoritmos e todas lógicas e conceitos por trás dos códigos, fica muito mais fácil de aprender posteriormente as linguagens mais badaladas do mundo da programação, como Java, JavaScript, Python, C#, etc. É extremamente importante ter essa base bem forte referente a algoritmos.
Em comunidades de devs no discord muitos indicaram o curso do Prof. Guanabara. Links:
- https://www.youtube.com/watch?v=8mei6uVttho&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV
- https://www.cursoemvideo.com/course/curso-de-algoritmo/
Obs: No link do CursoEmVideo é possível pagar por um certificado (cerca de R$25,00).
🚩 Estrutura de Dados
Outro ponto interessante para os primeiros passos na programação é ter um bom conhecimento em Estrutura de Dados, também para facilitar sua evolução como programador.
"Estrutura de dados é o ramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento. As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação manipulada pelo programa."
Materiais de ED indicados por comunidades dev:
- Aula do MIT sobre ED em Inglês: https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb
- Curso de Estrutura de Dados na linguagem C em Português: https://www.youtube.com/watch?v=bryesHll0vY&list=PL8iN9FQ7_jt6H5m4Gm0H89sybzR9yaaka
🚩 Banco de Dados
É importante saber o básico de banco de dados para seguir seus estudos na área de programação, até porque praticamente todos sistemas geram dados que são salvos em algum lugar, mas é importante frisar que: caso você siga para área de BackEnd, será necessário um conhecimento muito mais aprofundado do que para FrontEnd, por exemplo.
Curso MySQL do Prof Guanabara utilizando MySQL: https://www.youtube.com/watch?v=Ofktsne-utM
Exemplos de Bancos de Dados: MySQL, SQL Server, Oracle, Postgres, SQLite, MongoDb.
🚩 Programação Orientada a Objetos
Após os 3 pontos acima, interessante você escolher a linguagem de sua preferência para entender melhor sobre a famosa POO. Você pode escolher Java, C#, Python, Kotlin, PHP, etc. É interessante aprender bem a sintaxe e a forma de usar essa linguagem e começar a praticar e criar seus primeiros softwares, procure por conteúdos e comunidades da linguagem escolhida, participe e se envolva nesse mundo, networking é essencial!
Acredito que concluindo os estudos desses 4 tópicos e criando os seus primeiros CRUDs na linguagem que você escolheu, você já é um dev iniciante!
Outro fato importante é aprender a utilizar o GitHub, onde você versionará seus softwares e também pode utilizá-lo como um portfólio.
Após obter uma noção boa dos 4 pontos acima, é interessante que você busque por aprofundar seus conhecimentos na linguagem/stack que você desejar, dentro da área da tecnologia tem muitas áreas diferentes, vou citar algumas e as tecnologias interessantes para estudo:
FrontEnd: HTML, CSS, JavaScript, Git/Github, HTTP, Framework(React, Angular ou Vue).
BackEnd: Banco de Dados, POO, Git/Github, PHP/Python/Ruby/Java/C#, Servidor, API, Escalabilidade, Segurança.
Fullstack: FrontEnd + BackEnd
Se você estiver em busca de oportunidades na área de TI é essencial que você poste seus exercícios/projetos de estudo no GitHub e mantenha seu currículo atualizado e bem preenchido, contendo um bom layout e que seja objetivo. Na comunidade do MarcoBrunoDev e também na DevHouse do Discord tem um canal #mande-seu-cv
, lá a galera compartilha seus CV's e analisa o da galera fazendo sugestões de melhorias.
Dica clichê: seja fluente em inglês!
- LinkedIn (muito importante, principal ferramenta de recrutamento na área de TI)
- GeekHunter
- Vulpi
- Progamathor
- https://twitter.com/ViUmaVaga
- Faça testes de competência no LinkedIn e no GeekHunter
- Faça desafios no URI Online Judge ou HackerRank (plataforma utilizada pelo MELI para testes do processo seletivo)
- IGTI
- Digital Innovation (tem parceria com empresas, você faz o bootcamp e já consegue se candidatar a vagas)
- RocketSeat (um dos mais famosos, mais caros, porém pelo o que pesquisei, não recomendam porque é aprendizado é bem básico pelo valor)
Como montar seu Layout do Github -> https://rahuldkjain.github.io/gh-profile-readme-generator/
Devolopers Roadmap: https://roadmap.sh/
💜 Conteúdo fera criado pela comunidade He4rt sobre linguagens, frameworks, ferramentas, sistemas operacionais, design e banco de dados: https://github.com/he4rt/4noobs
Comunidades He4rt 💜 Developers, MarcoBrunoDev e DevHouse.