All Technologies
Languages·advanced

Go

High-performance systems

Go is my choice for performance-critical services and infrastructure tooling. Its simplicity and excellent concurrency model make it ideal for building reliable distributed systems.

4+years in production
25+projects shipped
advancedproficiency

My take

Why I use Go

Go gives me a small language with strong concurrency primitives, a stellar standard library, and binaries that just run anywhere. When I need a service to be predictable under load and deployable as a single static binary, Go is the right call.

Want the broader stack philosophy? Read about how Sri picks tools or browse engineering insights.

Honest assessment

Strengths & tradeoffs

No tool is perfect. Here's what shines and what to watch for.

Strengths

  • Goroutines and channels make concurrent code approachable
  • Single static binary - trivial deployment
  • Fast compile times even on big projects
  • Strong standard library, especially net/http
  • Boring on purpose - easy team onboarding

Tradeoffs (honestly)

  • Verbose error handling (if err != nil everywhere)
  • Generics arrived late and remain limited compared to Rust/TS
  • Less expressive than functional languages
  • Package versioning (go modules) had a rocky path

Fit assessment

When to reach for Go

Pick the right tool for the job.

Best fits

High-throughput HTTP and gRPC services

CLI tools and developer tooling

Infrastructure components (operators, controllers)

Network services with heavy concurrency

Build pipelines and automation binaries

Not ideal for

Heavy data science or ML workloads

Code that benefits from rich type-level expressiveness

Quick scripting where Python is faster to write

Common use cases

MicroservicesCLI toolsInfrastructureHigh-throughput APIs

Resources

Learn more

Curated official docs, tutorials, and writing on Go.

Stack

Pairs well with Go

Tools and platforms I commonly combine with this one.

Need help with Go?

Whether you're starting fresh or optimizing an existing implementation, I can help you get the most out of this technology. Read more in insights or get in touch.

Command Palette

Search for a command to run...