↓Skip to main content
Programming · Oct 15, 2023 · 2 min

My 10-Day Journey of Learning Go: Building Web Apps and More!

Ten days, one language, several working programs. I came from a decade of C# and expected Go to feel foreign — instead it felt like a corrective. A record of what I built, what surprised me, and what Go does differently that is worth paying attention to.

I learned Go in 10 days — here’s exactly what I built and how.

Days 1–2 — Getting Started #

I started by immersing myself in Go. For the first couple of days I watched tutorial videos, read documentation, and practiced the basics of Go syntax for about 6 hours each day. I was pleasantly surprised by how intuitive and simple the language was, making it easy to grasp the fundamentals quickly. ndcconferences.com 1 source 1 NDC Conferencesndcconferences.com

A Tour of Go for the C# Developer — Jeremy Clark, NDC London 2021

Days 3–4 — Building a High-Performance Web Service #

On day three I dived into practical application. I built a web service using Echo, a high-performance framework for Go. Over two days I learned how to use service classes, create custom types, implement middleware for request handling, set up logging, apply rate limiting, render HTML templates, manage user sessions, and implement JWTJWTJSON Web Token — a compact, URL-safe token format used for securely transmitting authentication claims between parties authentication. Wikipedia 1 source 2 JSON Web TokenWikipedia

Echo — High performance, minimalist Go web framework

Days 5–6 — Database Modeling with ENT #

To take my skills further I explored ENT, a code-first approach to database modeling and querying in Go. I dedicated two days to learning how to define database schemas, perform CRUD operations, and use migrations to evolve the schema over time.

ENT — An entity framework for Go

Day 7 — Comparing Database Libraries #

I experimented with different database libraries to understand their trade-offs in features and performance.

Day 8 — Dynamic Web Pages with HTMX #

Day eight was all about the frontend. I integrated HTMX — a library that lets you access modern browser features directly from HTML — alongside templating and component tools to create dynamic, responsive pages.

Days 9–10 — Full-Stack App with Iris #

For the final leg I tried out Iris, another popular Go web framework. Over two days I built a full-stack web application — covering templating, controllers, JWT authentication, and routing.


Ten days of focused work. Go felt less like learning a new language and more like unlearning habits that other languages had made necessary. I’ll be back with more.