Projects are the best way to learn a programming language,

Arpit Bhayani

Arpit Bhayani

Jan 06, 2024 • 2 min read


Projects are the best way to learn a programming language, and here are the three projects that I did learn Golang back in 2016 ⚡

  1. Build a command-line todo application
  2. Build a simple in-memory message broker
  3. Chat Application using WebSockets

Each project covers a different aspect of Golang and doing them all builds a holistic understanding. Here’s what you will get from each project.

  1. Build a command-line todo application

Golang is heavily used to build internal tools and command-line utilities. Building a todo application on CLI will help you

  • start with Go without being intimidated by the problem statement
  • understand how to structure the code and follow best practices
  1. Build a simple in-memory message broker

Message brokers are simple queues exposed over the network. Doing this project will help you understand

  • writing HTTP web servers
  • concurrency primitives like channels, mutexes, and WaitGroups
  • goroutines as you will use them to simulate the load on this broker
  1. Chat Application using WebSockets

Building a simple real-time chat application using WebSockets will help you understand

  • how WebSockets and persistent connections work
  • how to store and retrieve data from databases

Doing these projects well will cover most Golang constructs and help build a solid foundation to learn advanced topics.

⚡ Admissions for my System Design Feb 2024 cohort are open, and if you are an experienced engineer looking to build a rock-solid intuition to design any and every system, check out

arpitbhayani.me/course

Arpit Bhayani

Principal Engineer II at Razorpay - building Agent Studio, Ex-staff engg at GCP Memorystore & Dataproc, Creator of DiceDB, ex-Amazon Fast Data, ex-Director of Engg. SRE and Data Engineering at Unacademy. I spark engineering curiosity through my no-fluff engineering videos on YouTube and my courses