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