ALL_SERIES
SERIES_OVERVIEW // CURRICULUM_MAP

Learn Go

// Materi Part 01 seri belajar Go untuk software engineer: mental model Go, tujuan desain bahasa, cara membaca program Go, dan rencana 20 jam pertama berbasis framework The First 20 Hours.

This track is ordered for sequential learning. Start from the first part if you want the full mental model, or jump directly into a chapter if you already know the foundations.

Total Parts
35
Reading Load
495
MIN TOTAL
Estimated Commitment
8.3 HOUR LEARNING TRACK
35 PARTS495 MIN TOTALadvanced-goapi-designarchitecturearchitecture-reviewarraysatomic

Curriculum Map

Ordered progression from foundations to advanced topics

PART 0117 MIN

Mental Model Go: Bahasa Kecil untuk Sistem Besar

Materi Part 01 seri belajar Go untuk software engineer: mental model Go, tujuan desain bahasa, cara membaca program Go, dan rencana 20 jam pertama berbasis framework The First 20 Hours.

PART 0212 MIN

Environment, Toolchain, dan Workflow Go yang Benar

Materi Part 02 seri belajar Go untuk software engineer: instalasi Go, go env, module, go.mod, go.sum, command utama, linting, testing, Makefile, dan workflow lokal production-grade.

PART 0313 MIN

Syntax, Values, Types, dan Zero Value

Materi Part 03 seri belajar Go untuk software engineer: syntax dasar, values, variables, constants, primitive types, zero value, type inference, conversion, iota, dan mental model compiler Go.

PART 0412 MIN

Control Flow, Functions, dan Error Basics

Materi Part 04 seri belajar Go untuk software engineer: if, for, switch, defer, functions, multiple return values, named returns, guard clause, panic vs error, dan dasar error handling idiomatik Go.

PART 0512 MIN

Arrays, Slices, Maps, Strings, Bytes, dan Runes

Materi mendalam tentang arrays, slices, maps, strings, bytes, dan runes di Go, termasuk mental model, failure mode, praktik idiomatik, dan latihan deliberate practice untuk software engineer.

PART 0612 MIN

Structs, Methods, Interfaces, dan Composition

Materi mendalam tentang structs, methods, interfaces, dan composition di Go, termasuk method set, receiver, implicit interface implementation, dan desain API idiomatik untuk software engineer.

PART 0713 MIN

Pointers, Memory, Allocation, dan Escape Analysis

Materi mendalam tentang pointer, value semantics, allocation, escape analysis, mutability boundary, dan desain API Go yang aman untuk software engineer.

PART 0815 MIN

Packages, Modules, Visibility, dan Dependency Boundaries

Materi mendalam tentang package, module, exported identifier, internal package, go.mod, go.sum, workspace, dan dependency boundary dalam Go.

PART 0913 MIN

Idiomatic Go: Dari Bisa Menulis ke Bisa Dibaca

Materi mendalam tentang idiomatic Go untuk software engineer: readability, naming, package design, interfaces, error style, API design, dan checklist code review Go.

PART 1012 MIN

Error Handling, Domain Failure, dan Defensive Boundaries

Materi mendalam tentang error handling di Go: error as value, wrapping, errors.Is, errors.As, sentinel error, custom error, domain failure, retryability, dan boundary translation.

PART 1113 MIN

Testing Fundamentals: Unit, Table Test, Example, dan Testdata

Materi mendalam tentang testing fundamental di Go: unit test, table-driven test, subtest, helper, testdata, golden file, example test, coverage, dan desain test yang stabil.

PART 1211 MIN

Benchmarking, Fuzzing, dan Property-style Thinking

Materi mendalam tentang benchmark, fuzzing, dan property-style thinking di Go: b.N, allocation measurement, fuzz target, seed corpus, invariants, dan regression testing.

PART 1313 MIN

Goroutines, Channels, dan Select: Mental Model Concurrency Go

Materi mendalam tentang goroutine, channel, select, pipeline, worker pool, backpressure, cancellation, dan failure mode concurrency Go untuk software engineer.

PART 1412 MIN

Sync Primitives: Mutex, WaitGroup, Once, Cond, dan Atomic

Materi mendalam tentang primitive sync Go: Mutex, RWMutex, WaitGroup, Once, Cond, sync.Map, atomic, lock design, deadlock, data race, dan concurrency correctness.

PART 1515 MIN

Context, Cancellation, Deadline, dan Lifecycle Control

Materi mendalam tentang context.Context di Go: cancellation, timeout, deadline, request lifecycle, graceful shutdown, dan desain API cancellation-aware untuk service production-grade.

PART 1616 MIN

Go Memory Model, Race Detector, dan Concurrency Correctness

Materi mendalam tentang Go Memory Model, happens-before, data race, synchronization, race detector, dan cara menulis concurrent Go code yang benar secara produksi.

