Janeiro 2026 · ~8 min

Roadmap Go 2026: 6 Meses do Zero ao Mercado

Roadmap completo de Go em 2026: 6 meses, 6 fases, 1 projeto por mês. Do hello world a APIs em produção, com recursos em pt-BR e os assuntos que aparecem em entrevistas.

Roadmap Go 2026: 6 Meses do Zero ao Mercado

Plano direto. Seis meses, seis fases, um projeto por mês. Cada fase vem com o que ler, o que codar, e o que aparece em entrevista. Sem rodeios.

A meta no final dos 6 meses: você consegue sustentar uma conversa técnica sobre Go com um sênior, tem 3-4 projetos públicos no GitHub e está pronto pra pleitear vagas júnior/pleno. Pessoas que vêm de outra linguagem normalmente cortam isso pela metade.

Como usar este roadmap

  • 8–10h por semana é o ritmo realista pra quem trabalha. Mais que isso, ótimo. Menos, esticar.
  • Cada fase termina com um projeto. Não pula. Saber a teoria sem ter codado é a maior armadilha.
  • Marque os links que aparecem aqui. São o currículo do curso. O resto é internet.
  • Tudo é gratuito. Não tem nada nesse roadmap que você precise pagar.

Pronto? Bora.


Fase 1 — Fundamentos (Semanas 1–4)

O básico. Sintaxe, tipos, controle de fluxo, funções, structs, packages.

O que aprender

  • Variáveis, tipos básicos, constantes, iota
  • if, for, switch, defer
  • Funções, retorno múltiplo, named returns, variadic
  • Arrays, slices, maps — e a diferença entre eles
  • Structs, métodos, ponteiros
  • Packages, go.mod, imports
  • Conversão de tipos, type assertions
  • Como usar go run, go build, go fmt, go vet

Recursos

  • A Tour of Go — interativo, oficial, tem versão em português. Faça duas vezes.
  • Go by Example — exemplos curtos com explicação. Cada conceito vira um snippet executável.
  • Effective Go — leia depois das duas primeiras semanas, vai fazer mais sentido.
  • Effective Go em 2026 — o que ainda vale, o que mudou e como completar a leitura para Go moderno.
  • Como aprender Go (em pt-BR) — guia complementar de quem já passou pelo caminho.
  • Go para iniciantes — primeiro hello world + servidor HTTP em 15 minutos.

Projeto: CLI de TODO

Um aplicativo de linha de comando que adiciona, lista e marca tarefas como completas. Persiste em um arquivo JSON. Ensina structs, slices, leitura/escrita de arquivos, e empacotar uma binary.

O que cai em entrevista

  • Diferença entre array e slice. O que é o cap?
  • Como funciona o defer?
  • Quando usar ponteiro vs valor em receivers?
  • O que é nil em Go? Quando faz sentido comparar?

Fase 2 — Biblioteca padrão (Semanas 5–8)

Go vem com bateria. Quase tudo que outras stacks tratam como “framework” o stdlib resolve — fmt, strings, time, os, io, encoding/json, errors. Aprenda a procurar antes de instalar.

O que aprender

  • fmt — formatação, Sprintf, verbos (%v, %+v, %T, %w)
  • strings, strconv, unicode, bytes
  • time — duração, formatação, timezones, comparações
  • os, io, bufio, path/filepath — leitura/escrita de arquivos, stdin/stdout
  • encoding/json, encoding/csv — marshal/unmarshal, struct tags
  • errorserrors.Is, errors.As, fmt.Errorf com %w, custom error types
  • log/slog — o logger estruturado oficial (Go 1.21+)
  • flag — parsing de argumentos de linha de comando

Recursos

Projeto: Conversor de logs

CLI que lê logs em formato A (CSV, plain text, JSON Lines), normaliza pra um schema único e escreve em formato B. Adiciona flags pra filtros (por data, por nível). Exercita stdlib pesado.

O que cai em entrevista

  • Diferença entre errors.Is e errors.As?
  • Por que erros em Go são valores e não exceções?
  • Como você lê um arquivo grande sem carregar tudo na memória?
  • O que time.Now().UTC() retorna?

Fase 3 — HTTP, APIs e JSON (Semanas 9–12)

Aqui o stdlib do Go brilha mais. net/http foi desenhado pra ser usado em produção sem framework. Você aprende a montar API REST, middlewares, e a manejar JSON com confiança.

O que aprender

  • net/http — handlers, middlewares, mux (Go 1.22+ tem padrões avançados de routing)
  • Server vs client (sim, dá pra fazer requests também)
  • Headers, cookies, query params, path params
  • JSON encoding/decoding com structs e tags
  • Validação de input
  • context.Context — pra cancelar requests, passar dados de request scope
  • HTTP middleware pattern (logging, auth, recovery)
  • HTTPS, TLS básico

Recursos

Projeto: API REST de URL shortener

POST cria um link curto, GET redireciona, DELETE remove. Bonus: usa SQLite pra persistir (vai ser usado de novo na fase 5). Exercita HTTP, JSON, validação, error responses.

O que cai em entrevista

  • Como você implementaria um middleware de logging?
  • Diferença entre http.Handler e http.HandlerFunc?
  • Como cancela um request HTTP em curso?
  • Pra que serve o context.Context?

Fase 4 — Concorrência (Semanas 13–16)

A razão de Go existir. Goroutines + channels é o modelo que vendeu a linguagem pro mercado. É também a parte que distingue júnior de pleno em entrevista.

