Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
In this 33-minute conference talk from YOW! Australia 2024, Kris Jenkins, a Developer Advocate and Software Developer, explores how side-effects create hidden complexity in software systems. Discover why side-effects make code harder to test, use, and compose, while remaining largely invisible to most programmers. Learn practical strategies to identify and combat these "insidious beasts" that sneak into codebases unnoticed. The presentation connects side-effects to broader concepts in modern programming, from immutable data structures and functional programming to recent developments in Java, Rust, event systems, and high-scale databases. Gain insights into why certain code is naturally easier to test and why some APIs are inherently more challenging to work with. By the end, you'll have a comprehensive understanding of the "complexity iceberg" lurking in your systems and possess concrete approaches to address it across various domains including DevOps and database design.
Syllabus
00:00 Intro
01:27 Let's talk about side effects
06:03 APIs & contracts
08:51 Hidden dependency graphs
10:47 Data
12:27 Programming is doomed
12:46 What can we do about it?
15:01 What if we went further?
18:06 What about other side-effects?
24:15 Functional programming
31:06 So, let's talk about side effects
32:50 Outro
Taught by
GOTO Conferences