PART 1718 MIN

Runtime Go: Scheduler, Stack, GC, dan Cost Model

Panduan mendalam runtime Go untuk software engineer: scheduler, goroutine stack, garbage collector, allocation pressure, syscall, blocking operation, runtime metrics, dan cost model production.

PART 1813 MIN

Standard Library I/O: Files, Buffers, Readers, Writers, Encoding

Panduan mendalam standard library I/O Go: io.Reader, io.Writer, os, fs, embed, bufio, JSON, CSV, streaming, error handling, dan resource management production-grade.

PART 1913 MIN

HTTP Client dan Server yang Benar

Panduan production-grade untuk membangun HTTP client dan server di Go: net/http, handler, middleware, timeout, context, body lifecycle, connection pooling, dan error contract.

PART 2013 MIN

Database Access: database/sql, Transactions, dan Consistency Boundary

Panduan production-grade database access di Go menggunakan database/sql: connection pool, query context, transaction boundary, repository design, nullable data, migration, idempotency, dan testing.

PART 2114 MIN

API Design: REST, JSON, Validation, Idempotency, dan Contract

Materi mendalam desain API dengan Go: REST boundary, DTO, JSON, validation, error contract, pagination, idempotency, compatibility, dan production-grade API governance.

PART 2210 MIN

CLI, Configuration, Secrets, dan Operational Interface

Materi mendalam Go untuk CLI, configuration, secrets, startup validation, operational command, migration command, dan runtime interface service production-grade.

PART 2320 MIN

Logging, Metrics, Tracing, dan Observability

Materi mendalam Go untuk logging, metrics, tracing, correlation ID, observability signal, dan instrumentasi service production-grade.

PART 2417 MIN

Performance Engineering: Benchmark, PProf, Trace, dan Optimization Discipline

Materi mendalam Go untuk performance engineering, benchmark, pprof, runtime trace, allocation analysis, latency tuning, dan disiplin optimasi production-grade.

PART 2518 MIN

Generics, Constraints, dan Type Parameter Design

Materi mendalam Go tentang generics, type parameter, constraint, type set, generic data structure, dan desain API generic yang idiomatik untuk software engineer.

PART 2619 MIN

Reflection, Unsafe, CGO, dan Boundary Berbahaya

Materi mendalam Go tentang reflection, unsafe, CGO, struct tags, pointer safety, dynamic metadata, dan review checklist untuk escape hatch berisiko tinggi.

PART 2717 MIN

Security Engineering in Go

Materi mendalam Go tentang security engineering: dependency vulnerability, govulncheck, TLS, crypto hygiene, secrets, input validation, SSRF, path traversal, supply chain risk, dan secure service boundary.

PART 2814 MIN

Build, Release, Container, dan Deployment Pipeline

Materi mendalam Go tentang build, release artifact, cross compilation, build tags, version injection, container image, SBOM, CI pipeline, deployment readiness, dan rollback strategy.

PART 2913 MIN

Project Architecture: Package Boundary, Domain, Service, Adapter

Panduan mendalam mendesain arsitektur project Go: package boundary, domain model, service layer, adapter, dependency direction, internal package, dan modular monolith yang production-grade.

PART 3015 MIN

Microservices dengan Go: Communication, Contracts, dan Failure Boundary

Panduan mendalam membangun microservices dengan Go: service boundary, REST, gRPC, message queue, contract compatibility, timeout, retry, circuit breaker, backpressure, dan partial failure.

PART 3113 MIN

Resilience Patterns: Retry, Idempotency, Queue, dan Saga

Panduan mendalam resilience patterns di Go: retry, timeout, idempotency, outbox, inbox, queue, dead-letter queue, saga, compensation, dan failure modeling untuk sistem produksi.

PART 3211 MIN

Production Operations: Health Check, Shutdown, Deployment, dan Runtime Control

Panduan mendalam operasi production service Go: readiness, liveness, graceful shutdown, signal handling, runtime profiling, deployment safety, feature flags, runbook, dan incident debugging.

PART 3313 MIN

Modernisasi dan Maintainability: Refactoring, Migration, dan Codebase Governance

Panduan mendalam modernisasi codebase Go: refactoring, migration, package split, dependency update, API compatibility, codebase governance, technical debt register, dan review strategy.

PART 347 MIN

Capstone I: Membangun Production-grade Go Service dari Nol

Capstone membangun production-grade Go service dari nol: requirement, domain modeling, API design, persistence, transaction, error handling, testing, observability, security, containerization, CI, dan runbook.

PART 3526 MIN

Capstone II: Architecture Review, Failure Modeling, dan Top 1% Go Engineer Rubric

Review akhir seri Go Lang: architecture review, correctness review, concurrency review, security review, performance review, operability review, failure modeling, production-readiness checklist, dan rubric menuju top-tier Go engineer.