Roles · Backend Developer (Go) · Junior

What a Junior } should know

28 core skills, 71 in total. Expectations per skill, and what changes at the next level.

This page lists what a Junior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Backend Development, Database Management.

28core skills
43additional skills
5skill areas
0%at Advanced or Expert
Assess myself as Junior Full role matrix

Core skills for a Junior

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 8

Understands the fundamentals of Algorithms & Complexity at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Async Programming Awareness

Understands the fundamentals of Async Programming at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Understands the fundamentals of Code Quality & Refactoring at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Data Structures Awareness

Understands the fundamentals of Data Structures at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Design Patterns Awareness

Understands the fundamentals of Design Patterns at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Memory Management Awareness

Understands the fundamentals of Memory Management at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Multithreading Awareness

Understands the fundamentals of Multithreading at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Understands the fundamentals of OOP & SOLID Principles at a basic level. Applies simple concepts in work tasks using Go. Follows recommendations from senior developers when solving problems.

Backend Development · 6

Apache Kafka Awareness

Uses Apache Kafka at a basic level with gin/echo/fiber. Performs simple tasks using existing templates. Understands basic concepts and follows team-adopted practices.

Caching Strategies Awareness

Uses caching strategies at a basic level with gin/echo/fiber. Performs simple tasks using existing templates. Understands basic concepts and follows team-adopted practices.

Go Web Frameworks Awareness

Uses Go Web Frameworks at a basic level with gin/echo/fiber. Performs simple tasks using existing templates. Understands basic concepts and follows team-adopted practices.

Understands message broker patterns in Go: pub-sub, fan-out, and work queues with channels and goroutines. Follows team conventions for integrating with NATS, Kafka, or RabbitMQ using Go client libraries.

Uses NATS / NATS JetStream at a basic level with gin/echo/fiber. Performs simple tasks using existing templates. Understands basic concepts and follows team-adopted practices.

Redis Awareness

Uses Redis at a basic level with gin/echo/fiber. Performs simple tasks using existing templates. Understands basic concepts and follows team-adopted practices.

Database Management · 7

ClickHouse Awareness

Executes basic analytical queries to ClickHouse from Go using the clickhouse-go driver. Understands the columnar storage model, uses simple SELECT with aggregations and filtering by partitioned columns for efficient queries.

Connection Pooling Awareness

Understands connection pooling in Go: knows that database/sql has built-in pool support, can configure SetMaxOpenConns, SetMaxIdleConns, SetConnMaxLifetime. Understands why limiting concurrent connections matters.

Designs simple data schemas for Go services: tables with correct types, foreign keys, basic normalization to 3NF. Describes models via GORM tags or golang-migrate SQL files, understands one-to-many and many-to-many relationships.

Database Indexing Awareness

Creates basic B-tree indexes in PostgreSQL for Go services, understands the difference between regular and unique indexes. Uses EXPLAIN to verify index usage in queries generated by the Go application via pgx/sqlx.

Creates simple SQL migrations for Go services using golang-migrate: adding tables, columns, basic indexes. Understands the up/down migration principle, runs migrations locally and verifies idempotency before committing.

PostgreSQL Awareness

Executes basic SQL queries to PostgreSQL from Go services via pgx or database/sql. Understands PostgreSQL data types, writes simple SELECT/INSERT/UPDATE with parameterized queries for SQL injection protection.

Query Optimization Awareness

Writes efficient SQL queries for Go services, avoiding N+1 problems when working with GORM or sqlx. Uses EXPLAIN to understand execution plans, applies parameterized queries and basic pagination via LIMIT/OFFSET.

API & Integration · 6

API Documentation Awareness

Documents Go API endpoints using swaggo-format comments: describes parameters, response types, HTTP status codes. Generates Swagger/OpenAPI spec via swag init and verifies documentation correctness in Swagger UI.

Understands API versioning principles in Go services: URL versioning (/v1/, /v2/), Accept-Version headers. Implements basic versioning via route groups in Gin/Chi, ensuring compatibility when adding new fields.

Knows gRPC basics in the Go ecosystem: can generate code from .proto files via protoc-gen-go-grpc, make simple unary calls. Understands the structure of generated code and how Protocol Buffers work for serialization.

Uses generated protobuf clients and servers in Go projects. Understands basic .proto file structure, protobuf data types, code generation via protoc-gen-go and protoc-gen-go-grpc. Implements simple unary RPC methods.

Understands rate limiting fundamentals in Go: token bucket with golang.org/x/time/rate, middleware-based throttling in Gin/Chi, and basic per-IP limiting. Follows team patterns for implementing rate limiters with Redis-backed distributed counters.

REST API Design Awareness

Creates simple REST endpoints in Go using Gin or Chi: handling GET/POST requests, parsing JSON via encoding/json, returning correct HTTP status codes. Follows basic REST naming conventions for resources and uses middleware for logging.

Cloud & Infrastructure · 1

Understands basic networking concepts for Go development: HTTP/HTTPS, DNS resolution, TCP/UDP. Uses net/http client with timeouts, understands Docker networks for container communication in docker-compose and basic request routing.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

AWSChatGPT / ClaudeClean ArchitectureCode ReviewContainer Security ScanningCPU ProfilingCQRSCursor IDEDatabase ShardingDockerDocumentation as CodeE2E TestingELK StackEvent-Driven ArchitectureGit AdvancedGitHub Actions / GitLab CIGitHub CopilotGraphQL DesignHigh Load ArchitectureIntegration TestingJWT / OAuth2 / OIDCKubernetes CoreLatency OptimizationMemory ProfilingMicroservices DecompositionOn-Call ManagementOpenTelemetryOWASP & Application SecurityPerformance BudgetsPrometheus & GrafanaPrompt Engineering for CodePython Web FrameworksSecrets ManagementSecure Coding PracticesSLI / SLO / SLAStructured LoggingSystem Design FundamentalsTask QueuesTDD & BDDTerraformType Safety & Type SystemsUnit TestingWebSocket API Design

What changes at Mid-level

71 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.

See the Mid-level page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 71 skills across 5 levels. The matrix is free for individuals and stays free.