Most Active Speaker

David Whitney

David Whitney

Converting rum into code

London, United Kingdom

Actions

David is the Director of Architecture for NewDay, and the founder of Electric Head Software. Focusing on iterative software delivery, developer mentoring and cultural change - mostly working with London-based organisations.

He speaks about software design, culture, and ethics in technology - rounded out by an assortment of talks about software that probably doesn't need to exist but makes the world a little more fun. David has previously served as the chief coding technical architect for JustGiving and helped market-leading organisations including JUST-EAT, Trainline and Vodafone improve their technical capabilities.

David is a Microsoft MVP, has been part of the OpenUK Honours list for open-source advocacy, and is a twice bestselling author of children's books about programming.

You can find his open-source projects on NuGet, npm and GitHub, follow him on Twitter @david_whitney, or check out his technical blog at http://www.davidwhitney.co.uk/Blog.

http://www.electricheadsoftware.com
http://www.davidwhitney.co.uk

Badges

  • Most Active Speaker 2024
  • Most Active Speaker 2023
  • Most Active Speaker 2022

Area of Expertise

  • Information & Communications Technology

Topics

  • Programming
  • Agile
  • .NET
  • JavaScript
  • JavaScript & TypeScript
  • Node
  • NodeJS
  • Agile Testing
  • Test-Driven Development
  • Lean / Agile Leadership
  • Clean Code
  • Continuous Testing
  • API Testing
  • Testing
  • Unit testing
  • Test Driven Design
  • Architecture of Web-Apps
  • Azure Architecture
  • Microservice Architecture
  • Cloud Architecture
  • Software Architecture
  • Frontend
  • Front-End Development
  • Frontend Architecture
  • IoT
  • open source
  • open-source
  • floss
  • Culture & Collaboration
  • react
  • ReactJS
  • reactive programming
  • Realtime communication
  • Real-time communications
  • vue
  • vuejs
  • svelte
  • sveltejs
  • azure
  • microsoft mvp
  • microsoft azure
  • azure static web app
  • Static Site Generators

The Unbearable Weight of Architecture

Most of modern software design and programming is characterised by tension and trade-offs. Making the wrong decisions often casts long shadows over a system and dooms it's maintainers to endless toil and strife. This leaves us stuck in a pendulum swing of system design techniques that are reduced to conversations about monoliths and microservices, rather than about the characteristics of the systems we're really building.

In this session, we'll cover techniques for understanding context, designing with trade-offs in mind, and building software that survives inevitable change, in non-controlled environments.

With examples from real-world systems, we will learn language that we can use to talk about design, so that we can design systems with Intentionality that are sympathetic to the humans that need to build them.

Finally, we'll cover the eternal relationship between design, architecture and programming - along with the different aesthetic viewpoints you need to help them coexist and evolve together.

"Intentional Code part 2: This time for architecture and design!"

Decades in the Machine - Meaning and Purpose in Technology

In this keynote session we'll talk about finding your own identity set against the backdrop of a career in technology.

Ways to cope with the eternal tug of war between the work we do for money and the work we do for ourselves.

We'll talk about keeping your identity intact in an unstable job market, and crafting a path focused on doing things you love with computers.

There will be practical career advice, points of reflection, and an optimistic conclusion that helps folks grow through their careers.

Open-Source Exploitation

In this session we'll do a deep dive into the history of open-source software, it's ethical issues in the modern, hyper-capitalised development landscape, and how we can survive, as humans in a world where the hobbyist computer clubs of the early microcomputing era founded practices that are being weaponised against the individual in the 2020s.

A vital, rollercoaster session about something that effects the livelihood of every developer - and is about finding the humanity in the centre of our software.

Intentional Code - Minimalism in a World of Dogmatic Design

A brief history of Design in software, reflecting on the history of the design patterns movement, clean code, and the long shadow they have cast over software development in the 2010s and beyond.

In this session we'll talk about intentionality in software design - and how you can radically simplify the way you build applications today to make them more meaningful to the humans that maintain them.

A radical look into why *every single character matters*, and why you should probably burn your copies of Clean Code.

Rendering 3D Worlds in C#

Ever wondered how Wolfenstein managed to render almost convincing 3D worlds in the 90s?

