NIDC 2020 Workshops

On Thursday 8th October, we will be running a workshops day. While there will be a nominal fee for workshops, which will be donated to charity, it is an absurdly tiny fraction of their street value. Spaces will be very limited, so sign up as soon as you can!

We have 4 workshops on offer, including Event Sourcing, Data Science and TypeScript, and one for anyone who wants to learn how to turn meetings into decisions:

Event Sourcing with EventStoreDB

Host: Jason Mitchell

Event sourcing is an alternative approach to persisting data where rather than storing the up-to-date state of an entity each change is stored as a separate record. These records (known as events) can then be replayed to derive the latest entity state.

During the workshop we will dive into the event sourcing pattern, its benefits, and important things to consider when building an event sourced application. We will walk-through how to implement event sourcing from scratch using EventStoreDB to record events.

This workshop will contain some theory but the focus will be on hands-on exercises. We will use Test-Driven Development as a tool to help learn about event sourcing.

Topics covered:

  • The basics of Domain-Driven Design.
  • What event sourcing is and why it is useful.
  • CQRS and its relationship to event sourcing.
  • How to use EventStoreDB.
  • How to model an application using events.
  • How to build and test event sourced applications.
  • How to evolve an event sourced application in production.

Who is this for?

Anyone with prior experience building applications which interface with a database. All code in workshop materials will be written in C# so familiarity with the language is recommended. As we will be writing tests throughout the workshop knowledge of a test library such as NUnit or xUnit will be beneficial.


The following software will be required for the workshop:

  • Docker
  • .NET Core 3.1 SDK
  • A C# IDE such as VS Code, Visual Studio or Jetbrains Rider

Register now!

Introduction to TypeScript

Host: Garth Gilmour and Eamonn Boyle

TypeScript is a type safe superset of JavaScript. It allows you to develop codebases that are more elegant, error-free and maintainable than their JavaScript equivalents. TypeScript is rapidly growing in popularity for both UI creation (in Angular and React) and Serverless development (via the AWS Cloud Development Kit). Unlike alternatives like Elm, Reason and PureScript you can explore the language incrementally and leverage your existing JavaScript knowledge.

This single day workshop will introduce you to TypeScript. We will provide an overview of the language that touches on all of its features. This will include:

  • Creating standalone TypeScript projects via WebPack.
  • Configuring the behaviour and outputs of the Transpiler.
  • Using TypeScript to access the latest JavaScript features.
  • Safer coding via type inference, interfaces and generics.
  • Making higher order functions intelligible via type signatures.
  • Enhanced typing via aliases, unions, intersections and literals.
  • Type Driven Development with mapped and recursive types.

Attendees should be confident JavaScript developers, who are familiar with the basics of Node.js and NPM. Full details of setup and all the course materials will be provided in advance of the delivery, which will be conducted virtually via Zoom.

Register now!

Lightning Decision Jams

Host: Leela Collins

A Lightning Decision Jam is a condensed design thinking workshop which can help teams generate and prioritise actionable solutions to various problems. This process uses the four principles of design sprints:

  • Work together, alone. Independently come up with ideas, allowing quieter voices to share their thoughts.
  • Tangible items are better than discussion. Reduce the risk of different interpretations
  • Getting started is more important than being right
  • Don’t rely on creativity. Good ideas can come from anywhere.

Using the Visual Collaboration tool Mural, over 1 hour we will as a group discuss the impact of lockdown measures on networking events. We will be participating in the following actions in hopes of addressing a problem currently affecting the industry:

  1. Identify and define the problem quickly
  2. Come up with a lot of solutions
  3. Find the best solution/next step, based on identifying the effort and impact of the best solutions
  4. Arrive at clear action steps that can start being implemented as soon as the meeting is over

There are no pre-requisites for this workshop.

Register now!

Python for Data Science: Practical Pandas, Jupyter and Arrow

Host: Andrew Bolster

In this half day workshop, we’ll take a practical exploration of the current Python data ecosystem, using real data, to cover:

  • Jupyter Notebook development with Docker
  • Data Exploration and Injestion
  • Data Storage considerations and performance
  • Data Visualisation and Analysis
  • Tools and methods for reproducible workbooks

Attendees should have some familiarity with Python.

Register now!