In this episode of The Idealcast, Gene Kim speaks with Scott Havens, who is the Director of Engineering at Wayfair, where he leads Engineering for the Wayfair Fulfillment Network. Havens is a leading proponent of applying functional programming principles to technical and organizational design. Previously, Havens was the architect for Walmart's global omnichannel inventory system, unifying availability and replenishment for the largest company in the world by revenue.

Havens shares his views on what makes great architecture great. He details what happened when an API call required 23 other synchronous procedures calls to return a correct answer. He discusses the challenges of managing inventory at Wal-Mart, how one implements event sourcing patterns on that scale, and the functional programming principles that it depends upon. Lastly, he talks about how much category theory you need to know to do functional programming and considerations when creating code in complex systems.

Before listening to this interview, please listen to Episode 22, which provides Scott Havens's  2019 DevOps Enterprise Summit talk with commentary from Gene Kim.

 

ABOUT THE GUEST(S)

Scott Havens is a Director of Engineering at Wayfair, where he leads Engineering for the Wayfair Fulfillment Network. Scott cares deeply about scalable data-intensive software systems; he is a leading proponent of applying functional programming principles to technical and organizational design. Previously, Havens was a Director of Engineering at Jet.com and was the architect for Walmart's global omnichannel inventory system, unifying availability and replenishment for the largest company in the world by revenue.

In his home life, Havens enjoys good food, good wine, bad movies, and asking his daughter to stop "redecorating" his Minecraft castles, pretty please.

LinkedIn: https://www.linkedin.com/in/scott-havens/

Twitter: @ScottHavens

Email: [email protected]

 

YOU’LL LEARN ABOUT

His views on what makes great architectures great

The details on what happened when an API call requires 23 other synchronous procedures calls to return a correct answer

How one implements event sourcing patterns on a large scale, using Wal-Mart as an example, and the functional programming principles it depends upon

The challenges of managing inventory at Wal-Mart

How much category theory to know to do functional programming

 

RESOURCES

Currying

Function composition (computer science)

Idempotence

Love Letter To Clojure: And A Datomic Experience Report - Gene Kim

Side effect (computer science)

Functional Geekery Episode 129 – Eric Normand

Theory of Functional Programming skill

Ruby Conf 12 - Boundaries by Gary Bernhardt

Functional Design in Clojure Podcast - Ep 021: Mutate the Internet

Lean Summit 2013 - Art Byrne - What does it take to Lead a Lean Turnaround?

Thoughts On Functional Programming Podcast - 3 Examples Of Algebraic Thinking

CORECURSIVE #050 - Portal Abstractions with Sam Ritchie: How abstract algebra solves data engineering

Adam Grant’s tweet about coding

 

TIMESTAMPS

[00:24] Intro

[02:23] Meet Scott Havens

[03:48] How architecture fits in functional programming

[04:48] Event source systems at Wal-Mart 

[19:45] The effects and behaviors

[22:36] Duality of code and data

[26:13] Currying

[32:34] How the 23 service teams’s world change

[40:56] Hallmarks of great architecture

[51:10] How he replaced the dominant architecture at Wal-Mart

[56:46] Configurations and speculations with couplings

[1:03:51] How can simple systems suffer from problems like this

[1:09:11] Idempotence, Clojure and side effect

[1:17:01] Issues with switching to event-driven asynchronous architectures

[1:25:15] Vast scale in which these organizations operate in

[1:29:54] A moment that showed Scott the effects of what he helped create

[1:33:51] Onboarding new engineers to the new system

[1:45:11] Working in the Windows 3.1 multicast networking group

[1:47:32] Reflection on Moda Operandi experience

[1:52:11] A

Podden och tillhörande omslagsbild på den här sidan tillhör Gene Kim. Innehållet i podden är skapat av Gene Kim och inte av, eller tillsammans med, Poddtoppen.