In this session, you'll learn about ray casting, the fun hack that'll let you build a 3D renderer from scratch all of your own, only using C#.

We'll cover the (not) scary maths bits, rendering things at a distance and basic texture mapping in this 1 hour deep dive, along with looking at the history of 3D in games, and a short lesson in artistic perspective.

Let The Computers Do The REST

The late 00s and early 2010s saw an explosion in the availability of HTTP APIs, driven by the rise of mobile apps. This explosion led to rich API ecosystems of varying quality and consistency across the web.

In this session we'll cover how to design RESTful APIs that are comprehensible to humans, while being friendly to the machines that have to integrate with them, looking back on 15 years of building APIs that were used by everyone.

We'll cover how to design resources, how to respect HTTP, ensuring that your APIs are consistent and efficient, the perils of versioning and the joys of hypermedia. This talk is for anyone that wants to make their APIs a pleasure to use.

Writing Tests That Don’t Suck - Test Driven Development in JavaScript

In this session we’ll talk about TDD in JavaScript, without the dogma, without the buzzwords, in simple clear examples, using Visual Studio Code, Jest and Wallaby.js We’ll cover tooling, the TDD mindset, organisational patterns, naming, data driven tests, refactoring tests, and the one most important skill in testing – learning to test the characteristics of your code, not your implementations.

This talk is perfect for people who have never done TDD before, struggle to understand it’s value, or feel held back by brittle tests that feel like mud.

It’s the summation of 15 years of teaching testing across static and dynamically typed languages, and I promise, even if you think you know testing there’s something in here for you. Live coding included!

Meditations on Code As Art

Code can be beautiful, elegant and performant, but can it deliberately be artistic?

Despite how important and prolific software and programming have become over the last 50 years the general public still have a very loose understanding of what software actually is.

This hasn't been lost of the people that build the software, who often slowly try and capture themselves in the work that they do.

In this talk we'll take a look at some examples through history of seeing the humans behind the code they write as they imprint themselves on their work and we'll consider if it's possible to deliberately make art by manipulating the form and design of software itself.

A talk for everyone wanting to be seen in the work, or understand their own creative urge.

A very weird, introspective intersection of art theory and a slavish obsession with the form of software. New talk for 2025.

Sight Reading Code

A cerebral dive into why code is like music, and literature - a primer to the text and the subtext in software design. You don’t write code for a living - you read it.

We’ll take a look at the different ways you can interpret code-bases to discover authorial intent in software. We’ll look at what I learn about you from the style of your programming. We’ll look at the breadcrumbs to meaning that exist in the odd and unexpected corners of a codebase.

Ever wondered what your code organisation, your patterns, your commit history and other subtle tells in your code tell someone else about you? Ever wonder if subtext truly exists in software? Let’s look at how it does.

Hopefully we’ll learn what makes code subjectively and objectively beautiful, and useful.

Building a Game Boy emulator in .NET Core!

A teardown of building and porting Game Boy emulators, written in cross-platform C# running in .NET Core.

We'll deal with how machine code really works, how it's translated to opcodes, and how real time emulation works, all in this hour-long deep dive into emulation in .NET.

Expect to learn about low level emulation, software porting, building debuggers and why you should always do things for fun.

Build Your Own Game Engine in the Browser. No experience necessary, all experience welcome!

Ever wondered how games of the 8- and 16-bit era would work if they were built today?

In this talk, we'll build a retro inspired, asynchronous multiplayer platform game using modern web technology. We'll cover building a basic game engine from first principles including rendering, cameras, collision detection, physics, game AIs and entity component systems.

We'll cover how web technology has changed over the last decade allowing for some surprisingly high-fidelity results like full sound and controller support right in your browser.

This is a talk for developers who have never made a game, but have always been curious. We'll learn how your regular web dev skills can be used for something a little more fun!

Making Sense of the Dissonance in AI

It's a tough time to be a technology professional. We're simultaneously being told that AI will change everything we know about the world, while simultaneously being told that the bubble is going to burst.

Everyone is going to be redundant! AI will fail! AI will ruin the internet! AI can't do anything!

It's disorienting and stressful trying to work out what a reasonable strategy should be to move forwards with this technology that appears to shift it's goalposts almost daily.

In this session, we'll talk about understanding what AI really is, how to form a reasonable, governance friendly strategy around it, and what the sensible bets for the future are in the space.

We'll do a deep dive into ethics, the human cost of content moderation, and having to be confronted by the reality of technical change in real-time.

A survival guide to getting the most from the most controversial technology in a decade.

An AI moderates warts and all deep dive into surviving as technology changes, without giving in to the hype during times of technology innovation and change.

DevSum 2026 Sessionize Event Upcoming

June 2026 Stockholm, Sweden

NDC London 2026 Sessionize Event Upcoming

January 2026 London, United Kingdom

Build Stuff 2025 Lithuania Sessionize Event

December 2025 Vilnius, Lithuania

#HelloStavanger 2025 Sessionize Event

October 2025 Stavanger, Norway

INIT 2025 Dev Conference Sessionize Event

October 2025 Banja Luka, Bosnia and Herzegovina

NDC Copenhagen Developers Festival 2025 Sessionize Event

September 2025 Copenhagen, Denmark

KCDC 2025 Sessionize Event

August 2025 Kansas City, Missouri, United States

Codegarden 2025 Sessionize Event

June 2025 Odense, Denmark

DevSum 2025 Sessionize Event

June 2025 Stockholm, Sweden

DDD Europe, EventCentric, Data Mesh Live - 2025 Sessionize Event

June 2025 Antwerpen, Belgium

NDC Oslo 2025 Sessionize Event

May 2025 Oslo, Norway

NDC London 2025 Sessionize Event

January 2025 London, United Kingdom

Build Stuff 2024 Lithuania Sessionize Event

November 2024 Vilnius, Lithuania

DevConf 2024 Sessionize Event

October 2024 Łódź, Poland

Techorama 2024 Netherlands Sessionize Event

October 2024 Utrecht, The Netherlands

UtahJS Conf 2024 Sessionize Event

September 2024 Sandy, Utah, United States

Copenhagen Developers Festival 2024 Sessionize Event

August 2024 Copenhagen, Denmark

WeAreDevelopers World Congress 2024 Sessionize Event

July 2024 Berlin, Germany

NDC Oslo 2024 Sessionize Event

June 2024 Oslo, Norway

DevSum 2024 Sessionize Event

May 2024 Stockholm, Sweden

NDC Sydney 2024 Sessionize Event

February 2024 Sydney, Australia

NDC London 2024 Sessionize Event

January 2024 London, United Kingdom

Build Stuff 2023 Lithuania Sessionize Event

November 2023 Vilnius, Lithuania

NDC Porto 2023 Sessionize Event

October 2023 Porto, Portugal

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

DevSum 2023 Sessionize Event

May 2023 Stockholm, Sweden

NDC Oslo 2023 Sessionize Event

May 2023 Oslo, Norway

NDC London 2023 Sessionize Event

January 2023 London, United Kingdom

Modern Frontends Live! 2022 Sessionize Event

November 2022 London, United Kingdom

Build Stuff 2022 Lithuania Sessionize Event

November 2022 Vilnius, Lithuania

NDC Sydney 2022 Sessionize Event

October 2022 Sydney, Australia

NDC Oslo 2022 Sessionize Event

September 2022 Oslo, Norway

KCDC 2022 Sessionize Event

August 2022 Kansas City, Missouri, United States

DevSum 2022 Sessionize Event

May 2022 Stockholm, Sweden

NDC London 2022 Sessionize Event

May 2022 London, United Kingdom

NDC Oslo 2021 Sessionize Event

November 2021 Oslo, Norway

Build Stuff 2021 Lithuania Sessionize Event

November 2021 Vilnius, Lithuania

TechBash 2021 Sessionize Event

October 2021 Mount Pocono, Pennsylvania, United States

KCDC 2021 Sessionize Event

September 2021 Kansas City, Missouri, United States

Virtual Scottish Summit 2021 Sessionize Event

February 2021

NDC London 2021 Sessionize Event

January 2021 London, United Kingdom

DDD 2020 Sessionize Event

December 2020

NDC Oslo 2020 Sessionize Event

June 2020 Oslo, Norway

David Whitney

Converting rum into code

London, United Kingdom

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top