Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md

README.md

FullStack Learning Path (WIP)

Um guia objetivo e prático para te guiar no aprendizado fullstack passando por backend, frontend e devops.

Indicado para você que está começando, ou para um frontend que quer conhecer backend e vice-versa ou mesmo para você que quer reafirmar conceitos e aprimorar conhecimentos.

Esse guia adota duas premissas:

  1. Te ensinar 20% de tudo para resolver 80% dos problemas, pois o estudo e aprimoramento é constante, ao infinito e além. Você vai aprender aquele tanto suficiente para conseguir criar e ser produtivo.

  2. Não existe bala de prata. As tecnologias desse guia foram selecionadas de acordo com critérios que atendem o contexto e a realidade da LNA Systems. Isso significa que essas tecnologias não são melhores que outras ou as únicas que deveriam ser estudadas durante a sua carreira.

E pra cada assunto novo, você irá descobrir links e referências para áreas relacionadas. Calma, não mergulhe de cabeça em tudo porque irá se perder, vá anotando e fazendo um mapa mental pra te ajudar a ligar os pontos do cenário macro, porém se atente em seguir o guia que te dá o caminho do essencial primeiro.

Senta que lá vem história...

Antes de sujar a mão com código, você precisa saber como a história foi moldada aos trancos e barrancos (para o bem ou para o mau) para entender como e porque as coisas funcionam atualmente. Prepara a pipoca.

História das linguagens: Parte 1 (11m) e Parte 2 (13m)

Uma característica fundamental de programadores experientes é escrever menos código, evitando desperdício e maximizando a entrega de valor. Lembre-se: código é um meio para se criar uma solução para um problema do mundo real, e não a atividade fim. Apesar desse pensamento não ser tão trivial, é importante começar a se habituar com o conceito YAGNI.

Trilhas

Programação tem muitas vertentes, e no mundo do desenvolvimento web podem ser separadas em dois principais grupos: backend e frontend. De forma simplista o backend é aquilo não se vê, é o código que implementa regras de negócio e fica no servidor, e o frontend é a parte visual que roda no navegador. E um terceiro caminho é o de DevOps que é o operacional de infraestrutura trabalhando em conjunto com o desenvolvimento.

Vamos estudar tudo isso um pouco mais a fundo:

Primeiro, assista o vídeo Conhecimentos Básicos para Iniciantes em Programação (21m) que irá dar uma visão prática de como é começar em Programação

Depois entenda a A História do Front-End (48m)

E finalmente vamos estudar as entranhas dos sistemas com o vídeo Entendendo Back-End para Iniciantes em Programação Parte 1 (47m), Parte 2 (55m), Parte 3 (42m) e Parte 4 (1h01m).

E por último mas não menos importante, temos a área de Devops que é integrado com desenvolvimento mas tem suas próprias características e portanto todo seu conteúdo será tratado no tópico específico de Devops. Pode pular pra lá se o seu foco é Devops.

Fundação

Um profissional não resolve nada sem conhecer suas ferramentas e sem saber se comunicar. É o básico do básico. Então vamos investir um tempo para fortalecer a base estudando os itens abaixo:

Inglês

Não, esse guia não tem um curso de inglês embutido. Mas é extremamente importante saber se comunicar em inglês: ler, escrever, ouvir e falar. Esse guia deixa apenas o vídeo Como eu aprendi Inglês? E entendendo "padrões" (25m) como tarefa para que seja um start no seu estudo de inglês, que deve ocorrer em paralelo com o estudo de programação.

Lógica de Programação

Adquirir raciocínio lógico e conhecer as estruturas bases da programação é essencial antes de aprender uma linguaguem ou plataforma específica.

Livro Lógica de Programação

Git

De nada adianta escrever código se não puder compartilhar com outras pessoas ou se não puder obter o código de outros. Programação sem Git é como viver numa ilha deserta.

Aprenda Git - um guia prático que combina teoria e exercícios. Complete todos.

git - the simple guide - esse simples guia do Git vai te ajudar a reforçar o que foi aprendido no GitHub Guides e também serve como consulta no dia-a-dia. E sim, o git é uma ferramenta muito usada.

Sistema/Terminal

TODO

Backend

Elixir

Como você já aprendeu, existem centenas de linguagens com variados propósitos e não existe a linguagem perfeita. E este guia adota a linguagem Elixir pelos seguintes motivos:

  • The Free Lunch Is Over (não precisa ler este artigo inteiro mas fique a vontade se quiser). O ponto crucial é: "The major processor manufacturers and architectures, from Intel and AMD to Sparc and PowerPC, have run out of room with most of their traditional approaches to boosting CPU performance. Instead of driving clock speeds and straight-line instruction throughput ever higher, they are instead turning en masse to hyperthreading and multicore architectures.". Portanto, uma linguagem que possui suporte nativo a concorrência tem mais chances de sobreviver no longo prazo.
  • Por possuir recursos como imutabilidade, pattern matching, documentação como first-class citizen, processos, tolerância a falhas, streams e um bom tooling nativo. (Você vai aprender tudo isso)
  • Comunidade forte que resulta em boas libs, fóruns, livros, cursos e eventos.

Para se aventuar no aprendizado de Elixir, complete o curso Elixir for Programmers que oferece textos, vídeos e exercícios para afirmar o que é aprendido. Você irá construir um jogo, divirta-se.

O curso é completo e suficiente porém há 3 livros que podem ser usados em paralelo para tirar dúvidas ou mostrar uma abordagem diferente do mesmo assunto:

Programming Elixir

Elixir in Action

The Litter Elixir & OTP Guidebook

Não é obrigatório ler os 3 livros, use como complemento do curso.

Frontend

TODO: html css javascript vuejs/angular/react

DevOps

Primeiro vamos entender a história o alinhar o entendimento. Assista o vídeo Entendendo "Devops" para Iniciantes em Programação (Parte 1) (47m) e depois assista Entendendo "Devops" para Iniciantes em Programação (Parte 2) (41m)

Fluxo de Trabalho

Partindo pra prática no mundo real, o primeiro passo é entender o fluxo de trabalho. E este fluxo é gerenciado com Kanban:

Kanban em 5 minutos (5m)

Tasks para acompanhar o progresso

  • Assistir o vídeo História das linguagens parte 1
  • Assistir o vídeo História das linguagens parte 2
  • Ler o artigo YAGNI
  • Assistir o vídeo Conhecimentos Básicos para Iniciantes em Programação
  • Assistir o vídeo A História do Front-End
  • Assistir o vídeo Entendendo Back-End para Iniciantes em Programação parte 1
  • Assistir o vídeo Entendendo Back-End para Iniciantes em Programação parte 2
  • Assistir o vídeo Entendendo Back-End para Iniciantes em Programação parte 3
  • Assistir o vídeo Entendendo Back-End para Iniciantes em Programação parte 4
  • Assistir o vídeo Como eu aprendi Inglês ?
  • Ler o livro Lógica de Programação
  • Completar o mini-curso Aprenda Git
  • Ler o guia git - the simple guide
  • Completar o curso Elixir for Programmers
  • Assistir o vídeo Entendendo DevOps para Iniciantes em Programação parte 1
  • Assistir o vídeo Entendendo DevOps para Iniciantes em Programação parte 2
  • Assistir o vídeo Kanban em 5 minutos

Referências

You can’t perform that action at this time.