Ir para o conteúdo

Dev Roadmap

Python · TypeScript

$ dev-roadmap --year 2026
open source

trilha de aprendizado · 2026

do zero aodev júnior

em 9 meses — do básico ao deploy

95

módulos

5

fases

100%

gratuito

conteúdo

Começar pela Fase 1
0 dias de streak 0% completo
Módulos de aprendizado

Módulos de aprendizado

Cada módulo: objetivo claro, checklist e recursos. Clique nos itens para ver explicações detalhadas.

Fundamentos Absolutos

Base que todo dev precisa. Sem isso, tudo mais vai desmoronar. Não pule esta fase.

duração

4–6 semanas

Projetos guiados

Projetos guiados por fase

Um projeto concreto por fase, com requisitos mínimos e dicas de README para o portfólio. Complete os entregáveis antes de avançar para a próxima fase.

Fase 11–2 semanas

Ferramenta CLI em Python

Seu primeiro projeto real com lógica, arquivos e terminal

0%

0/6

Objetivo

Construir uma ferramenta de linha de comando que resolva um problema real e funcione do início ao fim sem travar.

Stack

Python 3.12argparse ou clickos / pathlibjson ou csv

Entregáveis mínimos

Aceitar argumentos pela linha de comando (--help funcional)

Ler e escrever em pelo menos um arquivo (txt, csv ou json)

Tratar erros com mensagens úteis ao usuário (try/except)

README explicando o que faz, como instalar e exemplos de uso

Repositório no GitHub com .gitignore configurado

Pelo menos 1 função testável com pytest

Seu progresso

Progresso

0%

0 de 88 itens

Fase atual

Fase 1

não iniciada

Dias estudados

0

0 dias seguidos

Duração

9mo

1–2h por dia

Meta semanal
0.0h registradas0%
·
Seg
·
Ter
·
Qua
·
Qui
·
Sex
·
Sáb
·
Dom

Foco de aprendizado

Seu progresso

ao vivo

Total concluído

0%0/88

Marque itens no checklist para começar

Por fase

0%
Fundamentos Absolutos
0%
Programação Intermediária
0%
TypeScript & Web
0%
Backend & Banco de Dados
0%
Portfólio & Empregabilidade
Fundamentos Absolutosatual
0/20
Programação Intermediária
0/17
TypeScript & Web
0/17
Backend & Banco de Dados
0/17
Portfólio & Empregabilidade
0/17
Fáceis0%

0/32

Médios0%

0/44

Difíceis0%

0/12

Arquitetura, redes & lógica

Arquitetura & Fundamentos

O que a maioria dos cursos não ensina mas toda empresa espera que você saiba. Internet, redes, sistemas, bancos de dados e como treinar lógica de verdade.

💡

Esta seção é referência — não precisa ler tudo agora

Iniciantes: leia Como a Internet Funciona e Treino de Lógica agora. Volte às seções de Arquitetura de Software, Banco de Dados e Infra quando chegar às Fases 3–5.

Como a Internet Funciona

O que acontece entre você digitar uma URL e a página aparecer.

DNS — Domain Name System

Serviço que traduz nomes legíveis (google.com) em endereços IP (142.250.80.46). É a agenda telefônica da internet.

Por que importa: Entender DNS te ajuda a debugar problemas de domínio, configurar servidores e entender latência de rede.
DNSIPResolverTTL

HTTP & HTTPS

Protocolo de comunicação entre browsers e servidores. HTTP/1.1 → HTTP/2 → HTTP/3. HTTPS adiciona TLS para criptografar o tráfego.

Por que importa: Toda API que você consome usa HTTP. Saber métodos, headers, status codes e caching é fundamental para backend.
GET/POST/PUT/DELETEHeadersStatus CodesTLSHTTP/2

TCP/IP — O protocolo de transporte

TCP garante entrega ordenada e confiável de pacotes. IP é o endereçamento. Juntos formam a base da internet.

Por que importa: TCP vs UDP é decisão arquitetural importante (streaming usa UDP, APIs usam TCP). Afeta performance e confiabilidade.
TCPUDPIPHandshakePacotesPortas

Como o Browser Funciona

URL → DNS lookup → TCP connection → HTTP request → HTML parsing → CSS/JS load → Render tree → Layout → Paint → Composite.

Por que importa: Entender o pipeline de render é essencial para performance web. Critical rendering path determina o quão rápida é a página.
DOMCSSOMRender TreeLayoutPaintReflow

WebSockets & SSE

WebSockets: conexão bidirecional persistente entre cliente e servidor. SSE: stream de eventos unidirecional do servidor.

Por que importa: Para chats, dashboards em tempo real, notificações push e multiplayer. Alternativa mais eficiente que polling.
ws://ws.send()onmessageEventSourceLong Polling

Cookies, Sessions & JWT

Cookies: dado no browser vinculado ao domínio. Session: estado no servidor. JWT: token autocontido com claims assinados.

Por que importa: Autenticação é um dos tópicos mais críticos em web. Você vai implementar login em toda API que construir.
Set-CookieHttpOnlySameSiteJWTBearerRefresh Token

Arquitetura de Software

Como estruturar sistemas que crescem sem virar um caos.

MVC — Model View Controller

Padrão que separa dados (Model), apresentação (View) e lógica de negócio (Controller). Base de Django, Rails, Laravel.

Por que importa: É o padrão de arquitetura mais ensinado e usado. Entender MVC te ajuda a ler e contribuir em qualquer codebase.
ModelViewControllerDjango MVTSeparation of Concerns

REST vs GraphQL vs gRPC

REST: recursos via HTTP. GraphQL: query flexível, cliente decide o que recebe. gRPC: RPC binário de alta performance.

Por que importa: Cada projeto usa um. REST é o padrão para maioria. GraphQL para frontends complexos. gRPC para microservices.
EndpointsSchemaResolverProtobufOver-fetching

Monolito vs Microservices

Monolito: tudo em um processo. Microservices: serviços independentes comunicando via API. Cada um tem trade-offs reais.

