
Software Engineering Radio - The Podcast for Professional Software Developers
742 episodes — Page 5 of 15
Episode 537: Adam Warski on Scala and Tapir
Adam Warski, the co-founder and CTO of SoftwareMill, discusses Scala programming and the Tapir library. Scala is a general-purpose JVM language, and Tapir is a back-end library used to describe HTTP API endpoints as immutable Scala values. Host Philip Winston speaks with Warski about the implications of Scala being a JVM language, the Scala type system, the Scala community's view of functional vs. object-oriented programming, and the transition of the ecosystem from Scala 2 to Scala 3. The Tapir discussion explores why Tapir is a library and not a framework, how server interpreters work in Tapir, how interceptors work, and what observability features are included with Tapir.
Ep 536Episode 536: Ryan Magee on Software Engineering in Physics Research
Ryan Magee, postdoctoral scholar research associate at LIGO Laboratory – Caltech, joins host Jeff Doolittle for a conversation about how software is used by scientists in physics research. The episode begins with a discussion of gravitational waves...
Ep 535Episode 535: Dan Lorenc on Supply Chain Attacks
Dan Lorenc, CEO of Chainguard, a software supply chain security company, joins SE Radio editor Robert Blumen to talk about software supply chain attacks. They start with a review of software supply chain basics; how outputs become inputs of someone else's supply chain; techniques for attacking the supply chain, including compromising the compilers, injecting code into installers, dependency confusion, and typo squatting. They also consider Ken Thompson's paper on injecting a backdoor into the C compiler. The episode then considers some well-known supply chain attacks: researcher Alex Birsan's dependency confusion attack; the log4shell attack on the Java Virtual Machine; the pervasiveness of compilers and interpreters where you don't expect them; the SolarWinds attack on a network security product; and CodeCov compromising the installer with code to insert exfiltration of environment variables into the installer. The conversation ends with some lessons learned, including how to protect your supply chain and the challenge of dependencies with modern languages.

Ep 534Episode 534: Andy Dang on AI/ML Observability
Andy Dang, Head of Engineering at WhyLabs discusses observability and data ops for AI/ML applications and how that differs from traditional observability. SE Radio host Akshay Manchale speaks with Andy about running an AI/ML model in production and how...

Ep 533Episode 533: Eddie Aftandilian on GitHub Copilot
Eddie Aftandilian, Principal researcher at GitHub discusses GitHub copilot and how it can improve developer productivity with host Priyanka Raghavan. The discussion explores various subtopics such as the history of copilot, how it can improve developer...

Ep 532Episode 532: Peter Wyatt and Duff Johnson on 30 Years of PDF
Peter Wyatt, CTO at PDF Association and project co-Leader of ISO 32000 (the core PDF standard), Duff Johnson CEO at PDF Association and ISO Project co-Leader and US TAG chair for both ISO 32000, discuss the 30 years' history of PDF, how to make a PDF...

Ep 531Episode 531: Xe Iaso on Tailscale
Xe Iaso of Tailscale discusses how a VPN can be a useful tool when building software. SE Radio host Jeremy Jung spoke with Iaso about what VPNs are, onboarding, access control, authentication in the network vs individual services, peer-to-peer vs...

Ep 530Episode 530: Tanmai Gopal on GraphQL
Tanmai Gopal, CEO of Hasura.io, joined SE Radio host Jeff Doolittle for a conversation about GraphQL. They discussed the history and rationale behind the original conception of GraphQL, as well as some of the use cases it is best suited for...

Ep 529Episode 529: Jeff Perry on Career Management for Software Engineers
Jeff Perry, career coach with experience in multiple engineering and technology fields discusses how software engineers can be intentional and proactive in evaluating and pursuing career options, with host Kanchan Shringi.

Ep 528Episode 528: Jonathan Shariat on Designing to Avoid Worst Case Outcomes
Jonathan Shariat, coauthor of the book Tragic Design, discusses harmful software design. SE Radio host Jeremy Jung speaks with Shariat about how poor design can kill in the medical industry, accidentally causing harm with features meant to bring joy...

