Guia - Do - Dev - Autodidata ??
Guia - Do - Dev - Autodidata ??
Guia - Do - Dev - Autodidata ??
2
Agradecimento a todos os geniais programadores,
responsáveis pelas maravilhas tecnológicas do mundo.
arry Tesler, por ter criado o ‘copy and paste’.
Em especial ao L
Esse manual é o que eu escreveria para o Paulo Luan de 2009, que estava
começando a carreira e completamente perdido sobre o que fazer para se tornar um
programador “de verdade”. Eu tinha ambição, mas não tinha um “manual de voo”
para conseguir chegar lá.
Se eu tivesse um manual, como este, eu teria evitado uma série de fracassos e
perdas de dinheiro que tive ao longo da jornada e quero que você tenha a
oportunidade de trilhar o caminho que te traga resultados reais, e que você seja
uma versão muito melhor de mim. Obrigado por acreditar no meu trabalho. Vou
fazer de tudo para merecer sua atenção e ser objetivo e direto.
Para fazer isso dar certo você terá que FOCAR. Acredite, cada dica tem um
sentido prático. Neste arquivo vou evitar ser prolixo e ser bem direto ao ponto das
atividades práticas específicas que você terá que seguir. Evitei explicações sobre
os termos e o racional por trás de cada decisão, porque com essas informações
mais densas o manual teria muita informação que você não leria. Você descobrirá
estas informações pouco a pouco seguindo e estudando os materiais propostos por
você mesmo.
O objetivo é te ajudar a não se afogar em conteúdos. O ouro do manual está
em fazer você focar! Não existem atalhos, mas economizarei MUITO o seu tempo te
mostrando o caminho mais simples e rápido de se tornar um dev profissional de
alto valor para o mercado.
Eu demorei 11 longos anos quebrando a cara para compilar esse material e
selecionar SOMENTE A NATA DO MELHOR CONTEÚDO para você. Eu sei o que é
ruim e o que é perda de tempo. Me dê o seu voto de confiança e compromisso.
Se você seguir tudo que eu falar aqui, não tem outra, você vai se tornar o
programador que eu sempre sonhei em contratar.
Profissão democrática
T.I é uma das profissões mais democráticas que existem. Você literalmente só
precisa de uma direção do que estudar (como este manual), um computador e
internet. Você realmente não precisou de faculdade, de CREA, de regulamentadores,
de NADA. Qualquer um pode ser programador, basta apenas gostar da profissão e
ter aptidões e paciência de resolver problemas.
A natureza dessa profissão é a mudança, por isso NUNCA será tarde demais
entrar no mundo da T.I, porém tenha em mente que você terá que estudar para
sempre, porque as tecnologias sempre mudam, com exceção das bases (que é o que
focaremos em aprender ao longo do manual).
Existem infinitas possibilidades e caminhos a se seguir em TI. Como já citei,
minha proposta para você é seguir o caminho que você mais vai reaproveitar
conhecimento e que no menor tempo o possível te dará acesso a oportunidades de
mercado e bons retornos financeiros, condensados a partir da minha visão pessoal.
Bons estudos!
Passos iniciais:
☢ Background JOB - Do You Speak English?
Provavelmente você não verá inglês sendo pedido nas vagas de emprego, sabe por quê?
PORQUE É OBRIGATÓRIO! A maioria dos conteúdos realmente bons de programação
são em Inglês. Se você não souber até conseguirá se virar no começo, mas em pouco
tempo já não vai sobreviver ao mercado. Como sou bonzinho, coloquei alguns recursos
em PT-BR para você conseguir acompanhar, mas não fique mimado e foque em
aprender inglês em paralelo.
Antes de qualquer coisa, a primeira coisa que eu queria ter contato quando eu era
iniciante era o manual “How to ask smart questions” é um artigo que julgo
OBRIGATÓRIO para qualquer programador, pois vai chegar um dia que você não irá
encontrar as respostas das suas dúvidas na Google, e aí o que fazer?
Nesse caso você geralmente vai recorrer a fóruns como o Stack Overflow e Quora
para perguntar para os devs mais experientes, mas... se você fizer a pergunta de
maneira errada ou se a pergunta for boba você vai tomar patada. Por isso existem
uma série de regras que você tem que entender para que você evite o sofrimento do
coice de cavalo. Leia com atenção, esse conhecimento TRANSFORMA a sua vida e a
sua postura na internet, e vai aumentar muito suas chances de ter a pergunta
respondida sem sofrer com grosserias.
Manual em Inglês Manual em PT-BR
⏸🛑 ✋ PAUSA: TERMINE essa tarefa, de ler o manual, antes de continuar para as
próximas.
Elas são bastante completas e atualmente é possível rodar até códigos de Backend
como NodeJS. Mas elas não substituem o ambiente da sua máquina, principalmente
porque elas são limitadas e não oferecem a mesma experiência de programar
localmente (no próprio computador).
3. Inicie o módulo Responsive Web Design (ele é um passo a passo para você aprender o
básico de HTML e CSS).
● Atenção: Pare quando chegar no Responsive Web Design Projects.
Se você for mais avançado, ainda assim recomendo você fazer, pois reforçará os
conceitos que talvez você tenha deixado passar batido.
Agora que você concluiu o FreeCodeCamp e conheceu os playgrounds, está na hora
de começar a ver mais exemplos! Você tem muito mais capacidade de entender como
Migrar para Ubuntu é um trabalho de segundo plano, não precisa ser feito agora, mas vai precisar ser
feito em algum momento futuro - se quiser sofrer menos, faça isso agora.
Como vamos ter que aprender Linux uma hora outra, você terá que aprender o básico
de quais são as motivações por trás desse sistema operacional e o racional do porquê
utilizá-lo. A tabela a seguir contém as atividades relacionadas a aprender a utilizá-lo.
Curso introdutório sobre Linux: Gustavo Guanabara é extremamente beginner-friendly e explica
nesse curso sobre como é, para que serve e como fazer as configurações iniciais;
Guia do Ubuntu para iniciantes do Fabio Akita: ele é muito objetivo e sincero, mas particularmente
eu recomendo MUITO você assistir e ouvir o que ele tem a dizer. Nesse vídeo de 1h20m ele dá muitas
dicas de como usar bem o Ubuntu, mas não se assuste se não entender algumas informações;
Aprendendo GIT
Depois do Linux, GIT vai ser a ferramenta que você mais usará NA SUA VIDA
INTEIRA! 99.9% das empresas (e devs) usam. Ler o livro no site oficial, é a melhor
forma de entender os conceitos de como o GIT funciona, mas compreender os
conceitos avançados do GIT é uma péssima alternativa para quem nunca teve
contato com ele.
O que você tem que aprender agora é ser pragmático, entender como funciona o
básico de mandar os seus códigos para o Github, focar no arroz com feijão (como
esse artigo por exemplo), e depois vai evoluindo no entendimento das features
avançadas do GIT.
Comece com:
Iniciando no Git: Parte 1
Iniciando no GIT: Parte 2
Tudo que você queria saber, mas tem vergonha de perguntar
Documentação oficial é um arquivo bem extenso, densa, e completo. Eu recomendaria você começar
com algo mais pragmático, com outros tutoriais mais rápidos, mas se você realmente quer se
diferenciar dos outros, leia a documentação completa e tente entender os conceitos por trás de cada
coisa,
😂
Quando você tiver uma noção inicial de GIT, use o KataCoda para treinar GIT no
terminal sem ter medo de dar um comando errado e explodir o seu computador.
Quanto mais iniciante você for, mais perdido vai se sentir. TENHA CALMA!
Programação é abstrata mesmo, os conceitos vão vindo com o tempo, assim como
você só aprende a dirigir dirigindo, certo? Então comece pequeno, entenda os
comandos principais e vá se expondo aos pouquinhos nos conceitos mais profundos.
Tente escrever com as próprias palavras o que você entendeu do assunto. Vá no seu
tempo, descanse e tente re-assistir ou reler o conteúdo de tempos em tempos.
💰💰💸💸
ALERTA SALÁRIO: se você já fez tudo o que falei para você fazer, aqui você já pode
pedir salários de R
$1.500 a R$2.000.
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
Eu quero que você tenha um nível bom de CSS, a ponto de conseguir recriar
interfaces de sites famosos como Netflix, Youtube, Instagram e etc. Para isto, quero
que você faça:
Atividade
Fazer o curso completo de CSS do SoloLearn. Eles disponibilizam o aplicativo mobile e o site web, então
use o que você se sentir mais confortável.
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
Depois de terminar, coloque o certificado do SoloLearn no seu Linkedin. Agora sim
vamos começar a entrar na parte profissional do CSS:
Atividade
Faça todos os Challenges do F
rotendMentor. Se conseguir, você está aprovado para o próximo nível!
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
ALERTA SALÁRIO: se você consegue clonar PERFEITAMENTE as interfaces de
💰💰💸💸
aplicações famosas com CSS, e já fez tudo o que falei para você fazer, nesse ponto você já
pode pedir salários de R
$2.500! R $3.500!
Javascript
Atividade
Faça o Curso de Javascript básico do canal do YouTube C
urso em vídeo.
Agora que você já tem uma visão inicial do Javascript, vai ser mais fácil acompanhar o
path de Javascript do FreeCodeCamp:
Atividade
Agora que você tem a visão inicial do JS, você vai conseguir acompanhar o passo a passo do curso
Javascript algorithms and data structures da FreeCodeCamp.
Em paralelo, faça o path de J S no SoloLearn.
Aqui você vai ganhar mais dois certificados, um do FreeCodeCamp e outro do
SoloLearn. Coloque-os em seu Linkedin.
Agora você terá que aprender boas práticas de desenvolvimento, preste atenção:
CLEAN CODE é uma das coisas mais importantes quando se trabalha em grupo. É
isso que vai te fazer ser diferenciado em relação aos outros devs. Olhe e estude com
atenção esse repositório e comece a aplicar essas técnicas em seus códigos.
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
☢ Background JOB - Os Frameworks mudam, as bases não!
💰💰💸💸
ALERTA SALÁRIO: se já fez tudo o que falei para você fazer, nesse ponto você já
pode pedir salários de R
$3.000 a R$3.500.
Ponto de inflexão: aqui você já descobriu se gosta mais da parte criativa do trabalho ou mais de
programação. Se for mais criativo, siga o caminho de CSS, Design, UX e UI.
Se não, continue e aprenda ReactJS e NodeJS.
ReactJS
Qual o motivo de aprender ReactJS?
Lembra que falamos do racional por trás da decisão web? O Termômetro da decisão
de aprender React é o momento do mercado. Essa é uma das tecnologias que mais
se consolidaram no mercado web nos últimos anos. Todos os milhares de sistemas
e aplicativos criados com essa tecnologia vão precisar de manutenção, e adivinha
quem vai estar preparado para ocupar essa posição? Você mesmo.
React abre portas para as melhores empresas do mercado. Além de usar os
mesmos conhecimentos de base do HTML, CSS e JS, você poderá criar aplicativos
desktop e mobile com essa mesma tecnologia. Então foque em aprendê-la em
profundidade! É o que faz mais sentido, tanto em termos de oportunidade de
mercado, quanto de reaproveitar o conhecimento para lançar suas ideias no
mercado (pois tenho certeza que em algum momento você vai começar a querer
lançar ideias de aplicativos ou sistemas na internet).
Todo o caminho anterior foi para você adquirir o conhecimento de base, que é o que
mais falta no mercado, agora sim você está preparado para usar frameworks.
ReactJS b ásico RocketSeat PT-BR
ReactJS d
o FreeCodeCamp EN
Agora que você sabe o básico, deixe de comer um lanche do McDonalds e compre
esse curso:
React - The Complete Guide (incl Hooks, React Router, Redux) do Academind. É o melhor e
mais completo que eu já vi sobre ReactJS. Eu recomendo que você invista 30 conto e compre esse
curso, porque vale a pena. No dia que escrevo isto ele custa R$ 21,99.
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
💡 DICAS DE OURO: Use Storybook para criar os componentes da sua aplicação, assim ficará
extremamente fácil identificar se os componentes atendem as diferentes versões dos requisitos, e será
muito mais fácil dividir e testar os componentes individualmente. Outra dica de ouro é o bit, que é
uma forma de compartilhar seus componentes entre aplicações e reaproveitar o máximo de código.
ALERTA SALÁRIO: se já fez tudo o que falei para você fazer, e já entende de
💰💰💸💸
Redux, Sagas, e Testes unitários com JEST, nesse ponto você já pode pedir salários de R$
3.000 a R$ 5.500.
NodeJS
A qualidade mais importante de um DEV node é saber fazer testes unitários.
Recomendo que você foque apenas em testes usando o JEST. Ele é o Test Runner,
que vai dar para ser reaproveitado em toda a Stack, tanto no Front (ReactJS), Mobile
(React Native) e Backend (NodeJS).
Comece tendo a visão geral da plataforma NodeJS com a apostila que está dentro da pasta
‘bônus/NodeJS/1_apostila-iniciantes.pdf’ (leia esse manual inteiro)
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
O próximo passo é voltarmos ao FreeCodeCamp e agora fazer o API’s and
Microservices Certification.
⏸🛑 ✋ PAUSA: TERMINE essa tarefa antes de continuar para as próximas.
Agora a dica mais importante de todas:
USE TESTES UNITÁRIOS PARA TUDO NA SUA VIDA.
Faça esse curso para entender o básico de testes usando chai, mas busque usar o Jest, que é o mais
completo e o que faz mais sentido focar no momento.
⏸🛑 ✋ PAUSA: TERMINE a tarefa dos testes unitários antes de continuar para as
próximas.
Assista esta aula de 1 horinha.
⏸🛑 ✋ PAUSA: TERMINE a tarefa dos testes unitários antes de continuar para as
próximas.
Agora assista esta excelente Playlist.
⏸🛑 ✋ PAUSA: TERMINE a tarefa dos testes unitários antes de continuar para as
próximas.
💡 DICAS DE OURO: Comece a automatizar o seu código, use o plop para criar geradores de código
para o seu projeto; tente sempre pensar em gerar código, vai ser a forma mais fácil de você começar a
ser mais produtivo nos projetos. Principalmente em processos seletivos onde você precisa entregar
RÁPIDO os desafios. Automatize CRUDS por exemplo.
ALERTA DE SALÁRIO: se já fez tudo o que falei para você fazer, e já entende de
React avançado, NodeJS avançado, e testes unitários com JEST avançado (mocks,
stubs, instrospecção e etc), boas práticas e Clean Code, e já fez mais de 10 mil
💰💰💸💸
commits ou trabalhou na prática 8 mil horas? Nesse ponto você já pode pedir salários
acima de R$ 7.500.
Depois disso, se quiser ganhar mais, ou você terá que ir para as capitais trabalhar
como PJ, ou trabalhar remoto para países gringos.
💡 DICAS DE OURO: a melhor fase para se preparar para entrevistas é quando você JÁ ESTÁ
empregado. NÃO ABAIXE A GUARDA, sempre fique pensando em passos maiores para a sua
carreira, sempre deixe o seu Github e Linkedin atualizados, e sempre se prepare para vagas gringas. Se
você estiver preparado para elas, você vai estar preparado P
ARA TUDO NA VIDA.
Você já deve ter visto que os cursos das melhores faculdades do mundo estão
disponíveis online. Sei que 99.9999999999% das pessoas que estão lendo isso não
vão fazer esses cursos (e eu te desafio), mas eles são abertos e quero te dar pelo
menos a oportunidade de saber que eles existem.
O site Class central separa, cataloga e organiza os melhores cursos das melhores
faculdades do mundo. A OSSU organiza todo o caminho para você se formar em
ciências da computação de forma autodidata. Não vou me estender nesse assunto,
mas eu seguiria pelo caminho da ClassCentral, e faria o CS50 de Harvard, caso você
tenha interesse.
A partir daqui a sua jornada estará em suas mãos. Para você filtrar os melhores cursos
e não ser enganado, use esse site. A comunidade organiza e filtra os melhores cursos
online relacionados a tecnologia. Pare de gastar seu dinheiro com cursos merdas de
R$ 5.997,00 por aí na internet.
Palavras Finais
Sentimento não paga conta, então engole esse choro e estude. Trabalhar duro e
focado é o que garantirá a sua vitória no longo prazo. Você vai se desanimar algumas
vezes, mas o seu jogo é o LONGO PRAZO.