Skip to content

IvanPSG-BR/Jornada-Dev-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jornada de Aprendizado Backend: De Juninho a Júnior

Índice


Descrição

Este repositório trata do meu ponto atual nos estudos de programação, documentando os conhecimentos que vou adquirindo pelo caminho, até passar de Trainee (ou Juninho, para os que sabem) para um Júnior consolidado e inserido no mercado de trabalho.


Auto-análise

Se o nível de conhecimento "Hello World no terminal" até Júnior fosse uma escala de 0 a 10, eu diria que estou no 5 ou 6. Entretanto, a escala de dificuldade que essa segunda metade possui, atualmente, é muito maior do que a primeira.

Abordando os conhecimentos:

  • Fundamentos em lógica e linguagem de programação (Intermediário)

  • Git/Github (Básico/Intermediário)

  • Estrutura de Dados e Algoritmos (Básico)

  • Framework Backend (Básico)

  • SQL (Básico)

  • Conceitos de API REST (Básico)

  • Padrões e Arquitetura (Básico)

  • Docker (Básico)

  • Testes Unitários e de Integração (nada)

  • CI/CD (nada)

  • Microsserviços e Relacionados (nada)

  • Cloud Computing (nada)

Percebeu algo? A maioria dos conhecimentos que eu deveria ter intermediário, estão como básico (DSA, Framework, SQL, API REST) e todos os que eu deveria ter uma noção básica, ainda não sei nada. A barreira de entrada do mercado dev hoje está cruel.

E é por isso mesmo que eu bolei um plano base de 2 anos (iniciando em 2026) realístico e alinhado com meus objetivos, ocupações atuais, possíveis distrações futuras e tópicos de estudo necessários, sendo possível expandir para mais tempo caso necessário. É uma estratégia de ataque orientada a projetos práticos, onde na marra vou aplicar tudo que não sei ainda e melhorar o que já sei, do jeitinho que eu gosto.


Decisões Estratégicas

Essa seção é para discorrer as alterações no plano devido à amadurecimento, eventuais problemas, etc. Eu fiz esse planejamento ano passado, estamos no início do 4º mês de 2026 e já mudei de ideia sobre algumas coisas.

  1. Seguir o planejamento da forma como está (apenas 2 anos, assuntos que divergem muito dos da faculdade), com faculdade ao mesmo tempo, é inviável pra mim. Ele precisa na medida do possível se alinhar com as matérias de cada semestre da faculdade para a carga cognitiva ser menor;
  2. Preciso estender o cronograma para no mínimo 3 anos, em 2 não dá de forma alguma pra aprender tudo isso, e tá tudo bem. Se em 3 anos eu não conseguir ficar em um nível > Estagiário, aí tem algo errado;
  3. Alguns projetos se tornaram um peso (NerdOS), outros menos prioritários (StarPiece) e outros "maiores" surgiram (Website portifólio freelance + projetos demo, Quartel General do Concurseiro);
  4. Não há motivo para mudar para C# futuramente. Apesar de Node.js + TS ser extremamente concorrido, também é muito requisitado e provavelmente carece de bons profissionais de verdade (geralmente os devs vão pelo caminho do React + Node porque foi vendido como "o mais fácil", e então o mercado ficou saturado de profissionais medíocres dessa Stack)

E o que isso significa, na prática?

  • Reformulação do Plano: Irei alinhar os assuntos dos meus estudos aprofundados pessoais com a teoria rasa, porém ampla, dada na universidade.
  • Extensão do Cronograma: Não há necessidade de tanta pressa para se tornar Júnior, já que ainda sequer tive experiência como estagiário. 2 -> 3 anos torna a realização do plano mais alcançável.
  • Priorização do que é promissor: Esse tipo de mudança é inevitável, já que ideias vão sempre surgindo e outras se revelando não tão interessantes. Porém agora vou tentar "trancafiar" os projetos atuais em mente (em especial o QGC).
  • Foco na Stack escolhida: Me tornar no mínimo Pleno em Node.js + TypeScript antes de sequer pensar em migrar. Mas é claro, ainda posso "brincar" com Python ou Go, por exemplo, ao longo desse período.

O Plano