Ep 527Episode 527: Adrian Kennard and Kevin Hones on Writing a Network OS from Scratch
Adrian Kennard and Kevin Hones, Founders of FireBrick routers and firewalls, discuss how to design, build, test and support a hardware router and network operating system from scratch, while sharing the lessons learned. You'll also learn that in certain..

Ep 526Episode 526: Brian Campbell on Proof of Possession Defenses
Brian Campbell, Distinguished Engineer at Ping Identity discusses cryptographic defences against stolen tokens for the OAUTH2 protocol with host Priyanka Raghavan. The discussion explores various subtopics such as the history of Proof of possession...

Ep 525Episode 525: Randy Shoup on Evolving Architecture and Organization at eBay
Randy Shoup of eBay discusses the evolution of eBay's tech stack. SE Radio host Jeremy Jung speaks with Shoup about eBay's origins as a single C++ class with an Oracle database, a five-year migration to multiple Java services, sharing a database...

Ep 524Episode 524: Abi Noda on Developer Experience
In this episode, Abi Noda, founder of Pull Panda and DX, discusses developer experience with SE Radio host Brijesh Ammanath. They examine the basic concept of DX and its importance before diving into a wide variety of issues, including methodologies...

Ep 523Episode 523: Jessi Ashdown and Uri Gilad on Data Governance
Jessi Ashdown and Uri Gilad, authors of the book "Data Governance: The Definitive Guide," discuss what data governance entails, why it's important, and how it can be implemented. Host Akshay Manchale speaks with them about why data governance...
Ep 522Episode 522: Noah Gift on MLOps
Noah Gift, author of "Practical MLOps", discusses MLOps, which are tools are techniques used to operationalize machine learning applications. Host Akshay Manchale spoke to Noah about the foundational aspects such as basic automation through DevOps, data...

Ep 521Episode 521: Phillip Mayhew on Test Automation in Gaming
Phillip Mayhew of GameDriver discusses test automation for games and game-like applications. Host Philip Winston spoke with Mayhew about the increasing role of test automation in modern game development, the impact on the QA role, how to run tests...
Ep 520Episode 520: John Ousterhout on A Philosophy of Software Design
John Ousterhout, professor of computer science at Stanford University, joined SE Radio host Jeff Doolittle for a conversation about his book, A Philosophy of Software Design. They discussed the history and ongoing challenges of software system design, especially the nature of complexity and the difficulties handling it. The conversation also explored various design concepts from the book, such as modularity, layering, abstraction, information hiding, maintainability, and readability.

Ep 519Episode 519: Kumar Ramaiyer on Building a SaaS
Kumar Ramaiyer, CTO, Planning Business Unit at Workday, discusses the Infrastructure services needed for and the design of Building and lifecycle of supporting a SaaS application.

Ep 518Episode 518: Karl Wiegers on Software Engineering Lessons
Karl Wiegers, Principal Consultant with Process Impact and author of 13 books, discusses specific software development practices that can help you make sure that you don't repeat the same problems he sees time and time again with every customer...
Ep 517Episode 517: Jordan Adler on Code Generators
In this episode, SE Radio host Felienne speaks with Jordan Adler of OneSignal about code generation, a technique to generate code from specifications like UML or from other programming languages such as Typescript. They also discuss code transformation, which can be us

Ep 516Episode 516: Brian Okken on Testing in Python with pytest
In this episode, we explore the popular pytest python testing tool with author Brian Okken, author of Python Testing with pytest. We start by discussing why pytest is so popular in the Python community: its focus on simplicity, readability, and developer ease-of-use; what makes pytest unique; the setup and teardown of tests using fixtures, parameterization, and the plugin ecosystem; mocking; why we should design for testing, and how to reduce the need for mocking; how to set up a project for testability; test-driven development, and designing your tests so that they support refactoring. Finally, we consider some complementary tools that can improve the python testing experience.

Ep 515Edpisode 515: Swizec Teller on Becoming a Senior Engineer
This week, senior software engineer, instructor, and blogger Swizec Teller spoke with SE Radio's Brijesh Ammanath about the "senior mindset." Becoming a senior engineer is about more than just years of experience but rather about cultivating a different..

