Competencies: Programming Languages > Go
Go
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
Go Fundamentals |
Variables, types, structs, interfaces, functions, packages, error handling |
Critical |
Backend Developer, DevOps Engineer, SRE |
Concurrency in Go |
Goroutines, channels, select, sync primitives, worker pools, race detection |
Critical |
Backend Developer, Systems Developer, SRE |
Go Modules |
Module initialization, dependency management, versioning, vendoring, go.sum |
High |
Backend Developer, DevOps Engineer |
Standard Library |
net/http, encoding/json, io, os, fmt, context, time packages |
Critical |
Backend Developer, DevOps Engineer |
Error Handling Patterns |
Error wrapping, sentinel errors, custom error types, errors.Is/As |
High |
Backend Developer, Systems Developer |
Testing in Go |
go test, table-driven tests, benchmarks, fuzzing, test coverage, mocking |
High |
Backend Developer, QA Engineer |
Go Interfaces |
Interface composition, implicit satisfaction, empty interface, type assertions |
Critical |
Backend Developer, Systems Developer |
Memory Management |
Pointers, slices, maps, garbage collection, escape analysis, pprof profiling |
High |
Systems Developer, Backend Developer |
CLI Development in Go |
Cobra, Viper, flag package, building cross-platform binaries |
Medium |
DevOps Engineer, Backend Developer |
Web Development in Go |
net/http, Gin, Echo, middleware patterns, HTTP/2, graceful shutdown |
High |
Backend Developer, API Developer |
Go Build & Deploy |
Cross-compilation, static linking, Docker scratch images, CGO considerations |
High |
DevOps Engineer, Backend Developer |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
To be populated |
— |
— |
— |
— |