SomNOG Events

Essential Go for Real-World Programming - SomNOG9 Tutorials

by Mohamed A. Abdisamad (NIRA)

→ Africa/Mogadishu
Room 17 (SNU)

Room 17

SNU

Mogadishu, Somalia
Description

Tutorial Details

Name Essential Go for Real-World Programming
Duration 4 hours
Format 100% hands-on - you write code the entire time
Repository github.com/somnog/learn-go
   

Overview

Go (Golang) was built at Google with a clear mission: simplicity, blazing-fast execution, and effortless scale for backends and APIs. Today, it powers critical infrastructure at companies like Google, Uber, Cloudflare, Docker, and Dropbox. In this 4-hour hands-on tutorial, you'll go from installing Go to building and running a complete JSON web server on your machine.

What to Expect

  • 100% Hands-On: No slides, no dry lectures. You write code from minute one.
  • Real-World Examples: Every core concept is introduced through concrete, production-style patterns.
  • Interactive Exercises: Reinforce what you learn with coding challenges at every stage.

Learning Objectives

By the end of this session you will:

1. Have a complete Go development environment running on your machine

2. Read and write Go programs using its core syntax

3. Write reusable functions and handle errors the Go way

4. Model real data using structs

5. Work with lists and key-value stores (slices and maps)

6. Build and run an HTTP server that accepts and returns JSON

Prerequisites

Required Not required
A laptop - Windows, macOS, or Linux  Prior Go experience
Experience writing code in any language - Python, PHP, JavaScript, Java, C - anything counts  Prior web server experience
  Any pre-installed software - we install everything together

How This Workshop Works

This tutorial has 6 stages. Each stage follows the same pattern:

Step What happens
Read Short explanation
Code Along Type the code as the instructor walks through it live
Exercise Solve a challenge on your own (5-10 minutes)
Run the test Run go test - it must pass before you continue

Materials & exercises will be available at github.com/somnog/learn-go