Trimestre Mês Foco Principal Projetos e Aplicação Prática Tópicos de Estudo (Máx 3 por TRIMESTRE) Já Passou? O que foi Cumprido
Q1: Fundamentos Mês 1 --- --- --- ---
Mês 2 Volta ao Projeto NerdOS 1. SOLID (S)
2. ---
3. ---
Aprendizado SOLID (S)
Mês 3 SQL Profundo NerdOS 1. SQL Básico (CRUD, Agregações)
2. SOLID (S e D)
3. ---
Aprendizado SOLID (S)
Q2: Validação NerdOS + Freelance Setup Mês 4 Validação NerdOS NerdOS MVP (CRUD OS + Auth) 1. Fastify: Rotas, Middleware, Validação
2. PostgreSQL: Relacionamentos, Joins, Migrations
3. Git: Github Flow, Pull Requests, Boas práticas de commit
Mês 5 Deploy Simples NerdOS em Produção + Landing Page Freelance (mesmos 3 tópicos)
Mês 6 Feedback Real NerdOS com Cliente Piloto + Projetos Demo Freelance (mesmos 3 tópicos)
Q3: QGC Setup + TypeScript Essencial Mês 7 NestJS Fundamentos QGC: Setup do Backend + Schema Prisma 1. TypeScript Prático: Tipos, Interfaces, Reutilização
2. NestJS: Módulos, Controllers, Services, Injeção de Dependência
3. PostgreSQL: Índices, Transactions
Mês 8 ETL Python + API enem.dev QGC: Script de ingestão de questões (mesmos 3 tópicos)
Mês 9 Auth + Onboarding QGC: Google OAuth + Formulário inicial 1. Autenticação Básica
Q4: QGC Core + Testes Básicos Mês 10 Proxy-TRI + Dashboard QGC: Cálculo de nota ponderada + Gráfico simples 1. Lógica de Negócio: Cálculos, Regras, Validações
2. Testes de Integração: Supertest, Mocks básicos
Mês 11 Gamificação + UX QGC: Streaks + Feedback pós-resposta (mesmos 2 tópicos)
Mês 12 Deploy + Cache QGC: Render/Neon + Cache JSON (72h TTL) Cache em JSON
Q5: Backend Intermediário + Freelance (se houver) Mês 13 API Avançada QGC: Rate Limiting, Error Handling, Logs 1. Autenticação Avançada: JWT, Refresh Token, OAuth Flows
2. Freelance: Escopo, Comunicação com Cliente, Entrega (apenas se surgir demanda)
Mês 14 Features QGC (mesmos 2 tópicos)
Mês 15 Segurança Web QGC: OWASP Top 10 básico, SQL Injection prevention 1. Segurança da Informação Básica
Q6: Node.js Internals + Faculdade (SO/Redes) Mês 16 Node.js: Event Loop QGC + Faculdade (Sistemas Operacionais) 1. Node.js Internals: Event Loop, Async/Await, Streams
2. HTTP/Redes: Headers, CORS, Status Codes, DNS básico
3. Caching: Redis básico, Estratégias TTL
Mês 17 HTTP + Segurança QGC + Faculdade (Redes de Computadores) (mesmos 3 tópicos)
Mês 18 Monitoramento Básico QGC: Logs estruturados, Health checks (mesmos 3 tópicos)
Q7: Preparação para Estágio/Júnior Mês 19 Portfólio + LinkedIn QGC Alpha Finalizado + NerdOS (case) + Freelance (se houver) 1. Documentação: READMEs técnicos, Diagramas simples
2. Entrevistas: Comportamental + Técnica básica
3. Networking: LinkedIn, GitHub, Comunidades
Mês 20 Revisão Técnica Resolução de problemas + Simulações (mesmos 3 tópicos)
Mês 21 Busca Ativa Aplicação para vagas de Estágio/Júnior (mesmos 3 tópicos)
Q8: Primeiro Emprego (Estágio ou Júnior) Mês 22 Adaptação Corporativa Trabalho + Aprendizado no dia a dia 1. Processos de Time: Code Review, Git Flow corporativo
2. Aprendizado no Trabalho: Ferramentas, Domínio do Negócio
3. Ajuste de Rota: O que falta para consolidar como Júnior?
Mês 23 Consolidação Trabalho + Estudos pontuais (mesmos 3 tópicos)
Mês 24 Planejamento Ano 3 Revisão: Onde estou? Para onde vou? (mesmos 3 tópicos)
Q9: Docker + CI/CD (Agora sim, com emprego) Mês 25 Docker Básico QGC: Containerização para facilitar deploy 1. Docker: Comandos, Dockerfile, Docker Compose básico
2. CI/CD: GitHub Actions (build + deploy simples)
3. Observabilidade: Logs estruturados, Monitoramento básico
Mês 26 CI/CD Pipeline QGC: Automação de testes + deploy (mesmos 3 tópicos)
Mês 27 Deploy Profissional QGC: Pipeline completo (Dev → Prod) (mesmos 3 tópicos)
Q10: Cloud Fundamentos (Só o necessário) Mês 28 Cloud: Compute + DB QGC: Migrar para AWS/GCP free tier 1. Cloud: EC2/Compute Engine, RDS/Cloud SQL
2. Cloud: S3/Storage, CDN básico
3. Cloud: Monitoramento e Alertas simples
Mês 29 Cloud: Serverless (Intro) QGC: Lambda/Functions para tarefas assíncronas (mesmos 3 tópicos)
Mês 30 Escala Básica QGC: Load Balancer, Connection Pooling (mesmos 3 tópicos)
Q11: Arquitetura Modular (Intro a Microsserviços) Mês 31 Monolito Modular QGC: Separar módulos (Auth, Questões, Dashboard) 1. Arquitetura: Monolito Modular vs Microsserviços (conceitos)
2. Comunicação: HTTP interno, Eventos básicos
3. Design: Diagramas de arquitetura, Trade-offs simples
Mês 32 Filas e Background Jobs QGC: BullMQ para tarefas assíncronas (ETL, notificações) (mesmos 3 tópicos)
Mês 33 Documentação Técnica QGC: Escrever arquitetura para outros devs (mesmos 3 tópicos)
Q12: Consolidação como Júnior Mês 34 Revisão Geral Portfólio final + Case studies 1. Arquitetura: Padrões úteis (Repository, Strategy) - só o essencial
2. Especialização: Definir foco (Backend Node/TS) para próximo ano
3. Carreira: Negociação salarial, Plano para consolidar como Júnior
Mês 35 Aprendizado Contínuo Escolher 1 tópico para aprofundar em 2029 (mesmos 3 tópicos)
Mês 36 Transição De "Júnior em formação" para "Júnior consolidado" (mesmos 3 tópicos)

