Dive into a thought-provoking keynote by Alan Kay from GOTO 2021 as he tackles the challenging question: "Is Software Engineering Still an Oxymoron?". Drawing on his extensive experience and insights from friends and colleagues, Kay defines true engineering as "designing, making, and repairing things in principled ways".
This talk explores the historical evolution of engineering disciplines, from initial tinkering to the sophisticated integration of aesthetics, engineering, mathematics, and science. While much of software engineering today is characterized by "a lot of tinkering" and very little "real engineering, tiny bit of math and... a little bit of science," resembling other fields a century ago, Kay argues for an aspiration towards greater maturity. He critically examines the prevalent attitude of "move fast and break things" and the Dunning-Kruger syndrome (overestimating one's ability) often seen in software development. He cites real-world examples like the Facebook outage – where a lack of a system model and failure to design for potential errors led to huge ramifications – and the tragic Boeing 737 MAX autopilot failures as stark consequences of neglecting fundamental engineering principles and failing to prioritize safety and comprehensive design.
Discover the vision for a more robust future, inspired by pioneers like Ivan Sutherland's Sketchpad, which introduced groundbreaking concepts like object-oriented design and constraint solving, and Doug Engelbart's work on augmenting human intellect to better address complex problems. Kay advocates for the widespread adoption of the "CAD Sim Fab" (Design, Simulate, Build) paradigm, emphasizing the critical importance of designing and thoroughly simulating systems before building them, a practice common in other engineering fields but often overlooked in software. Ultimately, he posits that software, which is rapidly reaching everywhere, possesses "the most degrees of freedom," and is "the most dangerous new set of technologies invented" that is "starting to kill people," must embrace a "Hippocratic Oath" – the pledge that "the software must not harm or fail". This is not a fixed destination but a continuous process of striving to become better engineers and a more civilized society.
This podcast was generated by NotebookLM from https://youtu.be/D43PlUr1x_E.