DEV Community

Cover image for Go 100 Challenge: 100 Golang Problems to Master Backend Development
Mr. Hujaifa
Mr. Hujaifa

Posted on • Originally published at github.com

Go 100 Challenge: 100 Golang Problems to Master Backend Development

Go 100 Challenge: 100 Golang Problems to Level Up Your Backend Skills

If you're searching for Go 100 problems, Golang problem solving practice, or a structured Go learning roadmap, this repo is built exactly for that. I created Go 100 Challenge — an open-source collection of 100 hands-on Golang programming challenges and backend projects, designed to take you from basic Go syntax to production-grade backend engineering.

Why I Built This

Most "learn Go" tutorials stop at syntax. But real backend engineering needs more — concurrency, clean architecture, error handling, and standard library mastery. So instead of just reading docs, I decided to build my way through 100 real problems, each one slightly harder than the last, and document everything in public.

What You'll Learn

The challenges are structured to build production-ready backend skills, including:

  • Core Go Logic — maps, slices, structs, and idiomatic data modeling
  • Concurrency — Goroutines, Channels, sync.Mutex, and Context for high-performance systems
  • Standard Library Masterynet/http, os, io, time, encoding/json, crypto
  • Clean Code Architecture — Domain-Driven Design, interface abstractions, explicit error handling

Sample Problems From the Roadmap

# Challenge Key Concepts Level
p001 Temperature Converter CLI I/O, type assertions Beginner
p002 ATM Security Conditional logic, string sanitation Beginner
p003 Word Frequency Counter Maps, tokenization Beginner
p006 Bank Account CLI Pointer receivers, struct methods Beginner
p007 Todo CLI Tool JSON serialization, file I/O Intermediate
p009 Password Validator Regex, custom errors Intermediate
p012 URL Shortener Engine math/rand/v2, strings.Builder Intermediate
p013 Concurrent Web Crawler Goroutines, Channels, sync.WaitGroup Intermediate

Each problem lives in its own folder with runnable Go code — no boilerplate, no over-engineered frameworks. Just idiomatic Go.

How to Get Started

git clone https://github.com/mrhujaifa/go-100-challenge.git
cd go-100-challenge

# Run any specific challenge
cd p012_url_shortener
go run main.go
Enter fullscreen mode Exit fullscreen mode

Prerequisite: Go 1.22+

Who This Is For

  • Beginners who finished "Go syntax" tutorials and want real problems to solve
  • Developers preparing for Golang backend interviews
  • Anyone building a daily coding-practice habit in Go, similar to a "100 days of code" challenge but Go-specific

Follow the Progress

The repo is actively updated as I solve more problems and move toward advanced topics like microservices, gRPC, and distributed systems patterns. If you're on a similar journey learning Golang problem solving and backend fundamentals, star the repo and follow along:

-> github.com/mrhujaifa/go-100-challenge

If this helps you, a ⭐ on the repo means a lot — and feel free to fork it and solve alongside me.


Tags: Go 100 problems, Golang problems, Go problem solving, Golang challenges, learn Go, Golang backend development, Go concurrency practice

Top comments (0)