O que aprender

  • Goroutines — o que são, custo, quando usar
  • Channels — buffered vs unbuffered, direção, fechamento
  • select — multiplexação, timeout, default
  • sync.WaitGroup, sync.Mutex, sync.RWMutex, sync.Once
  • context.Context (de novo, agora pra cancelamento de goroutines)
  • Patterns: worker pool, fan-out/fan-in, pipeline
  • Race detector (go run -race)
  • Quando NÃO usar goroutines

Recursos

Projeto: Web crawler concorrente

Recebe uma URL, busca a página, extrai todos os links, e processa cada um em paralelo (com limite de profundidade e respeito a robots.txt). Saída: árvore de links em JSON. Exercita goroutines, channels, sync, context.

O que cai em entrevista

  • Diferença entre sync.Mutex e channel?
  • O que é race condition? Como o detector funciona?
  • Como você implementa um worker pool com N workers?
  • Quando um channel deve ser fechado, e por quem?

Fase 5 — Bancos de dados e migrações (Semanas 17–20)

Aplicação real precisa persistir. Go tem database/sql no stdlib, drivers maduros pra todos os bancos populares, e ferramentas modernas como sqlc que dão type-safety sem ORM.

O que aprender

  • database/sql — connection pool, prepared statements, scan
  • Driver de PostgreSQL (pgx é o padrão hoje) ou MySQL
  • Transactions, savepoints
  • Migrations (golang-migrate ou goose)
  • sqlc — gera código Go type-safe a partir de SQL
  • Connection pool tuning
  • N+1 queries (e como evitar)
  • Padrões: repository, query builder

Recursos

Projeto: URL shortener (de novo, com banco)

Pega o projeto da fase 3 e migra de “salva tudo em memória” pra PostgreSQL. Adiciona migration, sqlc, transactions onde fizer sentido. Exercita persistência real.

O que cai em entrevista

  • Diferença entre Query, QueryRow e Exec?
  • Como evitar SQL injection?
  • O que é connection pooling?
  • Quando usar transaction?

Fase 6 — Testes, produção e deploy (Semanas 21–26)

A diferença entre código que funciona e código que aguenta produção. Aqui você fecha o ciclo: testar de verdade, observar o que está rodando, e empacotar pra rodar em qualquer lugar.

O que aprender

  • testing package — table-driven tests, subtests, helpers
  • Mocks (com gomock, testify/mock, ou interfaces e stubs manuais)
  • Cobertura de testes (go test -cover)
  • Benchmarks (testing.B, go test -bench)
  • httptest pra testar handlers HTTP
  • log/slog em produção — structured logging
  • prometheus/client_golang — métricas
  • OpenTelemetry — tracing distribuído
  • context.Context pra cancelamento e timeout em produção
  • Graceful shutdown (signals, drain de connections)
  • Configuração via env vars (os.Getenv, ou kelseyhightower/envconfig)
  • Dockerfile multi-stage para Go
  • Deploy: railway, fly.io, ou Cloud Run pra começar

Recursos

Projeto: API observável em produção

Pega o URL shortener da fase 5 e leva pra produção real. Adiciona: testes (cobertura > 70%), logging estruturado, métricas Prometheus, healthchecks (/livez, /readyz), Dockerfile, deploy num provedor (fly.io ou railway). Bonus: configura GitHub Actions pra testar e fazer deploy.

O que cai em entrevista

  • O que é table-driven test?
  • Como você testaria código que faz HTTP request pra um terceiro?
  • O que é graceful shutdown? Por que importa?
  • Como você descobriria se uma rota está lenta em produção?

Depois dos 6 meses

A essa altura você tem repertório pra começar a se especializar. Três caminhos clássicos pra dev Go no Brasil:

  • Backend / SaaS — APIs grandes, microserviços, event-driven. Empresas: Nubank, iFood, Mercado Livre, PicPay.
  • Plataforma / DevOps / SRE — infra como código, Kubernetes operators, internal tools. Empresas: Stone, Wildlife, qualquer fintech séria.
  • Distributed / dados — Kafka, streaming, ETL pesado. Empresas: Cloudflare (remoto), HashiCorp, qualquer fintech ou marketplace.

Comece olhando vagas dessas categorias e trabalhe de trás pra frente: o que aparece toda hora nos requisitos? Estuda isso. Aplica.

Próximos passos

Boa jornada. Cada commit é um passo a mais. 🚀

Perguntas frequentes

Quanto tempo leva pra aprender Go a ponto de conseguir uma vaga?

Com 6 meses focados (8–10h por semana) você sai do hello world e chega num portfólio razoável pra vagas júnior. Quem já programa em outra linguagem normalmente acelera as primeiras 4 semanas. O mercado brasileiro de Go contrata muito pleno, então júniors com projetos públicos no GitHub se destacam.

Preciso saber outra linguagem antes de seguir esse roadmap?

Não é obrigatório, mas ajuda. Quem vem de Python, Java ou Node aprende Go em metade do tempo. Se é a sua primeira linguagem, faça o Tour of Go duas vezes antes de começar o roadmap e acrescente uma semana extra na fase de fundamentos.

Esse roadmap serve pra quem já trabalha com backend em outra stack?

Sim — pula a fase 1 (fundamentos), começa direto na fase 2 (biblioteca padrão) e foca nas fases 4 (HTTP/APIs), 5 (concorrência) e 8 (produção). Em 2-3 meses você está confortável o suficiente pra pegar PR de Go no trabalho.

Por que 6 meses e não 3?

Sintaxe de Go você aprende em uma semana — Go é fácil. O que toma tempo é construir intuição sobre concorrência, error handling e os padrões de produção que diferenciam júnior de pleno. Em 3 meses dá pra escrever Go que funciona; em 6 meses dá pra escrever Go que aguenta produção.