Ep 514Episode 514: Vandana Verma on the Owasp Top 10
Vandana Verma, Security Leader at Snyk and vice-chairperson of the OWASP Global Board of directors, discusses the "OWASP top 10" with host Priyanka Raghavan. The discussion explores various subtopics such as the history behind OWASP, the OWASP top 10 security risks, example of common vulnerabilities and ends with information on top projects in OWASP and how can contribute to it.

Ep 513Episode 513: Gil Hoffer on Applying DevOps Practices to Managing Business Applications
Gill Hoffer, co-founder and CTO at Salto, talks with SE Radio host Kanchan Shringi about a new persona -- the Business Engineer -- created by the rise of SaaS and adoption of best-of-breed business applications for back office systems. They examine...

Ep 513Episode 513: Gil Hoffer on Applying DevOps Practices to Managing Business Applications
Gill Hoffer, co-founder and CTO at Salto, talks with SE Radio host Kanchan Shringi about a new persona -- the Business Engineer -- created by the rise of SaaS and adoption of best-of-breed business applications for back office systems. They examine...

Ep 512Episode 512: Tim Post on Rubber Duck Debugging
Tim Post of echoreply.io discusses Rubber Duck Debugging, a way to wrap your head about problems and solutions. Host Felienne spoke with Post about Rubber Duck debugging, and how it can help you to find answers to complex problems.

Ep 511Episode 511: Ant Wilson on Supabase (Postgres as a Service)
Ant Wilson of Supabase discusses building an open source alternative to Firebase with PostgreSQL. SE Radio host Jeremy Jung spoke with Wilson about how Supabase compares to Firebase, building an API layer with postgREST, authentication using GoTrue...
Ep 510Episode 510: Deepthi Sigireddi on How Vitess Scales MySQL
In this episode, Deepthi Sigireddi of the Cloud Native Computing Foundation (CNCF) spoke with SE Radio host Nikhil Krishna about how Vitess scales MySQL. They discuss the design and architecture of the product; how Vitess impacts modern data problems;...

Ep 509Episode 509: Matt Butcher and Matt Farina on Helm Charts
Matt Butcher and Matt Farina, authors of the book Learning Helm join SE Radio host Robert Blumen to discuss Helm, the package manager for kubernetes. Beginning with a review of kubernetes and Helm, this episode explores the history of helm;...

Ep 508Episode 508: Jérôme Laban on Cross Platform UI
Jérôme Laban, CTO of Uno Platform, joined host Jeff Doolittle for a conversation about Cross-platform User Interfaces. The conversation addressed the unique challenges and possibilities related to applications designed to run on multiple platforms...

Ep 507Episode 507: Kevin Hu on Data Observability
Kevin Hu, co-founder and CEO at Metaplane discusses "Data Observability" with host Priyanka Raghavan. The discussion touches upon Data observability roots, components, differences with software observability and tooling.

Ep 506Episode 506: Rob Hirschfeld on Bare Metal Infrastructure
Rob Hirschfeld CEO of RackN discusses Bare Metal as a Service. Host Brijesh Ammanath spoke with Hirschfeld about all things bare metal. Hirschfeld starts with the basics before doing a deep dive into bare metal configuring, provisioning, common failures..
Ep 505Episode 505: Daniel Stenberg on 25 years with cURL
Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project.
Ep 505Episode 505: Daniel Stenberg on 25 years with cURL
Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project.
Ep 504Episode 504: Frank McSherry on Materialize
Frank McSherry, Chief Scientist at Materialize talks to Host Akshay Manchale about Materialize which is a SQL database that maintains incremental views over streaming data. Frank talks about how Materialize can complement analytical systems...

Ep 503Episode 503: Diarmuid McDonnell on Web Scraping
Diarmuid McDonnell , a Lecturer in Social Sciences, University of the West of Scotland talks with host Kanchan Shringi about his experience as a social scientist on the need for computational approaches for data collection and analysis as well as the...