Esse plano é apenas uma base de referência que pode se estender por mais tempo. Mesmo assim, deixo a mensagem para o Ivan do futuro: por favor, faça.


Conhecimentos Adquiridos

Aqui será o índice para todos os arquivos localizados em assuntos. Você também pode ver a minha experiência que adquiri nos meus projetos. Conforme eu for aprendendo, esses diretórios irão sendo populados.


Relatório do Aprendizado Mensal

Mês 1 & 2

Em Janeiro ainda estava "atordoado" pela sensação de férias de final/começo de ano. Portanto, tirei para descansar e não produzi.

Fevereiro chegou e (bem) lentamente fui voltando ao ritmo. Não consegui exercitar meu SQL, mas terei muita oportunidade de fazer isso durante a faculdade, que adentrei esse ano. Apesar disso, fui reacostumando ao meu projeto atual, o NerdOS, e consegui pôr em prática um pouco de Docker (comandos, YAML do Docker Compose) e ir desenvolvendo mais minhas noções de Segregação de Responsabilidades.

Nesse meio tempo também resgatei os benefícios de estudante do Github (dentre eles Copilot Pro, Créditos na Azure e DigitalOcean, nomes de subdomínio, etc), que vão auxiliar muito no meu aprendizado.

Agora, com o início do 3º mês, os focos serão:

  • Adaptação ao ambiente universitário
  • Foco no desenvolvimento (e aprendizagem prática proveniente) do NerdOS
  • Estudar, a partir do livro "Entendendo Algoritmos", Estrutura de Dados e Algoritmos
  • (não prioritário) Reforçar meu SQL com agregações, ordenações e (se possível) Joins

Mês 3

Maio foi... Ocioso. Não fiz muita coisa, porém apesar disso, fui acostumando à rotina universitária.

Era de se esperar que eu não conseguisse fazer muita coisa, porém foi um mês "refrescante". Tive novas ideias, refleti sobre decisões e recalculei a rota (falo melhor disso na seção "Decisões Estratégicas"). Agora o plano está ainda mais realista e adequado à faculdade

Em abril a ideia é ser humilde e engrenar devagar:

  • Ir bem nas provas desse mês
  • Retomar o NerdOS MAIS uma vez, com uma visão mais clara e sem lenga-lenga: ou vai pra frente, ou morre de vez
  • (paralelamente) Trabalhar aos poucos no portfólio freelance

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors