Data Analysis in Go

Course Description

This course is for Go developers who’d like to start analyzing data without reaching out to other languages or tools. In this workshop we’ll go over the phases of data acquisition, cleaning, exploring and presenting. You need to know how to program in Go and middle school level math.

Each session is 4 hours long.


Session 1: Data Ingestion

You’ll see how you can ingest data from various sources into your program. We’ll cover the following data sources:

  • Databases
  • Files (CSV, JSON …)

You’ll also learn how to enrich data by combining values from various sources. We’ll see why we prefer to have data in columnar format when doing analytics.

Session 2: Data Cleaning

Real data is dirty and full of errors. If you base your calculations on dirty data, you’ll get GIGO: garbage in, garbage out. You’ll learn to use schema, find bad values based on heuristics and find outliers in data. We’ll also discuss what is missing data and various ways to fill it.

We’ll also discuss what is tidy data and ways to transform data to tidy format.

Session 3: Data Analysis

Once we have clean data, we want to explore and analyze it. You’ll learn how to slice, dice and analyze data. You’ll learn how to find various representing statistics (such as median) that will explain the data. You’ll also learn to group data and compute features from other features (say speed from time and distance). Finally, you’ll learn to use Monte Carlo simulations to gain insights that otherwise require more complex mathematics.

Session 4: Presenting Results - Visualization

Once the data is analyzed and you have some results, it’s time to present them. You’ll learn to create graphs and charts of your data that will tell a good story. We’ll discuss various charts and their usage and survey charting tools in Go and beyond.


You need to know how to program in Go and middle school level math.

About the Instructor

Miki is a software developer with more than 20 years of experience. He has taught many workshops on various technical subjects all over the world at companies such as AT&T, Oracle, Dropbox, J.P. Morgan, and others. Miki is involved in open source, both in the Go and Python worlds. He has several open source projects of his own and contributed to many others including Go & Python.

He’s also helping organize GopherCon Israel, Go Israel meetup, the upcoming PyData Israel, and was a member of the PyCon Israel team.

Miki wrote “Forging Python”, “Go Brain Teasers” and “Python Brain Teasers”, he’s a LinkedIn Learning author, speaks at conferences, and infrequent blogger. Miki helps customers in R&D projects, building data pipelines, optimizing performance, and other challenging technical issues. He loves writing code and solving problems.

Important: Upon completion of each session, there will be a video recording available for download.