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

 — 

 — 

 — 

 —