Por que importa: Júnior geralmente trabalha em monolitos. Mas precisa entender microservices para crescer na carreira.
Deploy únicoEscalabilidadeLatência de redeService MeshDocker

Clean Architecture & SOLID

Estrutura de código em camadas (entities → use cases → adapters → frameworks). Dependências apontam para dentro.

Por que importa: Código testável, substituível e manutenível a longo prazo. Evita o 'big ball of mud' que paralisa times.
EntitiesUse CasesAdaptersDependency InversionPorts & Adapters

Event-Driven Architecture

Componentes comunicam via eventos/mensagens em vez de chamadas diretas. Usa filas (RabbitMQ, Kafka, SQS).

Por que importa: Sistemas modernos e escaláveis usam eventos. Entender esse padrão é diferencial para vagas sênior.
PublisherSubscriberQueueKafkaRabbitMQEvent Bus

12 Factor App

Metodologia com 12 boas práticas para apps SaaS: config em env vars, logs como streams, processos stateless.

Por que importa: É o guia de como construir apps prontos para cloud. Seguido por praticamente todo time de devops moderno.
Env varsStatelessConfigLogsDisposabilityDev/Prod parity

Bancos de Dados — Por Dentro

Como dados são armazenados, indexados e recuperados eficientemente.

SQL vs NoSQL — Quando usar cada

SQL: dados relacionais com schema fixo, ACID, JOINs. NoSQL: documentos, chave-valor, grafos, colunares. Cada um tem casos de uso.

Por que importa: Escolher o banco errado custa caro. PostgreSQL para maioria dos casos, MongoDB/Redis para casos específicos.
PostgreSQLMySQLMongoDBRedisDynamoDBCassandra

Indexes — A mágica de queries rápidas

Estrutura de dados auxiliar (geralmente B-Tree) que acelera buscas sem varrer toda a tabela. Trade-off: velocidade de leitura vs escrita.

Por que importa: Uma query sem index em tabela com 1M rows pode ser 100x mais lenta que com index. Imprescindível para performance.
B-TreeHash IndexEXPLAIN ANALYZECovering IndexComposite Index

ACID & Transações

Atomicity: tudo ou nada. Consistency: estado válido. Isolation: transações não se interferem. Durability: persiste após commit.

Por que importa: Sem transações, um pagamento poderia debitar sem creditar. É a base de qualquer sistema financeiro ou crítico.
BEGINCOMMITROLLBACKIsolation LevelDeadlockMVCC

N+1 Query Problem

Bug de performance onde você faz 1 query para listar e N queries para buscar detalhes de cada item. Mata produção.

Por que importa: Todo dev que usa ORM já cometeu esse erro. Identificar e resolver com eager loading é habilidade obrigatória.
ORMEager Loadingselect_relatedJOINDataLoader

Caching — Redis e estratégias

Armazenar resultados de queries ou computações em memória para evitar re-trabalho. Redis, Memcached, cache em processo.

Por que importa: Cache bem aplicado reduz latência em 10-100x e load no banco. É uma das ferramentas mais impactantes de performance.
RedisCache MissTTLInvalidationWrite-throughLRU

Infraestrutura & Cloud

Do código no seu laptop ao servidor que atende milhões de usuários.

IaaS, PaaS e SaaS

IaaS: você gerencia VM e SO (AWS EC2). PaaS: você entrega código, plataforma cuida do resto (Railway, Heroku). SaaS: produto pronto.

Por que importa: Como júnior, você vai usar PaaS (Railway, Render, Vercel). Mas precisa entender a camada abaixo para debugar.
AWSGCPAzureRailwayRenderVercelFly.io

CI/CD — Integração e Deploy Contínuos

CI: todo push roda testes automaticamente. CD: se testes passam, deploy acontece automaticamente. GitHub Actions implementa ambos.

Por que importa: Times modernos não fazem deploy manual. Saber configurar CI/CD básico te diferencia muito como júnior.
GitHub ActionsPipelineBuildTestDeployArtifact

Containers vs VMs

VM: sistema operacional completo virtualizado. Container: processo isolado compartilhando o kernel do host. Docker usa containers.

Por que importa: Containers são mais leves, iniciam em segundos e garantem paridade entre dev e produção. Docker é obrigatório.
DockerKernelNamespacecgroupsImageContainer Registry

Load Balancer & Reverse Proxy

Load balancer distribui tráfego entre múltiplas instâncias. Reverse proxy (Nginx, Caddy) fica na frente do app server.

Por que importa: Para escalar horizontalmente e ter zero downtime em deploys. Nginx é encontrado em praticamente todo servidor.
NginxRound RobinSticky SessionHealth CheckSSL Termination

Observabilidade — Logs, Métricas e Traces

Logs: eventos textuais. Métricas: valores numéricos ao longo do tempo. Traces: rastreio de uma requisição entre serviços.

Por que importa: Sem observabilidade, você não sabe o que está quebrando em produção. Essencial para qualquer app sério.
Structured LogsPrometheusGrafanaOpenTelemetrySentryDatadog

Arquitetura de Computadores

Como o hardware funciona e como isso impacta o software que você escreve.

CPU — Como o processador executa código

A CPU busca instrução na memória (fetch), decodifica (decode) e executa (execute). Ciclo de clock determina quantas instruções por segundo. Superscalar: executa múltiplas instruções em paralelo.

Por que importa: Entender CPU cache, branch prediction e pipeline explica por que loops em ordem de memória são 10x mais rápidos que aleatórios.
ClockPipelineCache L1/L2/L3Branch PredictionCoresHyper-threading

Memória — Stack, Heap e além

Stack: alocação automática LIFO para variáveis locais/chamadas de função. Heap: alocação dinâmica manual ou por GC. Cache da CPU: hierarquia L1→L2→L3→RAM→Disco.

Por que importa: Stack overflow, memory leaks e performance de cache são problemas reais do dia a dia. Entender memória te diferencia.
Stack FrameHeap AllocationGCmallocLocality of ReferenceDRAM

