1. 1 - Entendendo a carreira de programador(a)
1.1. O que vamos aprender nessa série?
1.1.1. O que é a carreira de programador e suas divisões
1.1.2. Como buscar e encontrar Jobs
1.1.3. Como trabalhar como freelancer
1.1.4. Como continuar evoluindo
1.2. O que significa trabalhar como programador(a)?
1.2.1. Segundo a Wikipedia
1.2.1.1. Programador é alguém que escreve, desenvolve ou faz manutenção de software em um grande sistema ou alguém que desenvolve software para uso em computadores pessoais.
1.2.2. Possíveis áreas
1.2.2.1. Desenvolvimento Web
1.2.2.2. Desenvolvimento Mobile
1.2.2.3. Desenvolvimento de games
1.2.2.4. Desenvolvimento de sistemas embarcados
1.2.2.5. Desenvolvimento de sistemas de inteligencia artificial
1.3. Modalidades de trabalho como programador(a)
1.3.1. Presencial x Remoto
1.3.2. Fixo x Freelancer
1.3.3. CLT x PJ
1.3.4. Brasil x Exterior
1.4. Divisão de conhecimento entre programadores
1.4.1. Júnior
1.4.2. Pleno
1.4.3. Sênior
1.5. Programadores ganham bem?
1.5.1. Vagas de júnior
1.5.1.1. CLT
1.5.1.2. PJ
1.5.2. Vaga de pleno
1.5.2.1. 1
1.5.2.2. 2
1.5.3. Vage de sênior
1.5.3.1. 2
1.5.3.2. 1
2. 2 - Como buscar e encontrar Jobs
2.1. Defina qual a área dentro da programação você deseja trabalhar
2.1.1. Exp
2.1.1.1. Desenvolvimento Web
2.1.1.2. Desenvolvimento Mobile
2.2. Defina a modalidade de trabalho que você deseja
2.2.1. Presencial x Remoto
2.2.2. Fixo x Freelancer
2.2.3. CLT x PJ
2.2.4. Brasil x Exterior
2.3. Comece a pesquisar as vagas
2.3.1. Bons sites
2.3.1.1. ProgramaThor - Oportunidades para Desenvolvedores 🚀
2.3.1.2. trampos para profissionais de Comunicação, Marketing e Tecnologia
2.3.1.3. APinfo - O ponto de encontro dos profissionais de informática
2.3.1.4. google.com
2.3.1.5. https://www.linkedin.com/jobs/desenvolvedor-javascript-vagas
2.3.1.6. https://angel.co
2.4. Analise os perfis pedidos nas vagas
2.4.1. Tudo que está sendo pedido é realmente essencial?
2.4.2. O que está sendo pedido de essencial que você ainda não sabe?
2.4.3. Você poderia aprender rapidamente o que falta?
2.4.4. Liste os principais pontos essenciais
2.4.4.1. Exp
2.4.4.1.1. NodeJs
2.4.4.1.2. React
2.4.4.1.3. Docker
2.5. Identidade online
2.5.1. Quatro plataformas importantes
2.5.1.1. Linkedin
2.5.1.2. Github
2.5.1.3. Portfólio online
2.5.1.4. Currículo gráfico
2.5.1.4.1. Currículo Gráfico
2.5.2. O que ter em mente quando cria-la?
2.5.2.1. Ela deve ser criada pensando nas vagas que você deseja
2.5.2.2. Ela deve estar sempre atualizada
2.5.2.3. Ela deve refletir o melhor sobre você, suas experiencias e suas pretensões
2.5.3. Pontos importantes para o portfólio, currículo e Linkedin
2.5.3.1. Uma foto serena
2.5.3.2. O título da vaga que você busca
2.5.3.2.1. Desenvolver NodeJs júnior
2.5.3.3. Suas experiencias prévias de trabalho bem organizadas
2.5.3.3.1. Não coloque experiencias que não tenham alguma relação com o que você busca
2.5.3.4. Suas experiencias educaionais
2.5.3.4.1. Coloque todos os cursos de TI que fez especificando o que aprender de mais importante em cada um deles
2.5.3.5. Links para suas outras redes de trabalho
2.5.3.5.1. Linkedin
2.5.3.5.2. Github
2.5.3.5.3. Portfólio online
2.5.3.6. Um texto na BIO descrevendo brevemente sua história (que tenha relação com programação) e sua pretensão atual (relacionada ao perfil da vaga que busca)
2.5.3.7. [No linkeding]
2.5.3.7.1. Poste com constância sobre projetos que você participou (open source, projetos de cursos e etc) e artigos que escreveu ou leu.
2.5.4. Pontos importantes para o Github
2.5.4.1. Colocar os projetos que participou com o Título e Readme bem claros e organizados
2.5.4.2. Ajustar ou deixar privado os projetos que não estejam com a qualidade adequada
2.5.4.3. Colocar na BIO um resumo do que você faz
2.6. Na hora de se candidatar
2.6.1. Garanta que sua identidade online está OK
2.6.2. Busque novamente pelas vagas que estão dentro do seu interesse (tipo e modalidade)
2.6.3. Dedique alguns minutos para escrever a mensagem de candidatura
2.6.3.1. Diga quem você é
2.6.3.2. O que eu você fez (cursos e experiencias prévias) que servirá como base técnica para esta vaga
2.6.3.3. Como você pode fazer a diferença na empresa
2.6.4. Se candidate a pelo menos 5 vagas por dia dando a atenção necessária a cada uma
2.7. No processo seletivo
2.7.1. Mantenha uma planilha com o status de cada processo seletivo que você está participando
2.7.2. Responda as comunicações com energia e qualidade
2.7.2.1. Fique atento a maneira como escreve
2.8. No desafio técnico
2.8.1. Resolva primeiro o que foi pedido
2.8.1.1. Espirito de MVP
2.8.2. Inclua features extras se possível
2.8.3. Caso não dê tempo de fazer tudo, entregue da mesma forma, justifique o porque e diga o que vai fazer para conseguir entregar da próxima.
2.8.4. Deixe bem claro na descrição da entrega o que foi feito do que foi pedido, o que foi feito de extra e o que não foi feito e porque (se for o caso)
2.9. Na entrevista
2.9.1. Conte um pouco sobre
2.9.1.1. Quem é você
2.9.1.2. Quais suas experiencias que te dão a base para a vaga (experiencias de trabalho e estudos)
2.9.1.3. Como eu posso agregar a equipe [demonstre sua vontade de ajudar a empresa]
3. 3 - Como trabalhar como freelancer
3.1. O que é ser freelancer?
3.2. Na hora de buscar vagas
3.2.1. Bons sites
3.2.1.1. Freelancer
3.2.1.2. Workana - Find Freelancers & Freelance Jobs Online
3.2.1.3. 99Freelas
3.2.1.4. http://fiverr.com
3.3. Na hora de se candidata ao Job
3.3.1. Quem é você
3.3.2. Quais das suas experiencias vão ser úteis para resolver o problema do cliente
3.3.3. Como você vai fazer a entrega e os feedbacks ao cliente
3.4. Na hora de se organizar
3.4.1. Crie uma planilha (ou um trello/meistertask) para se organizar
3.4.1.1. Nome do cliente
3.4.1.2. Descrição do Projeto
3.4.1.3. Status
3.4.1.3.1. Aceito
3.4.1.3.2. Aguardando
3.4.1.3.3. Recusado
3.4.1.3.4. Entregue
3.4.1.4. Link para o projeto no site
3.4.1.5. Link para o documento com mais detalhes sobre o projeto
3.4.1.6. Valor total
3.4.1.7. Valor recebido
3.4.1.8. Prazos
3.5. Na hora de dar o start no projeto
3.5.1. Combine exatamente cada feature que será construída e peça para o cliente ler e ver se concorda
3.5.1.1. Caso ele peça mais coisas, cobre separado por hora
3.5.2. Combine com o cliente como será a entrega do projeto
3.5.2.1. Onde o código vai ficar
3.5.2.2. Onde vai ser o deploy (se for o caso)
3.5.2.3. Quais são as taxas de hospedagem (se for o caso)
3.5.2.4. Entregas parciais por semana
3.5.2.4.1. Separe o prazo total em semanas, planeje para ter algo novo para mostrar a cada semana para o cliente
3.5.3. Obs: Tudo tem que ser combinado nesta fase, caso você deixa para depois corre o risco de trabalhar mais por menos e ainda ter conflitos com o dono do projeto
3.6. Na hora de entregar
3.6.1. Caso estoure o prazo porque o cliente pediu mais do que o inicial
3.6.1.1. Cobre por hora extra
3.6.2. Entregue tudo e peça para o cliente finalizar o pagamento
3.6.3. Pergunte ao cliente se você pode colocar o trabalho no seu portfólio (um print com a descrição por exemplo)
3.7. Ferramentas úteis
3.7.1. Para cobrar
3.7.1.1. PagSeguro: Máquina de Cartão, Vendas Online e Conta Digital PagBank
3.7.1.2. Bargeldloses Bezahlen - Online Shopping | PayPal DE
3.7.1.3. Transfira Dinheiro online | Envie dinheiro para o exterior com a TransferWise
3.7.2. Para se organizar
3.7.2.1. Task Management for Teams - MeisterTask
3.7.2.2. Trello
3.7.3. Para se comunicar
3.7.3.1. http://hangouts.google.com
3.7.4. Para planejar e exibir o planejamento
3.7.4.1. MindMeister: Online Mind Mapping and Brainstorming
3.7.4.2. Home - Pencil Project
3.7.4.3. InVision | Digital product design, workflow & collaboration
3.8. Dicas extras
3.8.1. Tenha uma reserva financeira de pelo menos 3 meses
3.8.2. Pense que essa é uma carreira de longo prazo, progressivamente vai se tornando mais fácil e lucrativo (se você melhorar progressivamente)
3.8.2.1. Clientes viram clientes fixos
3.8.2.2. Suas habilidades técnicas aumentam
3.8.2.3. Suas habilidades sociais aumentam
3.8.2.4. Seu portfólio melhora
4. 4 - Como continuar evoluindo
4.1. Você precisa saber que:
4.1.1. Programação é uma profissão em que você precisa evoluir sempre
4.1.2. As duas maneiras mais fáceis de evoluir
4.1.2.1. Estudando
4.1.2.2. Trabalhando
4.2. Quais pontos são importantes
4.2.1. Hard Skills
4.2.1.1. Habilidades técnicas
4.2.1.2. Sugestões
4.2.1.2.1. Desenvolvimento de APPs mobile com React Native
4.2.1.2.2. Novos frameworks Javascript
4.2.1.2.3. Uso de banco de dados SQL
4.2.1.2.4. Docker
4.2.1.2.5. Deploy em VPS
4.2.1.2.6. Testes automatizados
4.2.2. Soft Skills
4.2.2.1. Habilidades sociais
4.2.2.2. Sugestões
4.2.2.2.1. Trabalho em equipe
4.2.2.2.2. Comunicação escrita e falada
4.2.2.2.3. Controle emocional
4.2.2.2.4. Gerenciamento de times
4.2.2.2.5. Gestão de tempo
4.2.2.2.6. Organização
4.2.2.2.7. Lógica
4.2.3. Inglês
4.2.3.1. italki: Learn a language online
4.3. O mais importante
4.3.1. Baixe o mapa
4.3.2. Aplique o que foi ensinado
4.3.3. Compartilhe seus resultados