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
Links
Area of Expertise
Topics
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.
Can I pass my own interview? How to Tackle Technical Testing
We’ve all experienced excruciating interviews, poorly conceived technical tests, and confirmation bias.
In this session, we'll live-code our way through a real technical interview test, explaining as we go what an evaluator should look for. We’ll explore the secret tells and subtext that interviews reveal and the patterns and anti-patterns of well executed technical evaluation.
For interviewees, we'll talk about the best ways to demonstrate your knowledge without over-designing.
For interviewers, we'll cover how to make sure you're reading the right signals, while keeping the process kind, ethical, and welcoming for everyone.
Clouds, Microservices, and the brittleness of architecture
You've gone through your mid-2010's cloud migration and things are not ok.
Your system is flakey, teams in conflict, and errors transient and temperamental - where did it all go wrong?
In this session, we discuss what being "cloud native" really means, distinct from vendor hype, and middleware sales pitch, covering cloud architectural patterns that make your software resilient in the real world, not just on paper.
The work doesn't stop at the platform - it starts with you.
This is a session about:
- Graceful degradation
- Bulkheading
- Circuit Breaking
- Designing for Failure
- Data replication
- Running partially offline
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!
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!
INIT 2025 Dev Conference Sessionize Event Upcoming
NDC London 2025 Sessionize Event Upcoming
Build Stuff 2024 Lithuania Sessionize Event
DevConf 2024 Sessionize Event
Techorama 2024 Netherlands Sessionize Event
UtahJS Conf 2024 Sessionize Event
Copenhagen Developers Festival 2024 Sessionize Event
WeAreDevelopers World Congress 2024 Sessionize Event
NDC Oslo 2024 Sessionize Event
DevSum 2024 Sessionize Event
NDC Sydney 2024 Sessionize Event
NDC London 2024 Sessionize Event
Build Stuff 2023 Lithuania Sessionize Event
NDC Porto 2023 Sessionize Event
KCDC 2023 Sessionize Event
DevSum 2023 Sessionize Event
NDC Oslo 2023 Sessionize Event
NDC London 2023 Sessionize Event
Modern Frontends Live! 2022 Sessionize Event
Build Stuff 2022 Lithuania Sessionize Event
NDC Sydney 2022 Sessionize Event
NDC Oslo 2022 Sessionize Event
KCDC 2022 Sessionize Event
DevSum 2022 Sessionize Event
NDC London 2022 Sessionize Event
NDC Oslo 2021 Sessionize Event
Build Stuff 2021 Lithuania Sessionize Event
TechBash 2021 Sessionize Event
KCDC 2021 Sessionize Event
Virtual Scottish Summit 2021 Sessionize Event
NDC London 2021 Sessionize Event
DDD 2020 Sessionize Event
NDC Oslo 2020 Sessionize Event
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