Processos vs Threads

Processo: programa isolado com seu próprio espaço de memória. Thread: unidade de execução dentro de um processo, compartilhando memória. Context switch tem custo.

Por que importa: Python GIL, Node.js event loop, asyncio e multiprocessing fazem sentido quando você entende a diferença entre processo e thread.
PIDContext SwitchConcorrênciaParalelismoGILThread Pool

Sistema Operacional — O intermediário

O SO gerencia hardware para programas via syscalls. Abstrai CPU (scheduling), memória (virtual memory, paging), disco (filesystem) e rede (socket API).

Por que importa: Todo código que você escreve passa pelo SO. Entender syscalls, signals e o kernel te ajuda a debugar problemas profundos.
KernelSyscallSchedulerVirtual MemoryPage FaultFile Descriptor

I/O — Disk, Network e Blocking

I/O síncrono (blocking): programa pausa esperando. Assíncrono: programa continua e recebe callback/evento. I/O é ordens de magnitude mais lento que CPU.

Por que importa: Por que Node.js e asyncio existem: I/O-bound apps travavam threads esperando disco/rede. Entender isso é base de performance.
Blocking I/ONon-blockingepoll/kqueueEvent LoopBufferZero-copy

Números que todo dev deve saber

L1 cache: ~1ns. RAM: ~100ns. SSD: ~100μs. HDD: ~10ms. Rede local: ~1ms. Internet (Brasil→EUA): ~150ms. Esses números definem arquitetura.

Por que importa: Saber esses tempos explica por que cache existe, por que async I/O importa e onde gastar esforço de otimização.
LatênciaCache HitBandwidthThroughputLatency Numbersns/μs/ms

Treino de Lógica de Programação

Como e onde praticar para chegar bem nas entrevistas técnicas.

Por onde começar: Arrays e Strings

80% dos problemas de entrevista envolvem arrays e strings. Domine: dois ponteiros, sliding window, prefix sum e hashmaps.

Por que importa: São os padrões mais frequentes em entrevistas de empresas brasileiras e internacionais.
Two PointersSliding WindowHashMapPrefix SumIn-place

Recursão e Backtracking

Recursão: função que chama a si mesma com caso base. Backtracking: recursão que desfaz escolhas quando bate em beco sem saída.

Por que importa: Problemas de árvore, permutações e combinações são resolvidos com recursão. Fundamental para entender algoritmos avançados.
Base CaseCall StackMemoizaçãoN-QueensPermutationsSubsets

Estruturas de Dados essenciais

Stack (LIFO), Queue (FIFO), LinkedList, HashTable, Binary Tree, Heap, Graph. Cada uma é otimizada para um tipo de operação.

Por que importa: A escolha da estrutura de dados certa muda um algoritmo O(n²) para O(n log n). É o que diferencia um dev bom.
StackQueueHashMapBSTHeapAdjacency List

Big-O — Análise de complexidade

Notação que descreve como o tempo/memória cresce com o tamanho da entrada. O(1) > O(log n) > O(n) > O(n log n) > O(n²).

Por que importa: Toda entrevista técnica pergunta sobre complexidade. Código que funciona mas é O(n²) em 10M items vai explodir.
O(1)O(log n)O(n)O(n log n)O(n²)Space Complexity

Dynamic Programming — Desmistificado

Técnica para problemas com subestrutura ótima e subproblemas sobrepostos. Resolva subproblemas uma vez, salve o resultado.

Por que importa: DP aparece bastante em entrevistas intermediárias/sênior. Entender memoização e tabulação muda tudo.
MemoizaçãoTabulaçãoFibonacciKnapsackLongest Common Subsequence

Como praticar com qualidade

Regra dos 20 min: se não resolver em 20 min, veja a solução, ENTENDA, codifique do zero sem olhar. Repita no dia seguinte.

Por que importa: Maratona de LeetCode sem entender nada é inútil. Qualidade > quantidade. 3 problemas entendidos > 20 copiados.
NeetcodeLeetCodeGrind 75Anki para padrõesMock Interviews
Materiais de estudo

Leituras & Recursos

97 itens
🔍
📚

Python Tutorial Oficial

A documentação oficial do Python, do básico ao intermediário. Melhor fonte possível.

DOCSiniciante🇺🇸 ENGRÁTIS
📄

Real Python — Getting Started

Coleção de tutoriais práticos de Python escritos por experts. Um dos melhores sites.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📄

Python OOP com exemplos reais

Tutorial completo sobre classes, herança, polimorfismo e encapsulamento em Python.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

Async IO em Python — Guia Completo

Tudo sobre asyncio, async/await, event loop e como Python lida com concorrência.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

Python Type Hints — Guia Prático

Como usar tipagem estática no Python com typing, dataclasses e Pydantic.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📚

FastAPI — Tutorial Oficial

Tutorial oficial do FastAPI — do zero ao deploy, com exemplos e boas práticas.

DOCSintermediário🇺🇸 ENGRÁTIS
📚

Pytest — Getting Started

Como escrever testes em Python com pytest, fixtures, mocks e coverage.

DOCSintermediário🇺🇸 ENGRÁTIS
📄

List Comprehensions em Python

Aprenda a usar list comprehensions, dict comprehensions e generator expressions.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📄

Python Decorators — Como Funcionam

Entenda decorators de dentro para fora com exemplos práticos e casos de uso reais.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📖

Automate the Boring Stuff (livro grátis)

Livro gratuito online. Aprenda Python resolvendo problemas reais do dia a dia.

BOOKiniciante🇺🇸 ENGRÁTIS
📚

TypeScript Handbook Oficial

A documentação oficial do TypeScript. Começa pelo handbook, é muito bem escrita.

DOCSiniciante🇺🇸 ENGRÁTIS
📚

TypeScript em 5 minutos

Intro rápida ao TypeScript para quem já sabe JavaScript.

DOCSiniciante🇺🇸 ENGRÁTIS
🎓

Total TypeScript — Free Tutorials

Matt Pocock é o melhor professor de TypeScript. Tutoriais gratuitos excelentes.

COURSEintermediário🇺🇸 ENGRÁTIS
📄

TypeScript Generics Explicados

Guia visual e prático para entender generics, constraints e utility types.

ARTICLEavançado🇺🇸 ENGRÁTIS
🎓

Execute Program — TypeScript

Aprenda TypeScript escrevendo código real em exercícios interativos no browser.

COURSEiniciante🇺🇸 ENPAGO
📚

Zod — Validação em TypeScript

Como usar Zod para validar dados no TypeScript de forma type-safe.

DOCSintermediário🇺🇸 ENGRÁTIS
📖

Pro Git Book (grátis online)

O livro definitivo sobre Git. Disponível gratuitamente online. Fundamental.

BOOKiniciante🇺🇸 ENGRÁTIS
📄

Atlassian Git Tutorial

Tutorial visual e completo sobre Git. Branches, merges, rebases com diagramas.

ARTICLEiniciante🇺🇸 ENGRÁTIS
🔧

Oh My Git! — Jogo para aprender Git

Jogo interativo open-source que ensina Git de forma visual. Muito bom para iniciantes.

TOOLiniciante🇺🇸 ENGRÁTIS
📚

Conventional Commits

Padrão de mensagens de commit usado em todo mercado. Essencial para trabalho em equipe.

DOCSiniciante🇺🇸 ENGRÁTIS
🔧

Learn Git Branching (interativo)

O melhor jeito de aprender branches, rebase e merge. Visual e interativo no browser.

TOOLiniciante🇧🇷 PT-BRGRÁTIS
🎓

The Missing Semester (MIT)

Curso do MIT sobre ferramentas que nenhuma faculdade ensina: shell, vim, git, SSH.

COURSEiniciante🇺🇸 ENGRÁTIS
🔧

Explainshell — Entenda qualquer comando

Cole qualquer comando de terminal e veja o que cada parte significa. Ferramenta incrível.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

Linux Command Line — Tutorial completo

Referência completa de comandos de terminal para Linux/Mac/WSL.

ARTICLEiniciante🇺🇸 ENGRÁTIS
🎓

CS50x — Harvard (grátis)

O melhor curso de introdução à ciência da computação. Grátis, com certificado pago.

COURSEiniciante🇺🇸 ENGRÁTIS
🔧

LeetCode — Problemas fáceis por categoria

Top 150 problemas do LeetCode para entrevistas. Comece pelos fáceis.

TOOLintermediário🇺🇸 ENGRÁTIS
🔧

Visualgo — Algoritmos visualizados

Visualização animada de estruturas de dados e algoritmos. Ótimo para entender.

TOOLiniciante🇺🇸 ENGRÁTIS
🔧

Big-O Cheat Sheet

Tabela de complexidade de todos os algoritmos e estruturas de dados comuns.

TOOLiniciante🇺🇸 ENGRÁTIS
🎥

JavaScript Event Loop Visualizado

Philip Roberts explica o event loop de forma visual. Palestra clássica e obrigatória.

VIDEOiniciante🇺🇸 ENGRÁTIS
📚

Promises em JS — MDN

Documentação oficial do MDN sobre Promises, async/await e tratamento de erros.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

HTTP Cats — Status codes explicados

Aprenda os status codes HTTP de forma divertida. Referência rápida.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

RESTful API Design — Melhores práticas

Guia de boas práticas para design de APIs REST. Versionamento, nomenclatura, erros.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📚

HTTP in detail — How it works

Explicação detalhada de como o HTTP funciona por baixo dos panos.

DOCSiniciante🇺🇸 ENGRÁTIS
📚

React.dev — Documentação Oficial

A nova documentação oficial do React com exemplos interativos. Começa aqui.

DOCSiniciante🇺🇸 ENGRÁTIS
📄

React Hooks — Guia visual

useState, useEffect, useCallback, useMemo explicados com diagramas.

ARTICLEintermediário🇺🇸 ENGRÁTIS
🎓

Just JavaScript — Dan Abramov

Mental models para JavaScript e React do criador do Redux. Email course.

COURSEiniciante🇺🇸 ENGRÁTIS
📚

Node.js Official Docs

Documentação oficial do Node.js. Referência para todos os módulos built-in.

DOCSiniciante🇺🇸 ENGRÁTIS
📄

Node.js Best Practices

Repositório com 80+ boas práticas para Node.js em produção.

ARTICLEintermediário🇺🇸 ENGRÁTIS
🔧

SQLZoo — SQL interativo

Aprenda SQL escrevendo queries reais diretamente no browser. Ótimo para começar.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

PostgreSQL Tutorial

Tutorial completo de PostgreSQL do básico ao avançado com exemplos.

ARTICLEiniciante🇺🇸 ENGRÁTIS
🔧

SQLBolt — Exercícios interativos

Exercícios práticos de SQL no browser, do SELECT básico a JOINs complexos.

TOOLiniciante🇺🇸 ENGRÁTIS
📚

Prisma Docs — Getting Started

ORM moderno para TypeScript. Tutorial completo com PostgreSQL.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

Play with Docker — Labs interativos

Pratique Docker diretamente no browser sem instalar nada. Sandbox gratuito.

TOOLiniciante🇺🇸 ENGRÁTIS
📚

Docker — Get Started Oficial

Tutorial oficial do Docker do zero. Containers, imagens, volumes e compose.

DOCSiniciante🇺🇸 ENGRÁTIS
📚

Docker Compose — Tutorial Prático

Como usar docker-compose para orquestrar app + banco + cache juntos.

DOCSintermediário🇺🇸 ENGRÁTIS
📚

OWASP Top 10 — 2021

Os 10 vulnerabilidades mais críticas em aplicações web. Todo dev precisa conhecer.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

HacksPlaining — Aprenda ataques web

Tutoriais interativos sobre XSS, SQLi, CSRF e outros ataques. Excelente.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

Clean Code — Resumo dos princípios

Resumo prático dos princípios do livro Clean Code aplicados a Python e JS.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

SOLID Principles Explicados

Os 5 princípios SOLID com exemplos práticos em Python e TypeScript.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

Refactoring Guru — Design Patterns

Catálogo visual dos design patterns clássicos com exemplos em várias linguagens.

ARTICLEavançado🇺🇸 ENGRÁTIS
🔧

roadmap.sh — Developer Roadmaps

Mapas visuais de carreira para qualquer stack. Frontend, backend, DevOps e mais.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

Como montar um README incrível no GitHub

Guia completo para criar um perfil GitHub que impressiona recrutadores.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📄

Como passar em entrevistas técnicas

Guia prático sobre coding interviews, system design e perguntas comportamentais.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

Como contribuir para Open Source

Guia passo a passo para fazer sua primeira contribuição open source no GitHub.

ARTICLEiniciante🇺🇸 ENGRÁTIS
🎥

Developer Roadmap em PT-BR (Filipe Deschamps)

Vídeo do Filipe Deschamps sobre o que aprender para ser dev em 2024/2025.

VIDEOiniciante🇧🇷 PT-BRGRÁTIS
📄

javascript.info — A Bíblia do JS

O tutorial mais completo de JavaScript moderno. Do zero a expert. Referência absoluta.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📖

Eloquent JavaScript (livro grátis)

Livro clássico de JavaScript disponível online gratuitamente. Profundo e prático.

BOOKiniciante🇺🇸 ENGRÁTIS
📖

You Don't Know JS (série grátis)

Série de livros gratuitos que explica JavaScript do jeito que ele realmente funciona.

BOOKintermediário🇺🇸 ENGRÁTIS
🎓

JavaScript30 — 30 projetos em 30 dias

Wes Bos. 30 mini-projetos com JavaScript puro. Sem frameworks, sem libs. Excelente para prática.

COURSEiniciante🇺🇸 ENGRÁTIS
📚

MDN — JavaScript Guide

Guia oficial de JavaScript da MDN. Referência completa e confiável para qualquer dúvida.

DOCSiniciante🇺🇸 ENGRÁTIS
🎥

Fireship — JavaScript em 100 segundos

Vídeos rápidos e densos sobre conceitos de JS. Canal essencial para devs modernos.

VIDEOiniciante🇺🇸 ENGRÁTIS
🔧

Loupe — Event Loop Visualizado

Ferramenta interativa que mostra o event loop, call stack e callback queue em tempo real.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

CSS Tricks — Guia Completo

Referência mais usada para CSS. Flexbox, Grid, animações, pseudo-elementos e muito mais.

ARTICLEiniciante🇺🇸 ENGRÁTIS
🔧

Flexbox Froggy — Jogo interativo

Aprenda Flexbox colocando sapos no lugar certo. 24 níveis progressivos. Melhor jeito de fixar.

TOOLiniciante🇺🇸 ENGRÁTIS
🔧

Grid Garden — CSS Grid interativo

Aprenda CSS Grid cultivando um jardim. 28 níveis do básico ao avançado.

TOOLiniciante🇺🇸 ENGRÁTIS
🎥

Kevin Powell — CSS no YouTube

Melhor canal de CSS do YouTube. Flexbox, Grid, layout responsivo com exemplos reais.

VIDEOiniciante🇺🇸 ENGRÁTIS
🎓

web.dev — Learn CSS (Google)

Curso completo de CSS do Google. Módulos independentes, bem organizados e modernos.

COURSEiniciante🇺🇸 ENGRÁTIS
📄

A Complete Guide to Flexbox

O guia visual mais famoso de Flexbox. Todos os valores e propriedades com exemplos visuais.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📄

How DNS Works (história em quadrinhos)

Explicação visual de como o DNS funciona — do browser até o servidor e de volta. Imperdível.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📚

HTTP — MDN Overview Completo

Como o HTTP funciona: métodos, headers, status codes, cookies, caching e HTTPS.

DOCSiniciante🇺🇸 ENGRÁTIS
📖

High Performance Browser Networking (grátis)

Livro do Google sobre TCP, UDP, TLS, HTTP/2, WebSockets, WebRTC. Leitura obrigatória para backend.

BOOKintermediário🇺🇸 ENGRÁTIS
📄

Cloudflare Learning Center

Explicações excelentes sobre DNS, CDN, DDoS, TLS, HTTP/3, load balancing e mais.

ARTICLEiniciante🇺🇸 ENGRÁTIS
📄

Como browsers funcionam — web.dev

Artigo técnico do Google explicando rendering, parsing HTML/CSS, layout e paint.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📚

WebSockets em detalhes — MDN

Como funciona o protocolo WebSocket, quando usar vs HTTP, exemplos de código.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

Bash.ws — Networking tools online

DNS lookup, ping, traceroute, whois e mais — tudo online. Útil para entender redes na prática.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

System Design Primer (GitHub)

O guia mais completo de system design. Escalabilidade, load balancers, cache, filas. 200k+ stars.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📄

Microservices.io — Padrões e anti-padrões

Catálogo de padrões de microservices por Chris Richardson. API Gateway, CQRS, Saga, Event Sourcing.

ARTICLEavançado🇺🇸 ENGRÁTIS
🔧

Roadmap.sh — Backend (visual)

Mapa visual de tudo que um dev backend precisa saber. Ótimo para ver onde você está.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

Martin Fowler — Padrões e Arquitetura

Artigos do maior nome em arquitetura de software. Refactoring, patterns, microservices.

ARTICLEavançado🇺🇸 ENGRÁTIS
🎥

ByteByteGo — System Design no YouTube

Canal do Alex Xu. Animações excelentes explicando como Twitter, YouTube, WhatsApp funcionam.

VIDEOintermediário🇺🇸 ENGRÁTIS
📚

12 Factor App

Metodologia para construir aplicações SaaS escaláveis e portáveis. Padrão da indústria.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

Roadmap.sh — Frontend (visual)

Mapa completo de dev frontend. HTML, CSS, JS, React, performance, acessibilidade.

TOOLiniciante🇺🇸 ENGRÁTIS
🎓

Neetcode.io — Roadmap + Vídeos

Melhor canal/site para LeetCode. Roadmap estruturado + explicações em vídeo de cada problema.

COURSEintermediário🇺🇸 ENGRÁTIS
🔧

HackerRank — Trilhas por linguagem

Exercícios práticos organizados por linguagem e tema. Boa alternativa ao LeetCode para iniciantes.

TOOLiniciante🇺🇸 ENGRÁTIS
🔧

Exercism — Exercícios com mentoria

Plataforma de exercícios com mentoria real. Tem trilhas de Python e TypeScript excelentes.

TOOLiniciante🇺🇸 ENGRÁTIS
🔧

Codewars — Kata por dificuldade

Plataforma gamificada de desafios de código. 8kyu a 1kyu. Bom para manter consistência.

TOOLiniciante🇺🇸 ENGRÁTIS
🔧

Grind 75 — LeetCode estruturado

Seleção curada dos 75 problemas mais importantes do LeetCode, organizados por semana.

TOOLintermediário🇺🇸 ENGRÁTIS
🔧

Python Tutor — Visualize execução linha a linha

Visualize o que acontece na memória ao executar seu código Python. Perfeito para entender loops e recursão.

TOOLiniciante🇺🇸 ENGRÁTIS
📄

Talk Python to Me — Podcast

Podcast semanal sobre Python com os maiores especialistas. Cobre desde web até ciência de dados.

ARTICLEintermediário🇺🇸 ENGRÁTIS
🔧

roadmap.sh/python — Mapa visual

Mapa visual de tudo que um dev Python precisa saber. Do básico ao avançado.

TOOLiniciante🇺🇸 ENGRÁTIS
📖

TypeScript Deep Dive (livro grátis)

Basarat Ali Syed. Livro gratuito e completo de TypeScript. Muito usado como referência.

BOOKintermediário🇺🇸 ENGRÁTIS
🔧

Type Challenges — Desafios de tipo

Repositório com 100+ desafios de TypeScript do iniciante ao insano. Melhor forma de dominar tipos.

TOOLavançado🇺🇸 ENGRÁTIS
📄

Patterns.dev — Padrões React modernos

Catálogo visual de padrões de design para React: compound components, render props, hooks e mais.

ARTICLEintermediário🇺🇸 ENGRÁTIS
📚

TanStack Query (React Query) Docs

Gerenciamento de estado assíncrono para React. Padrão da indústria para fetch de dados.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

Postman — Testar APIs

Ferramenta padrão para testar e documentar APIs REST. Indispensável no dia a dia.

TOOLiniciante🇺🇸 ENGRÁTIS
📚

GitHub Actions — CI/CD Docs

Automatize builds, testes e deploys diretamente no GitHub. Padrão de CI/CD para projetos open source.

DOCSintermediário🇺🇸 ENGRÁTIS
🔧

Regex101 — Testar expressões regulares

Editor e tester de regex online com explicação de cada parte. Suporta Python, JS e mais.

TOOLiniciante🇺🇸 ENGRÁTIS

Recursos Recomendados

curadoria

🐍 Para Python

📘 Para TypeScript

🛠 Ferramentas

FREEDocker Desktop (Windows)
FREEVSCode + extensões (grátis)

🎥 Canais & Comunidade

PT-BRFilipe Deschamps (YouTube)
PT-BRRocketseat (grátis + pago)
ENFireship (YouTube) — conteúdo rápido
ENTheo (t3.gg) — TypeScript/React
PT-BRDev.to BR + Discord Rocketseat

🚀 Projetos para Portfólio

IDEIAAPI de tarefas (To-Do) com auth JWT
IDEIACLI de linha de comando para algo útil
IDEIAClone de API pública (ex: pokedex)
IDEIAFull-stack: blog ou e-commerce simples
IDEIABot Discord/Telegram com Python
Glossário técnico

Glossário técnico

48 termos

PythonList Comprehension
PythonDecorator
PythonGenerator
PythonContext Manager
PythonDunder / Magic Method
PythonType Hints
PythonGIL
Pythonasyncio / async-await
PythonVirtual Environment
Pythondataclass
PythonPydantic
Pythonpytest
TypeScriptUnion Type
TypeScriptInterface vs Type
TypeScriptGenerics
TypeScriptkeyof / typeof
TypeScriptUtility Types
TypeScriptas const
TypeScriptDiscriminated Union
TypeScriptDeclaration Merging
TypeScriptMapped Type
TypeScriptStrict Mode
SQLJOIN
SQLIndex
SQLTransaction / ACID
SQLCTE (WITH clause)
SQLWindow Function
SQLNormalization
SQLEXPLAIN / EXPLAIN ANALYZE
HTTP/RESTHTTP Methods
HTTP/RESTStatus Codes
HTTP/RESTREST Constraints
HTTP/RESTJWT
HTTP/RESTCORS
HTTP/RESTRate Limiting
GitRebase vs Merge
GitCherry-pick
GitStash
GitHEAD
Gitgit bisect
GeralBig O Notation
GeralSOLID
GeralDRY / WET
GeralCI/CD
GeralDocker
GeralIdempotência
GeralRace Condition
GeralCache
Prep para entrevista

Prep para entrevista técnica

28 perguntas reais de processo seletivo júnior — com respostas completas e dicas de como impressionar.

🎯

Como usar esta seção

Não memorize as respostas — entenda o raciocínio por trás. Pratique em voz alta: simule explicar para alguém. Para cada resposta que você não soubesse, vá estudar o tópico no módulo correspondente antes de voltar.

Mercado de trabalho

Mercado de trabalho

O que você precisa saber para conseguir seu primeiro emprego como dev.

Salários reais (2026, Brasil)

Júnior (0–2 anos)

CLT

R$ 2.500–5.000

PJ

R$ 3.500–7.000

Pleno (2–5 anos)

CLT

R$ 6.000–12.000

PJ

R$ 9.000–17.000

Sênior (5+ anos)

CLT

R$ 15.000–25.000

PJ

R$ 20.000–40.000

Remoto Internacional

CLT

USD 40k–80k/ano

PJ

USD 60k–120k/ano

Valores variam por empresa, cidade e stack. Remote internacional paga 3–5× mais.

O que recrutadores realmente olham

  • 01

    GitHub ativo com projetos deployados — o portfólio fala mais que o currículo.

  • 02

    README bem escrito em cada projeto (prints, como rodar, tecnologias usadas).

  • 03

    Consistência de commits — mostrar que você realmente trabalhou no projeto.

  • 04

    Projeto Full-stack completo: frontend + backend + banco + deploy.

  • 05

    Sem código copiado de tutorial sem entender — isso aparece na entrevista técnica.

  • 06

    LinkedIn atualizado com skills reais e projetos linkados.

Onde encontrar vagas

  • LinkedIn Jobs

    principal canal no Brasil

  • Gupy

    startups e empresas médias

  • Programathor

    100% tech, filtra por stack

  • Wellfound (AngelList)

    startups globais com remoto

  • Remote.com / We Work Remotely

    vagas remotas internacionais

  • GitHub Jobs / Discord servidores

    comunidades de tech BR

Soft skills que valem mais que stack

Comunicação escrita

Saber escrever bem num PR, Slack ou email mostra maturidade. Contextualize perguntas, descreva o problema antes de pedir ajuda.

Autonomia investigativa

Antes de perguntar, tente: Google, documentação oficial, Stack Overflow. Mostre o que você tentou. Isso é altamente valorizado.

Code review com empatia

Dar e receber feedback sem ego. Criticar código, não pessoa. Sugerir com contexto ('o que acha de...') em vez de impor.

Entregar o que prometeu

Comprometer com datas realistas e cumprir vale mais que ser o mais rápido. Se algo atrasa, comunique antes — nunca depois.

Portfólio que impressiona recrutadores

Fase 1

Projeto 1 — CLI em Python

Gerador de senhas, conversor de arquivos, CLI de produtividade. Simples mas funcional.

Fase 4

Projeto 2 — API REST completa

FastAPI + PostgreSQL + JWT + testes + Dockerfile. README com como rodar, endpoints documentados.

Fase 4–5

Projeto 3 — Full-stack

React + TypeScript consumindo sua própria API. Deploy frontend na Vercel, backend no Railway.

Sempre

README do perfil GitHub

Foto, bio, skills em badges, projetos em destaque. Contribuições verdes no gráfico mostram atividade.

Quando você está pronto para se candidatar

Não existe momento perfeito. Mas há um mínimo viável. Os itens obrigatórios são para estágio/trainee; os opcionais te colocam no nível júnior.

Mínimo para estágio / trainee

Fase 1–2

Fundamentos sólidos de Python

Variáveis, funções, listas, dicionários, OOP básico, leitura de erros.

Fase 2

1 projeto Python funcionando

CLI, script útil ou automação. Não precisa ser perfeito — precisa rodar e estar no GitHub.

Fase 3

Git + GitHub no dia a dia

commit, push, pull, branch, PR — rotina de versionamento básica estabelecida.

Fase 3

Noções de SQL

SELECT, INSERT, UPDATE, DELETE, JOIN simples. Saber criar uma tabela.

Sempre

LinkedIn com projetos linkados

Foto, bio, skills, link pro GitHub, projeto fixado no perfil.

Adicional para júnior

Fase 4

API REST simples com FastAPI

CRUD básico, endpoints documentados com Swagger, autenticação básica.

Fase 4

TypeScript/React iniciante

Montar uma tela simples consumindo uma API. useState, useEffect, fetch.

Fase 5

Deploy funcionando

Qualquer projeto rodando em URL pública — Vercel, Railway ou Render.

Regra prática: se você completou a Fase 2 e tem algo no GitHub, já pode começar a mandar currículos para estágio. Não espere estar "pronto" — aprende-se muito no processo seletivo.

LinkedIn: encontrar vagas com busca boolean

O que é busca boolean?

Operadores lógicos que refinam qualquer busca — no LinkedIn Jobs, Google, e outros sites. São 4 operadores: AND, OR, NOT (ou sinal -), "aspas" para frase exata e (parênteses) para agrupar.

OR

Python OR TypeScript

uma coisa ou outra

AND

React AND TypeScript

as duas ao mesmo tempo

""

"dev júnior"

frase exata

-

-senior -pleno

exclui este termo

Queries prontas para copiar e usar

Estágio dev — mais abrangente

"estágio" OR "estagio" OR "intern" (desenvolvedor OR "dev" OR programador OR "software") Python OR TypeScript OR React

Cobre variações ortográficas e inglês. Funciona tanto no LinkedIn Jobs quanto na busca geral.

Júnior backend Python

("junior" OR "júnior" OR "jr") ("desenvolvedor backend" OR "backend developer" OR "software engineer") Python (FastAPI OR Django OR Flask)

Filtra nível claramente. Use aspas para garantir que a frase apareça exata.

Fullstack remoto — Brasil

("full stack" OR fullstack OR "full-stack") (React OR "Next.js") Python remote OR remoto -senior -sênior

O sinal - exclui resultados. Assim você tira vagas sênior que aparecem junto.

Qualquer dev júnior — remoto

("dev júnior" OR "desenvolvedor júnior" OR "junior developer" OR "junior engineer") remote OR remoto OR "home office"

Ótimo para varrer todas as stacks e não se limitar só a Python/TS.

Estágio tech São Paulo / Remoto

(estágio OR estagio OR trainee) (tecnologia OR "software" OR TI OR "dev") ("São Paulo" OR "São Paulo (Remoto)" OR remoto OR híbrido)

Útil para filtrar geolocalização. No LinkedIn, combine com o filtro de cidade.

Perfil que aparece nas buscas

  • 01

    Headline: 'Desenvolvedor Python | TypeScript | Buscando estágio/júnior' — palavras-chave que recrutadores buscam.

  • 02

    Seção 'Sobre': 3-4 linhas. Quem você é, o que domina, o que busca. Sem floreios.

  • 03

    Skills: adicione Python, TypeScript, React, FastAPI, Docker, Git, SQL. Peça endorsements para amigos.

  • 04

    URL personalizada: linkedin.com/in/seunome — mais profissional no currículo.

  • 05

    Foto e banner: foto com boa iluminação, banner com tema de tech (pode ser simples).

Alertas de vaga que funcionam

  • 01

    Faça a busca com a query boolean → clique em 'Criar alerta' → recebe email diário ou semanal.

  • 02

    Configure: Tipo = Estágio ou Trainee ou Tempo integral, Nível = Estágio ou Júnior.

  • 03

    Abra Notificações → ative 'Vagas que correspondem ao seu perfil' para sugestões automáticas.

  • 04

    Ative 'Open to Work' (visível só para recrutadores) nas configurações de perfil.

  • 05

    Salve filtros diferentes: um para estágio, um para júnior, um para remoto.

Filtros poderosos no LinkedIn Jobs

  • 01

    Nível de experiência: Estágio / Entry level / Júnior — use sempre, elimina 90% do ruído.

  • 02

    Tipo de emprego: Estágio, Tempo integral — marque os dois para maximizar resultados.

  • 03

    Local: cidade ou 'Remote' — para remoto no BR, tente 'Brazil' como local + filtro 'Remote'.

  • 04

    Publicado: últimas 24h ou última semana — candidatos mais rápidos têm vantagem.

  • 05

    Empresa: filtre por tamanho — startups (11-200) contratam mais júnior do que big techs.

Networking que abre portas

  • 01

    Conecte com devs da empresa alvo antes de candidatar. Uma conexão já aumenta visibilidade.

  • 02

    Comente com substância nos posts de CTOs e tech leads — não só 'ótimo post'.

  • 03

    Siga empresas de interesse: você recebe notificações de vagas antes de aparecer na busca.

  • 04

    Mensagem direta a recrutadores: curta, direta — 'Olá [nome], vi a vaga X, tenho [skill Y], posso enviar portfólio?'

  • 05

    Participe de grupos do LinkedIn: 'Desenvolvedores Python Brasil', 'React Devs BR'.

Mensagem direta para recrutador — template

Mensagens diretas têm taxa de resposta 3× maior que candidaturas passivas. Personalize o template abaixo:

Olá [Nome do Recrutador],

Encontrei a vaga de [Cargo] na [Empresa] e acredito que posso contribuir.

Tenho experiência com [Tech 1] e [Tech 2], com projetos no GitHub em:
→ [link projeto 1] — [1 linha do que faz]
→ [link projeto 2] — [1 linha do que faz]

Posso enviar o currículo ou conversar em 15 min quando for conveniente?

Obrigado(a),
[Seu nome]
Seja específico — não mande a mesma mensagem para 50 pessoas.
Máximo 5 linhas — recrutadores não leem paredes de texto.
Sempre inclua um link direto do projeto — não peça para buscarem.
Dicas e referência

Dicas honestas

O que realmente importa para aprender e avançar na carreira.

O que realmente funciona

Construir projetos reais > assistir tutoriais infinitamente. Cada vez que você travar num bug por 2 horas, você aprende mais que 10 vídeos. O desconforto é o aprendizado.

Tutorial Hell — o inimigo oculto

Fazer 50 cursos sem nunca codar do zero é uma ilusão de progresso. Regra: para cada 1h de tutorial, gaste 2h codando sem assistir. Se não conseguir, volte ao tutorial.

Erros que atrasam anos

Tentar aprender tudo ao mesmo tempo. Ficar trocando de linguagem. Ignorar Git. Não ler documentação oficial. Não escrever testes. Não praticar inglês técnico.

Como aprender eficientemente

Técnica Feynman: explique o que aprendeu como se ensinasse alguém. Se não conseguir, você não entendeu. Escreva posts, grave vídeos, ajude no Stack Overflow.

A sequência importa muito

Python antes de TypeScript. Lógica antes de framework. Terminal antes de GUI tools. Princípios antes de ferramentas. Fundamentos ruins = teto de vidro na carreira.

Consistência > Intensidade

1h por dia por 1 ano = ~365h = resultado real. 10h num fim de semana por mês = burnout. Crie uma rotina sustentável. O cérebro consolida conhecimento durante o sono.

Semana ideal de estudos

~10h por semana, distribuídas para maximizar retenção e evitar burnout.

Seg

1.5h

Teoria + leitura de docs

Ter

1.5h

Exercícios práticos

Qua

2h

Projeto pessoal / portfólio

Qui

1.5h

LeetCode / lógica

Sex

1.5h

Revisão + novos conceitos

Sáb

2h

Projeto + tutorial

Dom

0.5h

Review semana + planejamento

Substitua LeetCode por revisão de conteúdo nas primeiras semanas de cada fase.

Mapa de conceitos

Tudo que você vai dominar ao longo das 5 fases. Guarde para referência.

Ciência da Computação (base universal)

Tipos de dadosEstruturas de dadosAlgoritmosComplexidade O(n)RecursãoMemória (stack/heap)ConcorrênciaDesign Patterns

Python específico

List comprehensionGeneratorsDecoratorsContext managersasynciopip/PoetryFastAPISQLAlchemypytestPydantic

TypeScript específico

Type systemInterfacesGenericsUtility TypesNarrowingDecoratorsNode.jsReact + TSZodPrisma

Web & Infra

HTTP/HTTPSREST APIsGraphQL (bônus)WebSocketsOAuth2 / JWTDockerPostgreSQLRedis (bônus)CI/CD básicoGitHub Actions