Ep 502Episode 502: Omer Katz on Distributed Task Queues Using Celery
Omer Katz, a software consultant and core contributor to the Celery discusses the Celery task processing framework with host Nikhil Krishna. We discuss in depth, the Celery task processing framework, it's architecture and the underlying messaging...

Ep 501Episode 501: Bob Ducharme on Creating Technical Documentation for Software Projects
Nikhil Krishna speaks to Bob DuCharme an experienced technical writer and author about how to write and maintain technical documentation for software products. In the episode different mediums to distribute documentation and tools to maintain documentation are discussed.

Ep 500Episode 500: Sergey Gorbunov on Blockchain Interoperability
Sergey Gorbunov of Axelar discusses blockchain interoperability, a technology that enables decentralized applications to work across multiple blockchain ecosystems. Host Philip Winston spoke with Gorbunov about programmable blockchains, distributed vs. centralized changes, the Ethereum virtual machine, Axelar's Cross-Chain Gateway Protocol and Cross-Chain Transfer Protocol, security issues, delegated proof of stake...

Ep 499Episode 499: Uma Chingunde on Building a PaaS
Uma Chingunde of Render compares building a PaaS with her previous experience running the Stripe Compute team. Host Jeremy Jung spoke with Chingunde about the role of a PaaS, building on public cloud providers, build vs buy, choosing features, user experience, managing databases, Series A vs later stage startups, and why internal infrastructure teams should run themselves like product teams.

Ep 498Episode 498: James Socol on Continuous Integration and Continuous Delivery (CICD)
James Socol of Policygenius discusses continuous integration and continuous delivery, ways to test and deploy software quickly and easily. SE Radio host Felienne spoke with Socol about why CI and CD matter for the development process, what tools to use...

Ep 497Episode 497: Richard L. Sites on Understanding Software Dynamics
Richard L. Sites discusses his new book Understanding Software Dynamics, which offers expert methods and advanced tools for understanding complex, time-constrained software dynamics in order to improve reliability and performance. Philip Winston spoke with Sites about the five fundamental computing resources CPU, Memory, Disk, Network, and Locks, as well as methods for observing and reasoning when investigating performance problems using the open-source utility KUtrace.

Ep 496Episode 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)
This week, Postgres server developer Bruce Momjian joins host Robert Blumen for a discussion of multi-version concurrency control (MVCC) in the Postgres database. They begin with a discussion of the isolation requirement in database transactions (I in ACID); how isolation can be achieved with locking; limitations of locking; how locking limits concurrency and creates variability in query runtimes; multi-version concurrency control as a means to achieve isolation; how Postgres manages multiple versions of a row; snapshots; copy-on-write and snapshots; visibility; database transaction IDs; how tx ids, snapshots and versions interact; the need for locking when there are multiple writers; how MVCC was added to Postgres; and how to clean up unused space left over from aged-out versions.

Ep 495Episode 495: Vaughn Vernon on Strategic Monoliths and Microservices
Vaughn Vernon, author of the book "Strategic Monoliths and Microservices" discusses his book with host Akshay Manchale about strategies for purposeful architecture from the perspective of both business decision makers and technical leaders.

Ep 494Episode 494: Robert Seacord on Avoiding Defects in C Programming
Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.

Ep 494Episode 494: Robert Seacord on Avoiding Defects in C Programming
Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.

Ep 493Episode 493: Ram Sriharsha on Vectors in Machine Learning
Ram Sriharsha of Pinecone discusses the role of vectors in machine learning, a technique that lies at the heart of many of the machine learning applications we use every day. Host Philip Winston spoke with Sriharsha about the basics of vectors, vector...

Ep 492Episode 492: Sam Scott on Building a Consistent and Global Authorization Service
Sam Scott, CTO of Oso discusses how to build a global authorization service and challenges with host Priyanka.

Ep 491Episode 491: Chase Kocher on The Recruiting LifeCycle
Chase Kocher, the Founder and CEO of aim4hire, a technology recruitment agency, discusses the recruiting lifecycle from the candidate, the company and the recruiter's point of view with host Kanchan Shringi.