Ian Cooper
where else to find them
website:https://hachyderm.io/@ICooper
github:iancooper
bluesky:icooper.bsky.social
x:icooper
linkedin:ian-cooper-2b059b
speakerdeck:iancooper
what they talk about
all 17 in the filters
where they keep going back
- NDC Oslo9 editions2017–2025
- NDC London8 editions2017–2026
- Build Stuff7 editions2016–2025
all 11 in the filters
on a stage with
- Martin Thwaites2×
- James Lewisonce
- Kris Jenkinsonce
who talks about the same things
- Laila Bougria21 talks
- Jimmy Bogard50 talks
- Mark Rendle47 talks
- Chris Klug27 talks
- James Eastham9 talks
- Scott Sauber13 talks
| title | conference | date |
|---|---|---|
| Modular Code with Examples in C# | NDC London 2026 | 2026-01-26 |
Argues that in C# the useful module boundary is the assembly not namespaces or folders, demonstrates a small Quest Worlds contest resolver implemented as… | ||
| Responsibility Driven Design Revisited | Build Stuff 2025 | 2025-12-03 |
Argues that Responsibility-Driven Design is the missing foundation under DDD and shows concrete modeling tools: write a design story, pull out candidates, and… | ||
| Responsibility Driven Design Revisited | Build Stuff 2025 | 2025-12-03 |
Claims Domain-Driven Design is incomplete without Responsibility-Driven Design and shows how to find behavior first, then assign roles and responsibilities… | ||
| Responsibility Driven Design Revisited | NDC Oslo 2025 | 2025-05-19 |
Claims that modeling behavior first avoids data‑first design and reduces rework, demonstrated by modeling a Quest Worlds contest where a small prototype domain… | ||
| Modern Observability and Event Driven Architectures | NDC Oslo 2025 | 2025-05-19 |
A C#/JavaScript pizza shop demo is built and instrumented with OpenTelemetry, Honeycomb, Azure Service Bus, Kafka and .NET channels to prove that tracing… | ||
| Microservices, Where Did It All Go Wrong? | NDC Melbourne 2025 | 2025-04-29 |
Argues that microservices often become distributed monoliths when teams split code by convenience not domain, cites Twitter’s timeline requiring 64 calls and… | ||
| Modern Observability and Event Driven Architectures | NDC London 2025 | 2025-01-27 |
Builds a one-minute pizza shop demo with three services (storefront, pizza shop, courier) and shows C#/JavaScript code, Azure Service Bus and Kafka, and… | ||
| Microservices, Where Did It All Go Wrong | NDC London 2025 | 2025-01-27 |
Argues microservices often devolve into costly distributed monoliths because teams misread “micro” and split by convenience, not domain; cites 30–40 developers… | ||
| Microservices, Where Did It All Go Wrong | GOTO Copenhagen 2024 | 2024-09-30 |
Argues that microservices often become distributed monoliths rather than independently replaceable components, creating latency, fragility and huge operational… | ||
| Panel: Microservices, Where Did It All Go Wrong | GOTO Copenhagen 2024 | 2024-09-30 |
Argues microservices work when chosen for specific needs, not as a default, and shows common failures: rushed boundary decisions during hypergrowth, brittle… | ||
| Kafka for .NET Developers | NDC Oslo 2024 | 2024-06-10 |
A practical .NET walk-through that wires a CLI transmogrifier: a producer Builder pushes key/value records to Kafka (flush, retries=3, acks=all… | ||
| Being Staff Plus | NDC Oslo 2024 | 2024-06-10 |
Explains what changes when engineers move beyond team-level senior roles to staff plus work: four archetypes (leader, designer/solver/translator via the… | ||
| TDD Revisited | Craft Conference 2024 | 2024-05-30 |
Claims that TDD means writing isolated “unit” tests, that each new test maps to a new function, that customers write SpecFlow acceptance tests, that test‑after… | ||
| Kafka for .NET Developers | NDC Sydney 2024 | 2024-02-12 |
Covers concrete .NET code using the Confluent.Kafka client to build a producer and consumer, shows partitioning by key and how offsets are stored and… | ||
| Kafka for .NET Developers | NDC London 2024 | 2024-01-29 |
Introduces Kafka basics with concrete .NET code: creates a producer/consumer (string,string), runs Kafka in Docker Compose, shows console producer/consumer… | ||
| TDD Revisited | NDC Porto 2023 | 2023-10-16 |
Argues TDD is about driving behaviors not isolating “unit tests,” and recommends writing developer tests that target the smallest observable behavior, use… | ||
| Succeeding at Reactive Architecture | NDC Oslo 2023 | 2023-05-22 |
Reactive architecture argues that asynchronous message passing and buffered brokers (Kafka, SQS, RabbitMQ) are the mechanism that unlock outbox/inbox… | ||
| Adopting Polyglot Flow | Build Stuff 2022 | 2022-11-09 |
Argues that pick brokers by semantics not slogan: use queue for commands (locking, requeue, delay queues, DLQ, competing consumers) and stream for sequential… | ||
| At Least Once | Build Stuff 2022 | 2022-11-09 |
Compares orchestration vs choreography for eventual consistency, argues fiefdoms own local workflow and use messaging for request/reply and event-driven… | ||
| At Least Once | NDC Oslo 2022 | 2022-09-26 |
Argues that distributed systems drop two‑phase commit and implement consistency in application code by breaking domains into fiefdoms, using message-based… | ||
| Hustle and Flow | DDD Europe 2022 | 2022-06-20 |
Argues that microservices should model processes not entities, showing concrete patterns and failures: paper-office simulation (catalogues, fax, mail cart)… | ||
| Hustle and Flow | NDC Porto 2022 | 2022-04-25 |
Argues that Flow‑Based Programming (from J Paul Morrison, 1970s) maps real paper workflows into inbox/outbox services so event-driven systems stay… | ||
| Managing Asynchronous APIs | NDC Oslo 2021 | 2021-11-29 |
Describes using AsyncAPI to declare channels, message schemas and protocol bindings, pairing it with CloudEvents for consistent event metadata and… | ||
| Managing Event Driven Architectures | Build Stuff 2021 | 2021-11-17 |
Claims that documenting event endpoints fixes scale problems and shows how to do it: use AsyncAPI (and CloudEvents) to describe channels, bindings and message… | ||
| TDD Revisited | NDC London 2021 | 2021-01-25 |
Argues that TDD is about discovering behavior not writing isolated unit tests, rejects heavy mocking and the “100% coverage” expectation, and recommends… | ||
| Capability Mapping | Build Stuff 2020 | 2020-11-11 |
Claim: partition services by business capability so teams reach independent deployability and ship in hours instead of weeks. Methods: use value stream mapping… | ||
| Event Driven Collaboration | Highload fwdays'20 | 2020-10-13 |
Argues that moving from request-driven to receiver-driven flow control succeeds when teams adopt concrete patterns: use the outbox pattern to avoid lost… | ||
| Capability Mapping | NDC Oslo 2020 | 2020-06-08 |
Argues that microservices must align to business processes (not just vague domains) to get independent deployability and avoid the entity-service anti‑pattern… | ||
| Capability Mapping | NDC London 2020 | 2020-01-27 |
Argues that real microservice boundaries come from automating stable business processes so teams can independently deploy and release many times per day… | ||
| Event Driven Collaboration | Build Stuff 2019 | 2019-11-13 |
Explains why distributed service data must be treated as data on the inside vs data on the outside and gives two concrete integration patterns: either emit… | ||
| Event Driven Collaboration | NDC Oslo 2019 | 2019-06-17 |
Explains how moving from shared databases to per-service ownership forces distributed data and how switching from request-driven to receiver-driven flow… | ||
| How to Escape The Distributed Monolith | NDC Minnesota 2019 | 2019-05-06 |
Companies with ~700 engineers and ~52 teams find RPC-based microservices become a distributed monolith because services use HTTP/gRPC and service meshes as… | ||
| Agile Software Architecture | NDC Porto 2019 | 2019-02-26 |
Argues that architects still matter because software architecture is the shared map of components and connectors, not vague upfront priestcraft, and shows… | ||
| Data on the Inside, Data on the Outside | NDC London 2019 | 2019-01-30 |
Explains Pat Helland’s Data on the Inside vs Data on the Outside distinction and gives concrete implementation guidance: when to cache reference data, how to… | ||
| Implementing the Clean Architecture in .NET Core | NDC Oslo 2018 | 2018-06-11 |
Shows a working .NET Core Web API refactor: code moves out of controllers into facade layers, then into command/query interactors (use cases) implemented with… | ||
| Agile Software Architecture | NDC Minnesota 2018 | 2018-05-07 |
Argues architecture is a usable map, not just a list of hard-to-change decisions, and agile is a risk‑reduction strategy with short feedback loops. Recommends… | ||
| Nginx for .NET Developers | NDC London 2018 | 2018-01-15 |
A .NET Core Web API runs in Docker with Kestrel on port 5000 and is put behind Nginx reverse proxy on port 8080, adding compression, security headers and disk… | ||
| 12 Factor Apps in .NET | Build Stuff 2017 | 2017-11-15 |
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand | ||
| Creating A .NET Renaissance | NDC Oslo 2017 | 2017-06-14 |
Data show half of server-side .NET jobs since 2012, with Indeed and Stack Overflow charts tying that drop to the rise of Node.js replacing ASP.NET and growth… | ||
| Twelve Factor Apps in .NET : Building apps for the cloud | NDC London 2017 | 2017-01-16 |
Shows that the Twelve‑Factor rules apply to .NET Core by building a working Todo API plus a background worker, packaged with Docker Compose and using Kestrel… | ||
| RPC is Evil | Build Stuff 2016 | 2016-11-16 |
From #Vilnius to #Mallorca! BUILD STUFF is going to celebrate summer! An amazing weekend on APRIL 29-30, 2017 – MALLORCA, SPAIN will take you out of the office… | ||
| nothing matches | ||