O que eu respondo quando me perguntam "Por onde começar a programar?"
O mercado de tecnologia e desenvolvimento tem chamado bastante a atenção devido ao seu rápido crescimento, "baixa curva de aprendizado", altos salários e ótimos benefícios. Com quase 10 anos de experiência eu tenho cada vez mais recebido a pergunta "Por onde começar a programar?", e por conta disso eu comecei a consumir e compilar materiais que possam ajudar pessoas a começarem sua jornada na área de desenvolvimento web, principalmente focado em frontend.
Abaixo segue uma nota que tenho salva e envio para conhecidos que me perguntam sobre como começar. Não é nada complexo e provavelmente existem melhores formas de se aprender, principalmente considerando que diferentes pessoas possuem diferentes preferências sobre como estudar. Mas se você ou algum conhecido esta buscando uma forma leve e com baixo custo para começar a explorar essa área, segue abaixo alguns materiais e links que recomendo.
⚠️ Alguns conteúdos podem ser datados e talvez não façam sentido daqui alguns anos caso os materiais não sejam atualizados, mas para hoje (2022/2023) eu acredito que merecem a atenção dos novatos.
Notas pessoais: Como começar a aprender sobre desenvolvimento web focado em frontend
Na área de desenvolvimento existem muitos caminhos diferentes para seguir. Por sorte existem sites específicos que apresentam diferentes "roadmaps" para ajudar quem esta começando a entender o que precisa estudar no curto e no longo prazo de acordo com os objetivos individuals.
Dois sites bem conhecidos são o https://roadmap.sh/ (em inglês) e o https://techguide.sh/ (em português). Recomendo abrir ambos e explorar um pouco sobre o que cada área possui de requisitos. Mas vale lembrar que normalmente alguém que possui uns 20% de conhecimento desses roadmaps já conseguiria atuar como desenvolvedor junior ou estagiário no mercado.
Nós por aqui atuamos principalmente com desenvolvimento web e eu sempre recomendo seguir um currículo que ensine o básico de web antes de se aprofundar em tecnologias mais avançadas. Aplicativos web rodam principalmente com HTML, CSS e Javascript, então os materiais que recomendo começar estudando são os que focam nessas tecnologias. Entendendo bem essas tecnologias fica mais fácil para se aprofundar em Frontend ou Backend ao longo do tempo.
Cursos Desenvolvimento
Esses cursos do Curso em Vídeo são ótimos para começar a estudar. Eu recomendo assistir com bastante atenção e seguir os exemplos que ele apresenta nas aulas. Se sentir que esta muito fácil, acelera a velocidade de reprodução pra 1.5x ou 2x mas não deixe de assistir, fazer anotações e testar os códigos por conta própria.
Durante os cursos, além do conteúdo principal, o professor Gustavo irá introduzir ferramentas como Visual Studio Code, Gimp, Git (+ Github), entre outras. Se estiver começando e não possuir experiência com essas tecnologias e ferramentas, eu recomendo utilizar as mesmas que ele apresenta e tentar explorar mais sobre essas ferramentas pesquisando sobre elas no youtube e google.
- Curso em Vídeo: Curso HTML5 e CSS3: módulo 1 de 5
- Curso em Vídeo: Curso HTML5 e CSS3: módulo 2 de 5
- Curso em Vídeo: Curso HTML5 e CSS3: módulo 3 de 5
- Curso em Vídeo: Curso HTML5 e CSS3: módulo 4 de 5
- Curso em Vídeo: Algoritmo
- Curso em Vídeo: Javascript
Cursos e Playlists complementares
Além dos cursos acima que são ótimos para dar uma base geral de conhecimento sobre desenvolviment oweb, recomendo também esses cursos complementares que vão dar uma noção melhor de como utilizar Git com Github e Linux, que são assuntos bastante presentes no dia a dia de quem trabalha com desenvolvimento
- Git e Github na Vida Real - Youtube (Willian Justen)
- Linux - Curso em Vídeo
- Criando um ambiente de Desenvolvimento no Windows - Youtube (Willian Justen)
Links extras
- https://www.cursoemvideo.com - Plataforma com cursos gratuitos na área de tecnologia. Após finalizar os cursos é possível pagar uma taxa para emitir um certificado digital se tiver interesse.
- https://www.freecodecamp.org - Plataforma sem fins lucrativos com cursos interativos em várias áreas diferentes. A plataforma é originalmente em inglês mas possui bastante conteúdo em português também. Após finalizar os cursos é possível emitir um certificado digital gratuitamente.
- https://www.theodinproject.com - Uma das plataformas mais bem avaliadas para formação Fullstack (frontend + backend). O material é bastante atualizado e amplo, mas o conteúdo é apenas em inglês.
- https://web.dio.me - Plataforma com cursos, bootcamps, labs, iterações sociais e muito mais. Possui muitos materiais desenvolvidos por pessoas que já atuam no mercado. Também possui um sistema de gamificação que te da pontos por consumir os materiais (ex: terminar cursos). Eles tem como missão ensinar tecnologia e conectar os melhores talentos com as empresas mais inovadoras. Não consegui explorar muito a plataformar, mas me parace um ótimo lugar para quem quer começar a estudar e ficar de olho nas oportunidades do mercado.
Esse tópico tem muita informação bacana - técnica - então vou falar um pouco sobre o que eu respondo quando alguém me pergunta isso, e é uma resposta menos focada em skills e aprendizado:
Por que você quer aprender a programar?
Apesar de parecer uma pergunta que está só 'peitando' o que a pessoa quer, acho que é uma reflexão válida, principalmente se você consegue perceber que a pessoa quer começar pelo hype e não tem muita noção do que vai encontrar pela frente.
Eu tenho muitos amigos que me perguntam como começar, se vale a pena fazer o Bootcamp X ou o curso Y, que os salários de TI são altíssimos, etc. E sinceramente? Zero problemas com isso, cada um com sua motivação - eu mesma voltei a "fazer sites" (que era o que eu fazia na época) porque o mercado de TI estava em alta pra quem queria sair do Brasil :P
Programar é uma delícia - pra alguns - e é uma dopamina ferrada você conseguir quebrar tua cabeça e no fim resolver um problema, mas eu acho que se a gente conseguir orientar melhor as pessoas sobre motivação, resiliência e quaisquer outras palavras bonitas, a gente consegue diminuir o índice de desistência e frustração, hehe.
E não me entendam mal, eu sou absolutamente CONTRA aquele terrorismo de 'vida real' que você só mostra os perrengues, mas acho que além de compartilhar onde/como começar, vale também você mostrar os seus porquês de continuar na área :)
E respondendo a pergunta de forma mais técnica, eu sempre indico que a pessoa NÃO comece logo de cara com linguagem A, B ou C ou framework Z ou W. Eu indico que ela estude muito coisas como lógica, funções, algoritmos... Fundamentos mesmo. Pra método de estudo, eu não sou uma pessoa que consegue ficar muito focada em teoria por muito tempo, então sempre alterno conteúdo teórico com exercícios (e uma pausa pro cafezinho) :)
Só complementando: eu sou do time de educação da DIO e lá nós temos essa missão de além de ensinar a tecnologia, também conectarmos os melhores talentos com as empresas mais inovadoras.
Pra quem tiver interesse em saber como funciona esse Talent Match: https://web.dio.me/course/turbine-seu-curriculo-na-dio/learning/a2dd47e9-8b67-4317-b757-6f96b5412a63
A Rocketseat também tem um ótimo curso grátis (Discover) para introduzir iniciantes da programação principalmente para quem quer focar em Javascript/Typescript: https://rocketseat.com.br/
Para front-end recomendo fortemente essa plataforma:
Já tinha ouvido falar deste método do Pomodoro, acho interessante e vejo ser bastante funcional.
Irei aplicar aos meus estudos, obrigado por compartilhar e destrinchar toda essa explicação.
Tem um game na plataforma da Steam que aplica essa ideia do Pomodoro, super bacana, com um lo-fi e com a possibilidade de criar uma ambientação.
O app se chama: Virtual Cottage, é gratuito.
Hoje tenho muita dificuldade na contratação de novos colaboradores devido a falta de base (o velho alicerce de tudo). Vejo muito a discussão de linguagem A ou B, de frameworks e ferramentas em geral, mas sinto falta da base de tudo: raciocínio lógico e design patterns.
Eu uso ferramentas como essas, para me lapidar e sempre manter meu raciocínio rápido:
Para quem estiver interessado tem também o https://exercism.org/ Tem uma gama de linguagens bem interessante essa plataforma!!!
Sem dúvida o conteúdo do Gustavo Guanabara é um dos melhores pra quem quer começar. Me ajudou muito na faculdade e sempre recomendo pra quem me pergunta por onde começar!
Já estava vindo aqui recomendar o The Odin Project e percebi que já deixou na sessão de links extras haha.
Ótima coletânea de conteúdos pra quem está decidindo por onde começar a programar, acaba sendo tanta opção que fica difícil de escolher algo no início, acho que o mais importante nessa fase inicial é escolher uma e focar nela mesmo, depois disso é mais uma questão de testes práticos e ir aprendendo o que você precisa no meio do caminho
Cara, sensacional! Estou mandando para varios amigos ja! Fica aqui mais uma contribuição, é tipo o roadmap.sh só que em português mesmo: https://www.trilha.info/
Isso aqui está só o ouro