Software Engineering Radio: Recent Episodes

se-radio team

The Podcast for Professional Software Developers

View Details

Josh Doody, author of Mastering Business Email, speaks with host Brijesh Ammanath about how software engineers can master business communication. They begin with an exploration of various communication modes, including Slack, virtual meetings, emails, and presentations. Josh shares several strategies to improve communication skills and cross-cultural communication, but if there’s one key take away from […]

View Details

Arun Gupta, Vice President and General Manager of Open Ecosystem Initiatives at Intel Corporation, discusses open-source strategy and community with SE Radio host Kanchan Shringi. They explore the business case and business model for why and how big tech participates in the open-source ecosystem. Arun describes ways to foster a culture of engagement with open […]

View Details

In this episode, Ori Mankali, senior VP of engineering at cloud security startup Akeyless, speaks with SE Radio’s Nikhil Krishna about secrets management and the innovative use of distributed fragment cryptography (DFC). In the context of enterprise IT, ‘secrets’ are crucial for authentication in providing access to internal applications and services. Ori describes the unique […]

View Details

Casey Muratori caused some strong reactions with a blog post and an associated video in which he went through an example from the “Clean Code” book by Robert Martin to demonstrate the negative impact that clean code practices can have on performance. In this episode, he joins SE Radio’s Giovanni Asproni to talk about the […]

View Details

Jens Neuse, founder of Wundergraph, joins SE Radio host Jeff Doolittle for a conversation about back ends for front ends, or BFF. Jens begins by explaining how a heavy integration burden is often placed on front-end development teams. When multiple APIs must be integrated, it can be challenging for client development in web, mobile, and desktop […]

View Details

Nir Valtman, co-Founder and CEO at Arnica, discusses pipelineless security with SE Radio host Priyanka Raghavan. They start by defining pipelines and then consider how to add security. Nir lays out the key challenges in getting good code coverage with the pipeline-based approach, and then describes how to implement a pipelineless approach and the advantages […]

View Details

Chad Michel, Senior Software Architect at Don’t Panic Labs and co-author of Lean Software Systems Engineering for Developers, joins host Jeff Doolittle for a conversation about treating software development as an engineering discipline. They begin by discussing the need for engineering rigor in the software industry. Chad points out that many developers lack awareness of […]

View Details

In this episode, Varun Singh, Chief Products and Technology Officer at Daily.co, speaks with host Nikhil Krishna about the 30-year evolution of web protocols. In particular, they explore the impact of protocol ossification, which has supported the Internet’s success but also limits the flexibility of evolving protocol suites such as TCP/IP and UDP by constraining […]

View Details

Gregory Kapfhammer, associate professor at Allegheny College, discusses the common problem of ‘flaky tests’ with SE Radio’s Nikhil Krishna. Flaky tests are test cases that unreliably pass or fail even when no changes are made to the source code under test or to the test suite itself, which means that developers can’t tell whether the […]

View Details

Jeroen Mulder, author of Multi-Cloud Strategy for Cloud Architects, joins host Robert Blumen for a discussion of public cloud, private cloud, and multi-cloud computing architectures and trends. They start by considering what defines cloud computing and what differentiates the major cloud providers, including whether they are more alike or different in the services they offer.  […]

View Details

Stanisław Barzowski of XTX Markets and a committer on the jsonnet project joins SE Radio’s Robert Blumen for a conversation about the jsonnet programming language. A superset of JSON, jsonnet adds programming language capabilities, particularly to address the need to handle large but mostly repetitive JSON configurations. They discuss the project’s history, use cases for […]

View Details

Vladyslav Ukis, author of the book Establishing SRE Foundations: A Step-by-Step Guide to Introducing Site Reliability Engineering in Software Delivery Organizations, discusses how to roll out SRE in an enterprise. SE Radio host Brijesh Ammanath speaks with Vlad about the origins of SRE and how it complements ITIL (Information Technology Infrastructure Library). They examine how […]

View Details

Simon Bennetts, a distinguished engineer at Jit, discusses one of the flagship projects of OWASP: the Zed Attack Proxy (ZAP) open source security testing tool. As ZAP’s primary maintainer, Simon traces the tool’s origins and shares some anecdotes with SE Radio host Priyanka Raghavan on why there was a need for it. They take a […]

View Details

Dave Cross, owner of Magnum Solutions and author of GitHub Actions Essentials (Clapham Technical Press), speaks with SE Radio host Gavin Henry about GitHub actions, the value they provide, and the best practices for using them in your projects. Cross describes the vast range of things that developers can do with GitHub Actions, including some […]

View Details

Ashley Peacock, author of the book Creating Software with Modern Diagramming Techniques, speaks with SE Radio host Akshay Manchale about diagrams in software engineering. They discuss the power of diagramming and some reasons we don’t fully use it as often as we should. Ashley contrasts historical use of UML diagrams versus modern diagrams, which don’t […]

View Details

Luca Galante, head of product at Humanitec, joins host Jeff Doolittle for a conversation about platform engineering. They begin by defining platform engineering and its relationship to, and distinction from, DevOps. Tracing platform engineering’s history, Luca describes how internal developer platforms are fundamental, and then explores the goals of addressing complexity and reducing the cognitive […]

View Details

Paul Hammant, independent consultant, joins host Giovanni Asproni to speak about trunk-based development—a version control management practice in which developers merge small, frequent updates to a core “trunk” or main branch. The episode explores the technique in some detail, including its pros and cons and some examples from real projects, and offers suggestions on how […]

View Details

In this episode, David Cramer, co-founder and CTO of Sentry, joins host Jeremy Jung for a conversation about error tracking. The discussion starts with treating performance problems as errors, why you might not need logs, and how most applications share the same problems. From there they consider other topics including capturing information by hooking into […]

View Details

Bastian Gruber, author of the book Rust Web Development, speaks with host Philip Winston about creating server-based web applications with Rust. They explore Rust language features, tooling, and web frameworks such as Warp and Tokyio. From there, they examine the steps to build a simple web server and a RESTful API, as well as modules, […]

View Details

Dan Demers of Cinchy.com joins host Jeff Doolittle for a conversation about data collaboration and dataware. Dataware platforms leverage an operational data fabric to liberate data from apps and other silos and connect it together in real-time data networks. They explore a range of key topics, including zero-copy integration, encapsulation and information hiding, handling changes […]

View Details

Sugu Sougoumarane discusses the challenges of horizontally scaling MySQL databases through the Vitess distribution engine and Planetscale, a service built on top of Vitess. The journey began with the growing pains of scale at YouTube around the time of Google’s acquisition of the video service. This episode explores ideas about topology management, sharding, Paxos, connection pooling, […]

View Details

Ross John Anderson, Professor of Security Engineering at University of Cambridge, discusses software obsolescence with host Priyanka Raghavan. They examine risks associated with software going obsolete and consider several examples of software obsolescence, including how it can affect cars. Prof. Anderson discusses policy and research in the area of obsolescence and suggests some ways to […]

View Details

Michael Fazio, Engineering Manager (Android) at Albert and author of Kotlin and Android Development featuring Jetpack from the Pragmatic Programmers, speaks with SE Radio’s Gavin Henry about how the Android ecosystem looks today, and why it’s an excellent time to write native Android apps. They explore a wide range of topics about modern Android development, […]

View Details

Timothy Beamish of BenchSci discusses React and Next.js, two of today’s most popular front-end frameworks. Host Philip Winston speaks with Beamish about components, routing, JSX, client-side and server-side rendering, single-page applications, automatic code-splitting, image optimization, and more. Beamish also details his experience moving a real-world application to Next.js. Related links Episode 382: Michael Chan on […]

View Details

Software engineer Alex Boten, author of Cloud Native Observability with Open Telemetry, joins host Robert Blumen for a conversation about software telemetry and the OpenTelemetry project. After a brief review of the topic and the OpenTelemetry project’s origins rooted in the need for interoperability between telemetry sources and back ends, they discuss the open telemetry […]

View Details

On Freund, founder of Wilco and former VP of Engineering at WeWork, speaks with SE Radio’s Brijesh Ammanath about “upskilling” – ways for developers to level up. On has years of experience in helping developers master the skills needed to advance in their careers. This episode explores the importance of upskilling in a constantly evolving […]

View Details

Adam Tornhill, founder and CTO of CodeScene, joins host Giovanni Asproni to speak about behavioral code analysis. Behavioral code analysis is a set of practical techniques aimed at identifying patterns in how a development organization interacts with the codebase they’re building. It can be used to prioritize technical debt to maximize return on investment; to […]

View Details

Luca Casonato joins SE Radio’s Jeremy Jung for a conversation about Deno and Deno Deploy. They start with a look at JavaScript runtimes and their relation to Google’s open source JavaScript and WebAssembly engine V8, and why Deno was created. They discuss the WinterCG W3C group for server-side JavaScript, why it’s difficult to ship new […]

View Details

Matt Frisbie, author of Building Browser Extensions, speaks with host Kanchan Shringi about browser extensions, including key areas where they’ve been successful. Based on Matt’s experience as a developer working for Google, Doordash, and a startup he founded, they examine tools for building extensions, as well as APIs they have access to. The conversation presents […]

View Details

Vidal Graupera, an Engineering Manager at LinkedIn, speaks with SE Radio’s Brijesh Ammanath about the importance of managers’ one-on-one meetings with direct reports. They start by considering how a 1:1 meeting differs from other meetings and then explore how a new line manager should go about introducing meetings with their team. Vidal describes the objectives […]

View Details

J.R. Storment and Mike Fuller discuss cloud financial operations (FinOps) with host Akshay Manchale. They consider the importance of a financial operations strategy for cloud-based infrastructure. J.R. and Mike discuss the differences between operating your own data center and running in the cloud, as well as the problems that doing so creates in understanding and […]

View Details

William Falcon of Lighting AI discusses how to optimize deep learning models using the Lightning platform, optimization is a necessary step towards creating a production application. Philip Winston spoke with Falcon about PyTorch, PyTorch Lightning, the Lightning platform, the needs of training vs. inferencing, scalability, machine learning operations, distributed training, the LightningModule, decoupling the model […]

View Details

Alex Hidalgo, principal reliability advocate at Nobl9 and author of Implementing Service Level Objectives, joins SE Radio’s Robert Blumen for a discussion of service-level objectives (SLOs) and error budgets. The conversation covers the meaning of a service level; service levels and product ownership; the pervasive nature of imperfection; and why trying to be perfect is […]

View Details

Nicholas Manson, a SaaS Architect with more than 2 decades of experience building cloud applications, speaks with host Kanchan Shringi about identity and access management requirements for cloud applications. They begin by examining what a digital identity is and then consider the technologies and tools that support identity management in cloud applications. The discussion then […]

View Details

In this episode, Dietrich Ayala of Protocol Labs speaks with host Nikhil Krishna about the InterPlanetary File System (IPFS), which is a protocol for distribution of data similar to HTTP. The major difference compared to HTTP is that IPFS uses content addressing to uniquely identify the data itself so that you can identify and access […]

View Details

In this episode, host Nikhil Krishna speaks with John deVadoss of NEO Global Development in Seattle about his previous work in the .NET Patterns and Practices and Azure teams at Microsoft. They dive into the software design philosophies that drove these large software development efforts, including the loose coupling approach that was adopted when building […]

View Details

Ganesh Datta, CTO and cofounder of Cortex, joins SE Radio’s Priyanka Raghavan to discuss site reliability engineering (SRE) vs DevOps. They examine the similarities and differences and how to use the two approaches together to build better software platforms. The show starts with a review of basic terms; definitions of roles, similarities and differences; skillsets […]

View Details

Jon Smart, author of the book Sooner Safer Happier: Patterns and Antipatterns for Business Agility, discusses patterns and anti-patterns for the success of enterprise software projects. Host Brijesh Ammanath speaks with him about the various common patterns and principles needed to survive and prosper in the digital age. They discuss why doing an Agile or […]

View Details

Brendan Callum, engineering manager for the Pinterest developer platform team, discusses the “spec first” approach to API development and how it’s different from “API first.” Brendan speaks with host Kanchan Shringi about the challenges and advantages of adopting the “spec first” approach based on the launch of the v5 spec at Pinterest. The discussion explores […]

View Details

Open source developers Jordan Harband and Donald Fischer join host Robert Blumen for a conversation about securing the software supply chain, especially open source. They start by reviewing supply chain security concepts, particularly as related to open source, and then explore: package managers and open source; attacks on open source projects; challenges in validating software […]

View Details

Joe Nash of Twillio’s TwilioQuest discusses the role of developer relations/advocate, which is a role at tech companies in-between developers, marketing, sales, and HR. Host Felienne speaks with Nash about the skills people need if they want to become developer relations, such as content development, programming, and public speaking. They also discussed what the job […]

View Details

Adam Dymitruk, CEO and founder of Adaptech Group, joins host Jeff Doolittle for an exploration of the event modeling approach to discovering requirements and designing software systems. Adam explains how the structured approach eliminates the specifics of implementation details and technology decisions, enabling clearer communication for all stakeholders while keeping conversations focused on the business […]

View Details

Roberto Di Cosmo, professor of Computer Science at University Paris Diderot and founder of the Software Heritage Initiative, discusses the reasons for and challenges of the long-term archiving of publicly available software. SE Radio’s Gavin Henry spoke with Di Cosmo about a wide range of topics, including the selection of storage solutions, efficiently storing objects, […]

View Details

Roberto Di Cosmo, Computer Science professor at University Paris Diderot and founder of the Software Heritage initiative, discusses the reasons for and challenges of, the long term archiving of publicly available software. SE Radio’s Gavin Henry spoke with Di Cosmo about a wide range of topics, including the selection of storage solutions, efficiently storing objects, […]

View Details

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 and the scientific processes of detection and measurement. Magee explains how data science principles are applied to scientific […]

View Details

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 […]

View Details

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 observability is an important tool in diagnosing and detecting various failures in the application. They explore […]

View Details

Eddie Aftandilian, Principal Researcher at GitHub Co-Pilot, speaks with SE Radio’s Priyanka Raghavan about how GitHub Copilot can improve developer productivity as it is integrated with IDEs. They trace the origins of developer tools for productivity right from integrated developer environments to AI-powered buddies such as GitHub Copilot. The episode then takes a deep dive […]

View Details

Peter Wyatt, CTO at PDF Association and project co-leader of ISO 32000 (the core PDF standard), and Duff Johnson, CEO at PDF Association and ISO Project co-leader and US TAG chair for both ISO 32000 and ISO 14289 (PDF/UA), discuss the 30-year history of the portable document format (PDF). SE Radio’s Gavin Henry spoke with […]

View Details

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 centralized VPNs, relay servers, tech stacks, forking the go compiler, the iOS network extension limit, […]

View Details

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. Tanmai described how GraphQL differs from other API specification styles such as REST and […]

View Details

Jeff Perry, a career coach with experience in multiple engineering and technology fields, discusses career management for software engineers. Host Kanchan Shringi speaks with him about how software engineers can be intentional and proactive in evaluating and pursuing career options. Perry shares examples of how engineers have made shifts to opportunities that took advantage of […]

View Details

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, what to consider during the product development cycle, industry-specific checklists and testing requirements, creating guiding principles […]

View Details

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. Host Gavin Henry spoke with them about a vast array of topics, starting with component choices, embedded operating system design, testing, and release cycles. The conversation explores […]

View Details

In this episode, Brian Campbell, Distinguished Engineer at Ping Identity, speaks with SE Radio’s Priyanka Raghaven about cryptographic defenses against stolen tokens, particularly in the context of the OAUTH2 protocol and the type of attacks that can plague it. They discuss the concept of “proof of possession” in protecting against such attacks, and where it […]

View Details

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 between the old and new systems, building a distributed tracing system, working with bare […]

View Details

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 for measuring DX, the main factors that influence it, and strategies for overcoming common barriers […]

View Details

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 is important for companies and organizations of all sizes and how it impacts everything in the data […]

View Details

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 operations and platform operations that are necessary for building and operating machine learning applications at different levels of scale. […]

View Details

Phillip Mayhew, co-founder and the CTO at 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 in CI/CD pipelines, and how to create automated tests using GameDriver. This […]

View Details

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 […]

View Details

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 . Host Kanchan Shringi spoke with Ramaiyer about the why and how of composing a cloud application from microservices, key checklist items for choosing the platform services to use […]

View Details

Karl Wiegers, Principal Consultant with Process Impact and author of 13 books, discusses specific practices based on his 50 years’ experience in the software industry that can help and affect many software projects. Host Gavin Henry spoke with Wiegers about common problems in software development, including technical debt; staff scaling; iron triangles; changes over the […]

View Details

In this episode, SE Radio host Felienne spoke with Jordan Adler 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 used to migrate code — for example from Python 2 to Python 3 — or to […]

View Details

In this episode, Nikhil Krishna discusses the popular pytest Python testing tool with Brian Okken, author of Python Testing with pytest. They start by exploring why pytest is so popular in the Python community, including its focus on simplicity, readability, and developer ease-of-use; what makes pytest unique; the setup and teardown of tests using fixtures, […]

View Details

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 way of thinking. This episode offers insights into what it takes to become a true senior engineer, […]

View Details

This week, SE Radio’s Priyanka Raghavan spoke with Vandana Verma, who heads security relations at Snyk, about the Open Web Application Security Project (OWASP) Top 10. They explore the OWASP story with details on the organization, reasons for having a top 10, and information about the data that contributes to the list. They did a […]

View Details

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 the evolution of tooling for developers and IT and the parallels with tooling needed […]

View Details

Tim Post of echoreply.io discusses rubber duck debugging, a way to wrap your head around problems and solutions. SE Radio host Felienne spoke with Post about rubber duck debugging, and how it can help you find answers to complex problems. The show also explores the role of documentation in problem solving and how techniques from […]

View Details

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, row-level security, forking open source projects, using the write ahead log to implement real time updates, provisioning and […]

View Details

In this episode, Deepthi Sigireddi of PlanetScale spoke with SE Radio host Nikhil Krishna about how Vitess scales MySQL. They discussed the design and architecture of Vitess; how Vitess impacts modern data problems; sharding and scale out; connection pooling; components of the Vitess system; configuration; and running Vitess on Kubernetes. Related Links Vitess Vitess on […]

View Details

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; the need for a package manager on kubernetes; helm terminology; how helm handles package dependencies; […]

View Details

Jérôme Laban, CTO of Uno Platform, joined SE Radio’s Jeff Doolittle for a conversation about cross-platform user interfaces. They discussed the unique challenges and possibilities related to applications designed to run on multiple platforms — issues such as platform fidelity versus product-specific fidelity, including the trade-offs between a lowest-common-denominator approach and embracing each specific platform’s […]

View Details

Kevin Hu, CEO and co-founder of the startup Metaplane, chatted with SE Radio’s Priyanka Raghavan about data observability. Starting from basics such as defining terms and weighing key differences and similarities between software and data observability, the episode explores components of data observability, biases in data algorithms, and how to deal with missing data. From there, […]

View Details

Rob Hirschfeld, CEO of RackN, discusses “bare metal as a service” with SE Radio host Brijesh Ammanath. This episode examines all things bare metal, starting with the basics before doing a deep dive into bare metal configuration, provisioning, common failures and challenges, achieving resiliency, and the benefits of this set up. The discussion explores standards […]

View Details

Daniel Stenberg, founder and lead developer of cURL and libcurl, discusses what it’s been like looking after them for the past 25 years. Host Gavin Henry spoke with Stenberg about the history of cURL, libcurl, whether C was the right choice, portability, key events in those 25 years, implementing protocols, why HTTP is not so […]

View Details

Frank McSherry, chief scientist at Materialize, talks about the Materialize streaming database, which supports real-time analytics by maintaining incremental views over streaming data. Host Akshay Manchale spoke with Frank about various ways in which analytical systems are built over streaming services today, pitfalls associated with those solutions, and how Materialize simplifies both the expression of […]

View Details

Diarmuid McDonnell, a Lecturer in Social Sciences, University of the West of Scotland talks about the increasing use of computational approaches for data collection and data analysis in social sciences research. Host Kanchan Shringi speaks with McDonell about webscraping, a key computational tool for data collection. Diarmuid talks about what a social scientist or data […]

View Details

Omer Katz, a software consultant and core contributor to the Celery discusses the Celery task processing framework with host Nikhil Krishna. Discussion covers in depth: the Celery task processing framework, it’s architecture and the underlying messaging protocol libraries on which it it is built; how to setup Celery for your project, and examine the various […]

View Details

Bob DuCharme, an experienced technical writer and author talks about writing documentation for software products. In this episode we discuss the various types of documentation that one creates for software products. Host Nikhil Krishna spoke with Bob in depth about the difference between these types of documentation and the audiences they target; importance of using […]

View Details

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, and other implementation details. This […]

View Details

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 […]

View Details

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 to deploy continuously, and how to get your team to adopt the CI/CD mindset and […]

View Details

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 […]

View Details

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 […]

View Details

Vaughn Vernon, author of Strategic Monoliths and Microservices, discusses topics covered in his latest book on strategies for purposeful software architecture from the perspective of both business and technical leaders. Host Akshay Manchale talks to Vaughn about barriers that businesses face in managing change in software due to organizational hurdles and technological challenges. Vaughn talks […]

View Details

Robert Seacord, author of Effective C, The CERT C Coding Standard, and Secure Coding in C and C++, discusses the top 5 security issues and the tools and techniques you can employ to write secure code in C. Host Gavin Henry spoke with Seacord about the C standards, strings, arrays of chars, null pointers, buffer […]

View Details

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 embeddings, feature engineering versus deep learning, hyperparameters, vector search, k-Nearest Neighbor search, alternative […]

View Details

Sam Scott, CTO of Oso discusses authorization challenges with host Priyanka. They discussed basics such as definitions of authorization, RBAC, ReBAC and differentiating with authentication. Sam also described the Google Zanzibar engine. The host quizzed Sam on whether to build an off the shelf authorization service or build a custom one. Sam deep dived in […]

View Details

Chase Kocher, the Founder and CEO of aim4hire, a technology recruitment agency talks about the need for Recruiting firms and a personalized approach to hiring. Host Kanchan Shringi speaks with Kocher about the recruiting lifecycle from the candidate, the company and the recruiter’s point of view. They discuss what a fresh grad should do to […]

View Details

Tim McNamara, author of Rust in Action, an introduction Rust for programmers who have never used a systems programming language, discusses the top three benefits of Rust and why they make it a performant, reliable and productive programming language. Host Gavin Henry spoke with McNamara about its rich type system, ownership models, memory safety, thread […]

View Details

Guest Sam Boyer, author of So you want to write a package manager talks about package management with Host Robert Blumen. The discussion covers – what is a package? what does it mean to manage package? package meta-data; package versioning; the quantity of packages in modern applications; examples from popular programming languages; where do packages […]

View Details

Chris Riccomini and Dmitriy Ryaboy discuss their book, The Missing Readme, which is intended to be the missing manual for new software engineers. Felienne spoke with Riccomini and Ryaboy about a range of topics that new software engineers might not have learned about in university or bootcamp, including how to handle technical debt, how to […]

View Details

Davide Bedin, a cloud solution architect at Microsoft and professional Dapr enthusiast joined host Jeff Doolittle to discuss his book, Practical Microservices with Dapr and .NET. Dapr (the Distributed Application Runtime; https://dapr.io) simplifies cloud-native application development by providing standards-based solutions for common application requirements. This approach provides a clean separation of core application logic from […]

View Details

Bob Nystrom, author of Crafting Interpreters and a software engineer at Google working on the Dart programming language, discusses the key features of Dart that make it an excellent choice for fast apps on any platform. Host Gavin Henry spoke with Nystrom about Dart’s history, hardware out of your control, async-await, concurrency, mobile platforms, threads, […]

View Details

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP project, discusses the key features of B+tree data structures, which are the default selection for efficient and predictable storage of sorted data. Host Gavin Henry spoke with Chu about B+tree data structures; why they allow searches, insertions, and deletions in logarithmic time; what […]

View Details

Audrey Lawrence of Amazon discusses Timeseries Databases and their new database offering Amazon Timestream. Philip Winston spoke with Lawrence about data modeling, ingestion, queries, performance, life-cycle management, hot data vs. cold data, operating at scale, and the advantages of a serverless architecture. This episode sponsored by SingleStore. Related Links Audrey Lawrence’s LinkedIn Amazon Timestream Home […]

View Details

Alexander Pugh discusses why and when to use Robotic Process Automation (RPA). Host Jeremy Jung spoke with Pugh about interacting with systems without APIs like mainframes; the importance of having developers involved when building bots; the difficulty of automating GUIs using the DOM and COM, dealing with two factor authentication; why RPAs are a bridge […]

View Details

Luke Hoban, CTO of Pulumi, joined host Jeff Doolittle for a conversation about infrastructure as code (IAC), which allows software development teams to configure and control their cloud infrastructure assets using code in contrast to other approaches such as using web interfaces or command line interfaces. Luke described how IAC allows teams to apply good […]

View Details

Ipek Ozkaya joined host Jeff Doolittle to discuss a book she co-authored entitled, Managing Technical Debt. In the book, Ozkaya et al. describe nine principles of technical debt management to aid software companies in identifying, measuring, tracking and paying down technical debt. During the episode, she provides some unique perspectives on the definition of technical […]

View Details

Venky Naganathan, Sr. Director of Engineering at Conga specializing in Artificial Intelligence and Chatbots talks about the buzz around Conversational UI. B2B companies have also started adopting the paradigm. Host Kanchan Shringi speaks with Naganathan about the need for the new UI paradigm for Enterprise Apps, what have been the enablers and the business use […]

View Details

Luis Ceze, CEO and co-founder of OctoML discusses Apache TVM, an open source machine learning model compiler for a variety of target architectures. Luis talks about the complexity in writing assembly code on different hardware targets for machine learning which contains predominantly numerical operations that benefit from specialized vector/tensor instructions and special memory layouts. Host […]

View Details

Satish Mohan, CTO of AirGapNetworks discussed “AirGap Networks” with Priyanka. In this show Satish discusses what is “AirGapped Network”, difference between traditional physical air-gapped networks and virtual air-gapped networks for enterprise applications, High level architecture of AirGap networks, Step to protect networks including identity, importance of network segmentation. They also discuss information on ransomeware kill […]

View Details

Josef Strzibny the author of Deployment from Scratch discusses how and why it’s valuable to learn how to self host applications. Host Jeremy Jung spoke with Strzibny about why self hosting can be overwhelming; choosing a linux distribution; Security Enhanced Linux; systemd; running background services; installing language runtimes; where to put application files; why his […]

View Details

Leonid Shevtsov, software architect at Railsware and developer of a forthcoming mail transfer agent talks with host Robert Blumen about email protocols and transactional email. The discussion opens with an overview of email; the architecture of email; DNS records and email; components of an email address; how email is forwarded; bounces; other things that can […]

View Details

Rey Bango, Senior Director of Developer and Security Relations at Veracode, discusses secure coding with host Priyanka Raghavan. They discuss the need for secure coding, barriers to adoption, how training can help teams improve at adopting secure coding practices; key principles of secure coding such as verifying for security early and regularly, looking at security […]

View Details

Paul Butcher of AdaCore discusses Fuzz Testing, an automated testing technique used to find security vulnerabilities and other software flaws. Host Philip Winston spoke with Butcher about positive and negative testing, how fuzz testing fits into the life-cycle of software development, brute-force and blunt-force fuzz testing, the popular open-source American Fuzzy Lop fuzzer from Google, […]

View Details

Mike Del Balso co-founder of Tecton discusses Feature Stores and how it helps operationalize Machine Learning. Akshay spoke with Mike about data engineering challenges to connect signals that make a feature from various data sources to a Machine Learning Model during training and to serve it in production. Mike talks about challenges faced by engineering […]

View Details

Liran Haimovtich, CTO of Rookout, joins host Robert Blumen for a discussion of handling customer issues. The discussion covers types of customer issues; handling of issues by a customer-facing support team; how customer support can resolve issues; when issues cannot be resolved by support; escalation path to engineering; how issues are transferred from direct support […]

View Details

Jason Meller, CEO and CTO of Kolide, discusses the strategies and heuristics for finding a tech stack for your next startup or project. Host Adam Conrad spoke with Meller on the basics of modern tech stacks, understanding trade-offs for these stacks as well as use cases for each choice, and then took a deep dive […]

View Details

L. Peter Deutsch of Aladdin Enterprises and formerly of Sun Microsystems joined host Jeff Doolittle to discuss the fallacies of distributed computing. Peter retold the history of the fallacies themselves and corrected some frequent misattributions and misunderstandings regarding their origin. The discussion also addressed interrelationships between the fallacies and changes in the relevance of particular […]

View Details

Dhruba Borthakur, CTO and co-founder of Rockset, discusses the core requirements of real-time analytics, how it differs from traditional analytics, and the use cases that benefit from it. Host Kanchan Shringi spoke with Dhruba about the evolution from Batch to streaming to real-time analytics and the relation to big data. They also explored how people […]

View Details

Iljitsch van Beijnum, author of the book BGP: Building Reliable Networks with the Border Gateway Protocol https://www.oreilly.com/pub/au/970 discusses internet routing and BGP – the border gateway protocol used by ISPs to update routing information. Host Robert Blumen spoke with Iljitsch about the topology of the internet, autonomous systems (AS), regulatory bodies that coordinate the AS space, […]

View Details

Kim Carter of BinaryMist discusses dynamic application security testing (DAST) and how the OWASP purpleteam project can improve early defect detection. Host Justin Beyer spoke with Carter about how DAST can provide meaningful feedback loops to developers to improve code quality and push penetration testing to the detection of higher-level vulnerabilities. They also discussed how […]

View Details

Casey Aylward, Principal at Costanoa Ventures, discusses venture capital for software investing with a focus on early stage. Host Kanchan Shringi spoke with Casey on the key questions an entrepreneur may have when starting to think about obtaining VC funding and what the VC firms look for. They also talk about what it is like […]

View Details

Trisha Gee and Kevlin Henney of 97 Things Every Java Developer Should Know discuss their book, which is a collection of essays by different developers. Host Felienne spoke with Gee and Henney about Java, including how to use immutability in Java, the value of type inference, and how to use your IDE most effectively when […]

View Details

Rowland Savage, author of How to Stick the Landing: The M&A Handbook for Startups, discusses mergers and acquisitions (M&A) and why it’s so important for software engineering startups to know the details. Host Gavin Henry spoke with Savage about why a startup should always be thinking about being acquired, the ways to ensure that it […]

View Details

Yaniv Tal, co-founder of the Graph and project lead at Edge and Node, discusses the Graph, an indexer for blockchain infrastructure such as Ethereum and IPFS. Yaniv and host Priyanka Raghavan discuss the need for blockchain infrastructure, decentralized applications, systems of trust and different modes of payment. They compare and contrast “web 2” versus “web […]

View Details

Felienne joins host Jeff Doolittle as a guest on the show to discuss her book, The Programmers Brain. Based on her extensive research and experience as an instructor of software developers, Felienne explains the general need for coders to be able to do a variety of cognitive tasks. Although programmers’ brains are not special in […]

View Details

Michael Ashburne and Maxwell Huffman of Aspiritech discuss Quality Assurance with host Jeremy Jung. This episode examines the value of exploratory testing; finding repeatable test cases; introducing QA to a new product; when to drop old tests; improving usability and documentation; the complexity of bluetooth; benefits of testing outside a development team; accessibility; small vs […]

View Details

Evan Weaver of Fauna discusses the Fauna distributed database. Host Felienne spoke with him about the database’s design and its properties, as well as the FQL query language and the different models it supports: document-based as well as relational. They discuss how Fauna deals with data manipulation with stored procedure-like functions, and how it guarantees […]

View Details

Otakar Nieder, Senior Director of Development at Bohemia Interactive Simulations, discusses how simulation apps are different from gaming and the delta needed over gaming engines to build apps for simulation. Host Kanchan Shringi spoke with Nieder about goals of a simulation versus those of a game, as well as about challenges when developing simulations versus […]

View Details

Daniel Roth, program manager at Microsoft discusses Blazor a technology from dotnet to build interactive UIs. Host Priyanka Raghavan quizzed Daniel on the need for Blazor and how it compares with other client side rendering technologies like Angular and React. Daniel deep dived into the different components of Razor including Razor pages, how blazor works […]

View Details

Jeffery D Smith, author of Operations Anti-Patterns, DevOps Solutions, discusses anti-patterns in software development organizations and how they can be fixed. Host Robert Blumen spoke with Smith about why he chose to focus on what can go wrong; fixing things that are broken in your organization; information hoarding; why important information about systems can be […]

View Details

Tomer Shiran, co-founder of Dremio, talks about managing data inside a data lake and the ecosystem of products available for storage and analytics. Shiran and SE Radio host Akshay Manchale briefly explore the historical change in data organization from databases to data warehouses and now toward data lakes, as well as the motivations and use […]

View Details

Jamie Riedesel, author of Software Telemetry Book, discusses software telemetry, why telemetry data is so important, and the discipline of tracing, logging, and monitoring infrastructure. Host Gavin Henry spoke with Riedesel about what telemetry is, the different ways to scale it, the tools involved, security and privacy considerations, centralized logging, types of metrics, observability, distributed […]

View Details

Thomas Richter, founder of Swarm64, discusses the internals of the Postgres open source database project. Host Adam Conrad spoke with Richter about an introduction to relational databases, comparisons of OLAP and OLTP structures, performance considerations, and advanced features of the Postgres architecture. This episode sponsored by O’Reilly. Related Links Swarm64 Postgres homepage A quick explanation […]

View Details

Aaron Rinehard, CTO of Verica and author, discusses security chaos engineering (SCE) and how it can be used to enhance security in modern application architectures. Host Justin Beyer spoke with Rinehard about how SCE fits into the overall chaos engineering discipline, examining how SCE compares to traditional security approaches, how it can benefit compliance, and […]

View Details

Scott Hanselman discusses .NET with SE Radio host Jeremy Jung. They discuss what .NET means; intermediary languages and JIT compilation; why there are three runtimes; making the core runtime open source and cross platform; platform-specific code; advances in performance and deployment; changing .NET’s perception; and domains that use .NET.   Related Links Scott’s blog @shanselman […]

View Details

Luke Kysow, software engineer at HashiCorp, discusses service mesh and Hashicorp’s open source service mesh, Consul. Luke and host Priyanka Raghavan conducted a deep dive of the features of a service mesh, including service discovery, health monitoring, infrastructure support, and security. The last segment focuses on how Consul talks to Envoy and also compares Consul […]

View Details

Hadley Wickham, Chief Scientist of RStudio and creator of the Tidyverse, discusses how R and its data science package the TidyVerse are used and created. Host Felienne spoke with Wickham about the design philosophy of the Tidyverse, and how it supports the clean and reproducible analysis of data. They discuss how different fields use data […]

View Details

Dan Moore, cofounder of Vaporware, talks with host Adam Conrad about building software in-house versus buying off-the-shelf software from vendors. Moore explains the benefits, drawbacks, checklists, and frameworks for choosing when to build your own software solutions and when you should reach out to outside vendor solutions, as well as which vendor to choose and […]

View Details

Matt Arbesfeld is the cofounder of LogRocket, a funded startup designed to help front-end developers debug issues faster. Host Adam Conrad spoke with Arbesfeld about building a software startup as a software engineer. Arbesfeld explained about finding his cofounder, solving problems you’re passionate about, hiring your first team members, and the downsides of starting a […]

View Details

Michael L. Perry discusses his recently published book, The Art of Immutable Architecture. Using familiar examples such as git and blockchain, he distinguishes immutable architecture from other approaches and addresses possible misunderstandings about designing an architecture for immutability. Michael and host Jeff Doolittle also examine other relevant topics such as location independence, conflict-free replicated data […]

View Details

Nigel Poulton, author of The Kubernetes Book and Docker Deep Dive, discusses Kubernetes fundamentals, why Kubernetes is gaining so much momentum, and why it’s considered “the” Cloud OS. Host Gavin Henry spoke with Poulton about when to use Kubernetes, the different ways to deploy it, the protocols involved, security considerations, pods, sidecars, the RAFT protocol, […]

View Details

Thomas Graf, co-founder of Cilium, discusses eBPF and how it can be leveraged to improve kernel-level visibility. Host Justin Beyer spoke with Graf about where eBPF and XDP can be leveraged and how they function at the kernel level. They also explored how eBPF can be leveraged across multiple networking, observability, and security use cases, […]

View Details

Tug Grall of Redis Labs discusses Redis, its evolution over the years, and emerging use cases today. Host Akshay Manchale spoke with Tug about Redis’ fundamental data structures and their common uses, its module based ecosystem and Redis’ applicability in a wide range of applications beyond being a layer for caching data such as search, […]

View Details

Shawn Wildermuth of The Hello World film discusses diversity and inclusivity in software development. Host Felienne  spoke with Wildermuth about why diversity matters to make better software, and how teams can create a culture in which more people feel welcome and safe. They also discuss how to do code reviews, feedback sessions and job interviews […]

View Details

Arin Bhowmick, Global Vice President and Chief Design Officer at IBM, discusses user interface design for enterprise applications.  SE Radio host Kanchan Shringi spoke with him on the evolution of the role of UX in enterprise applications; how and why the design process is different than for consumer applications; organizational structures that support the UX […]

View Details

James Smith of Bugsnag discusses Software bugs and quality.  Host Priyanka Raghavan spoke with him on topics ranging from causes of bugs to types of bugs, history of bugs, and user experience and environments causing different bugs. The show ends with parting advice on how to handle bugs in terms of setting up measurements and […]

View Details

Alexis Richardson of WeaveWorks discusses gitops.  GitOps is a deployment model for infrastructure and applications in which commits are approved and landed in a git repository, and a deployment agent continuously applies the latest commit from the repository to production.  Host Robert Blumen spoke with Richardson about the origins of the gitops approach, at what […]

View Details

JP Aumasson, author of Serious Cryptography, discusses cryptography, specifically how encryption and hashing work and underpin many security functions. Justin Beyer spoke with Aumasson about randomness and how it is the basis of cryptography. They also discussed how block and stream ciphers work, at a high level. They also discussed how hash functions are ubiquitous […]

View Details

Andy Powell of AP Moller Maersk discusses lesson learned from a major cyber attack.  SE Radio host Priyanka Raghavan spoke with Andy about the 2017 Not Petya cyber attack and the company’s recovery efforts, including how digital forensics helped in finding root causes; how “ways of working” changed, such as introducing secure by design and […]

View Details

Tim Sneath, product manager for Flutter and Dart at Google, discusses what Flutter is, why it was created, and where Dart came from, as well as what the different layers of Flutter are and why it’s so popular. Host Gavin Henry spoke with Sneath about the “Architecture of Flutter,”  what cross-platform development is and platforms […]

View Details

Yi Pan, lead maintainer of Apache Samza discusses the internals of the Samza project as well as the Stream Processing ecosystem. Host Adam Conrad spoke with Pan about the three core aspects of the Samza framework, how it compares to other streaming systems like Spark and Flink, as well as advice on how to handle […]

View Details

Julie Lerman discusses Object Relational Mappers and Entity Framework with Jeremy Jung. They talk about why we use relational databases with object oriented languages; the benefits of ORM query languages; how specialized databases are reducing the need for ORMs; alternatives to ORMs; using views, stored procedures, and raw SQL with ORMs; the importance of profiling […]

View Details

Steven Skiena, author of The Algorithm Design Manual and a professor at Stony Brook University, discusses the use cases for data structures and algorithms in a professional setting. Adam Conrad spoke with Skiena about why these concepts need to be studied by professionals and not just students. They discussed strategies for studying The Algorithm Design […]

View Details

Jay Kreps, CEO and Co-Founder of Confluent discusses ksqlDB which is a SQL engine for data in Apache Kafka. Jay talks about stream processing, Kafka and how the data can now be queried with push/pull queries with ksqlDB, similar to a relational database. Jay discusses some of the similarities and differences between SQL databases and […]

View Details

brian d foy, author of Mastering Perl and Learning Perl 6, and the co-author of Learning Perl, Intermediate Perl, Programming Perl, Effective Perl Programming, and others discusses Perl 7, why it is needed and what it enables for the future. Host Gavin Henry spoke with Foy about Perl’s history, what Perl is, Perl 5, Perl […]

View Details

Ken Youens-Clark, author of Tiny Python Projects discusses Python. Felienne spoke with Youens-Clark about new features in Python, including optional typing and immutable datatypes. They also discussed  Youens-Clark’s upcoming book on how to teach Python and testing. Should testing be taught to new programmers from the start, and how to do that? Contexts for programming […]

View Details

Marco Faella, author of Seriously Good Software discusses how to create good software, using six different ‘qualities’ of code. Felienne spoke with Faella about reliability, space and time complexity, readability, reusability, and thread safety. They also discussed how these qualities are often at odds with each other when creating software, and how to deal with […]

View Details

Rob Skillingon discusses the difficulty of scaling monitoring and alerting to high dimensional spaces, as are typically found in modern applications at scale.  High cardinality versus high dimension spaces. The episode begins with a review of monitoring, metrics, metadata, and alerting.  How do things change at scale?  Filtering signals out of high-dimension data sets.  When […]

View Details

Matt Lacey, author of the Usability Matters book discusses what mobile app usability is and why it can make or break an app destined for consumers, business users or in-house users. Host Gavin Henry spoke with Lacey about the “Six components of great App experiences”, “Things every app should do”,  native apps, password managers, accessibility, […]

View Details

Sven Schleier and Jeroen Willemsen from the OWASP Mobile Application Security Verification Standard (MASVS) and Testing Guide (MSTG) project discuss mobile application security and how the verification standard and testing guide can be used to improve your app’s security.  Host Justin Beyer spoke with Schleier and Willemsen on webviews, certificate pinning, anti-reverse engineering technology, and […]

View Details

Philip Kiely discusses his recently published book, Writing for Software Developers. While software development primarily involves writing code, strong written communication skills are critical for multiple tasks. SE Radio’s Jeff Doolittle first asked Kiely why software engineers should care about writing things other than code. The conversation then moved toward the elements of effective technical […]

View Details

Paul Smith of GitHub discusses the crystal programming language and the lucky web framework with Jeremy Jung. They cover the tradeoffs of object oriented vs functional programming; creating and debugging macros; detecting nulls; building a web framework with strict compile time guarantees; conversational elm-like error messages; the benefits of fast rendering times; writing templates with […]

View Details

Sean Knapp, CEO of Ascend.io, discusses data pipelines and data pipeline automation.  Sean spoke with Host Robert Blumen about the ubiquity of data pipelines; what data pipelines do; where the data comes from, how it is transformed, where it goes; and what it is used for (analytics, machine learning, reporting, alerting, business intelligence).  Semi-automated and […]

View Details

Ryan Singer, Head of Strategy at Basecamp discusses the mindset and culture behind successful remote work for engineers. Akshay spoke with Ryan about communication, meeting avoidance, collaboration methods for various types of work. Ryan also talks about cultural aspects such as keeping in touch with teams, mentoring junior engineers who are remote and the power […]

View Details

Michael Geers, Frontend Developer with over a decade experience in building User Interfaces discusses Micro Frontends. Micro Frontends is an architectural style that aims to extends the benefits of microservices to User Interface development. It allows independently deliverable frontend applications to be composed into a greater whole. It also enables front end developers to be part […]

View Details

Doug Fawley, tech lead of the golang native implementation of gRPC at Google, discusses gRPC with host Robert Blumen. They examine remote procedure calls generally, as well as the evolution of RPC technologies at Google, the benefits of HTTP/2 as the foundation of an RPC stack, and what HTTP/2 contributes to gRPC (security, flow control, […]

View Details

Ryan Ripley, professional Scrum Trainer and host of the  podcast Agile for Humans discusses what makes scrum work and the anti-patterns to watch out for. Scrum is difficult to master. Many times the ways that organizations implement scrum can be problematic. People often change the Scrum framework to fit their organization rather than the organization […]

View Details

John Ellithorpe, currently EVP & Chief Product Officer @DNAnexus discusses the role of a CTO based on his unique perspective of having been in that role and having that role report into him. From the book “Book CTO’s at work” – There is no one way to define the CTO role. “CTO’s are managers, researchers, […]

View Details

Vladimir Khorikov discusses functional programming in enterprise applications with Jeremy Jung. They cover immutability, the downsides of exceptions and null values, the difference between value objects and entities, refactoring existing projects, and how creating a mutable core with an immutable shell can help you create easier to understand applications.   Related Links Enterprise Craftsmanship Is […]

View Details

Alex Petrov, author of Database Internals explains the ins and outs of database storage engines. What are they? How do they differ?  What problems do they solve? Host Adam Gordon Bell spoke with Alex about these questions as well as how information is stored on disk, different strategies for building indexes and the difference between […]

View Details

Adam Shostack of Shostack & Associates and author of Threat Modeling: Designing for Security discussed different approaches to threat modeling, the multiple benefits it can provide, and how it can be added to an organization’s existing software process. Host Justin Beyer spoke with Shostack about the steps associated with threat modeling and the different approaches […]

View Details

Berkay Mollamustafaoglu, founder of Ops Genie, discusses the keys to an effective incident management process.  Many aspects of incident management are counterintuitive. Why does increasing the rate of change increase uptime?  Why is culture the most important thing to get right? Why is having zero incidents not a goal to aim for? SE Radio host […]

View Details

Jens Gustedt, author of the Modern C book, former co-editor of the C standard document ISO/IEC 9899:2018 and a senior scientist at the French National Institute for Computer Science and Control (INRIA) discuss what is classed as Modern C, what is legacy C and what has changed in the past 50 years in the C […]

View Details

Spencer Kimball, Co-Founder and CEO of Cockroach Labs talks about CockroachDB, an open source distributed database system. Host Akshay Manchale spoke with Kimball about his past experience with relational databases that convinced him of the need for a better open source distributed database. . Spencer talks about challenges involved in using a sharded single node […]

View Details

Sam Gavis-Hughson if BytebyByte discusses technical interviews. Felienne spoke with Gavis-Hughson about how to prepare for the dreaded ‘whiteboard interview’ and how to get better at doing interviews. They also discussed the interviewer side of things: how to conduct these interviews yourself and how to improve that. Related Links Dynamic Programming e-book Pramp Interviewing.io Cracking […]

View Details

Aaron Vonderhaar, maintainer and open source contributor to the Elm programming language, talks with host Adam Conrad about the Elm language, its foundations, features, and applications in the front end web development ecosystem.  The discussion covers the basics of the language; use cases for Elm; comparisons with JavaScript and JavaScript interoperability; performance, security, and testing […]

View Details

Sara Leen of XSEED Games discusses localizing, porting, and modernizing Japanese games with Jeremy Jung. They discuss what makes games different, learning a codebase, extracting/replacing text, text encoding, replacing art assets, rewriting games, and reverse engineering them. Related Links Personal Website Corpse Party PC Programming Trails in the Sky Programming Trails in the Sky Second […]

View Details

Joe Kutner, Software Architect for Heroku at Salesforce.com, discusses the twelve-factor app. The twelve-factor app is a methodology that aids development of modern apps that are portable, scalable, and maintainable. Host Kanchan Shringi spoke with Kutner about the origin of these principles; their continued and growing importance with advances in microservices, DevOps, and containerization; and […]

View Details

Mike McCourt of Invoca discusses how to automatically process and analysis voice data to classify it using machine learning. Felienne spoke with McCourt about the difficulties in processing audio of different qualities, in different languages and the applicability of different types of machine learning to voice data. Related Links Kaldi Mozilla DeepSpeech Invoca engineering blog […]

View Details

Juval Löwy, Software Legend and Founder of IDesign discusses his recently published book, Righting Software, with host Jeff Doolittle. This episode focuses on Löwy’s belief that the software industry is in a deep crisis, evident from the numerous projects that fail to deliver on time, on budget and on quality. He discusses his belief that […]

View Details

Torin Sandall of Styra and Open Policy Agent discussed OPA and policy engines and how they can benefit software projects security and compliance. Host Justin Beyer spoke with Sandall about the benefits of removing authorization logic from your applications. Specifically, how OPA can create a single view of all policies across your software stack for […]

View Details

Yevgeniy Brikman, author of Terraform: Up & Running: Writing Infrastructure as Code and co-founder of Gruntwork talks with host Robert Blumen about how to apply best practices from software engineering to the development of infrastructure as code, primarily with Terraform. The discussion covers similarities and differences between conventional software engineering and code-driven infrastructure; factoring code […]

View Details

Bert Hubert, author of the open source PowerDNS nameserver discusses DNS security and all aspects of the Domain Name System with its flaws and history. Host Gavin Henry spoke with Hubert about what DNS is, DNS history, DNS attacks, DNS flaws, DNS privacy, DNS Encryption, DNS integrity, how DNS is used against your privacy, how […]

View Details

Karl Hughes of @cfp_land discusses the why and how of public speaking with Felienne. He first explains the four reasons that engineers might have to start public speaking and then shares concrete tips for finding the right conferences to submit to, and writing a good abstract and title. The discussion explores the process of creating […]

View Details

Rich Harris, author of the Javascript module bundler Rollup, discusses with SE Radio’s Adam Conrad his Javascript framework Svelte as a high-performance alternative to mainstay frameworks such as React, Angular, and Vue. They begin with a brief overview of Svelte and how it came to be, then dive in on the compiler-as-a-framework concept, briefly discussing its […]

View Details

Jeremy Miller, Senior Software Architect at Calavista Software, compares and contrasts his experiences with waterfall and agile methodologies. Host Jeff Doolittle spoke with Miller about the history of these methodologies and which elements of them Miller has experienced as either detrimental or useful. Variations on Agile methodologies were also discussed, along with what practices can […]

View Details

Michaela Greiler discusses the importance of code reviews and how to conduct them. Felienne spoke with Greiler about the practice of code reviews, how to get better at them, what tools can be used to support them, as well as how to behave in the roles of both reviewer and code author.     Related […]

View Details

Sumit Kumar, Head of Engineering at SHARE NOW, talks about creating mapping applications in JavaScript using the Leaflet library.  Jeremy Jung spoke with Sumit about what leaflet is and when to use it; sources for street map tile layers; using GeoJSON to store markers and shapes; raster vs vector data; working with live sources like […]

View Details

Adar Lieber-Dembo from Cloudera discusses Apache Kudu, which is a columnar data storage system for fast analytics and fast ingestion of large datasets. Kudu takes its inspiration from systems in the Hadoop ecosystem, but it addresses many of their shortcomings. SE Radio’s Akshay Manchale spoke with Adar about motivations behind building Kudu, features available for […]

View Details

Pat Helland, who has been working on building data management systems since 1978, talks to host Akshay Manchale about Data Management at scale with Microservices. Pat talks about trends in storage and computing, state management, immutable data storage, and idempotent computation. He also talks about various ways to look at data — “inside” vs. “outside,” “prescriptive” […]

View Details

Barry O’Reilly of Black Tulip Technology discusses Antifragile Architecture, an approach for designing systems that actually improve in the face of complexity and disorder. Host Jeff Doolittle spoke with O’Reilly about the characteristics of antifragility and the nature of complexity in software systems and business environments. Various processes and practices were discussed for applying the […]

View Details

Katharine Jarmul of DropoutLabs discusses security and privacy concerns as they relate to Machine Learning. Host Justin Beyer spoke with Jarmul about attacks that can be leveraged against data pipelines and machine learning models; attack types – adversarial example, model inference, deanonymization; and how they can be utilized to manipulate model outcomes; the dangers of […]

View Details

Chris McCord, author of the Phoenix Framework and Programming Phoenix 1.4, discusses Phoenix’s LiveView functionality to showcase the power of real-time applications without the need for writing a single line of JavaScript. Host Adam Conrad spoke with Chris McCord about the basics of LiveView, how it was created, and the best use cases for integrating […]

View Details

Jay Kreps, CEO of Confluent discusses an enterprise integration architecture organized around an event log. Robert Blumen spoke with Jay about the N-squared problem of data integration; how LinkedIn tried and failed to solve the integration problem;  the nature of events; the enterprise event schema; schema definition languages; the use of an event log in […]

View Details

Stephen Wolfram, creator of Mathematica and Wolfram Alpha discusses the wolfram language, which is behind both projects. Host Adam Gordon Bell spoke with Stephen Wolfram about computing, computational essays, building a language, notebook-based computing, and teaching children how to code. Stephen discusses the origin story behind Mathematica and why it is so unique and sometimes considered […]

View Details

Jeremy Howard from fast.ai explains deep learning from concept to implementation. With transfer learning, individuals and small organizations can quickly get to work on machine learning problems using the open source fastai library and desktop graphics hardware. Jeremy and host Nate Black discuss neural network architecture and deep learning models, using pre-trained models from a […]

View Details

Sam Procter a researcher at the Software Engineering Institute of Carnegie Mellon University discusses Security in Software design. Justin Beyer spoke with Procter about Architecture Design Languages, specifically Architecture Analysis and Design Language (AADL) about what it is, how it can be used for security and privacy. Specifically, he discussed AADL, the tooling that is […]

View Details

Ryan Singer, head of strategy at Basecamp, discusses the “Shape Up” method of software development with host Nate Black. Scrum pushes too many strategic decisions down on development teams, without giving them enough time to do meaningful work. Instead, Basecamp uses an up-front mix of strategy and design called “shaping”. Basecamp sees backlogs as a […]

View Details

Bob Kepford of Mediacurrent discusses Decoupled Content Management Systems. From their inception, content management systems (CMS) have been built in a monolithic fashion. Lately, however, some CMS practitioners have begun migrating to a decoupled approach. As with any change in approach, there are trade-offs to consider, and a decoupled CMS is not a solution for […]

View Details

Abhinav Asthana, a founding partner and CEO of the API development tool Postman, discusses API design and testing, where to start, which types of APIs to offer, what tools you can use, what features to expose, and which is his favorite API to reference. Host Gavin Henry spoke with Asthana about gRPC, GraphQL, RESTful, JSON, API […]

View Details

Spencer Dixon of Tuple discusses building a pair programming application using WebRTC. Host Jeremy Jung spoke with Spencer about what WebRTC is; its uses cases; resources for learning; its limitations; capturing video and audio from an OS; choosing a video codec; connecting clients by traversing NATs, challenges of working with WebRTC in a native application […]

View Details

Evan Gilman and Doug Barth, authors of Zero-Trust Networks: building secure systems in untrusted networks discuss zero-trust networks.  The discussion covers: the perimeter network architecture; the threat model in modern networks; the meaning of “trust in the network”; why we should not trust our networks (it’s probably already owned); the concept of zero trust in […]

View Details

Boris Cherny, author of Programming TypeScript, speaks with Nate Black explaining how TypeScript can scale Javascript projects to larger teams, larger code bases, and across devices. TypeScript is a “gradually typed” language, which allows you to add compile time verification to a JavaScript project bit by bit. TypeScript aims to be practical by catching common […]

View Details

Neil Madden, author of the API Security in Action book and Security Director of ForgeRock, discusses the key technical features of securing an API. Host Gavin Henry spoke with Madden about API versus Web App security, choice of authentication tokens, the various security models you can follow, NIST-800-92, ISO27001, STRIDE, CIA Triad, audit log best […]

View Details

Michael Chan of the React Podcast discusses React, a front end JavaScript framework.  Host Jeremy Jung spoke with Chan about what React is, when to introduce it, and how to learn it without being overwhelmed.  Michael explains how JSX combines JavaScript and HTML-like markup to build components and how it decides how to automatically manipulate […]

View Details

Josh Long, developer advocate at Pivotal, discusses Spring Boot with host Simon Crossley, and the features that it provides to efficiently develop production ready enterprise web applications. With 18 years of experience the Spring Framework is certainly mature, and Spring Boot is an attempt to package many of the standard patterns of enterprise development to […]

View Details

Margaret Burnett of Oregon State University spoke with SE Radio’s Felienne about GenderMag, a way to assess the inclusivity of software. This episode explores ‘inclusivity bugs’ — issues that might impede software’s usability — discussing the different cognitive styles people can have, and how to make sure that the software we create is usable for […]

View Details

Claire Le Goues, Associate Professor at Carnegie Mellon University discusses her area of research: automated program repair – the ability of programs to fix bugs in other programs.   Host Felienne spoke with Le Goues about how these techniques work. The techniques include: applying ‘sensible’ edits (moving blocks of code, adding null checks automatically) and then […]

View Details

Joshua Davies, author of Implementing SSL / TLS Using Cryptography and PKI discussed SSL/TLS, public-key infrastructure, certificate authorities, and vulnerabilities in the security infrastructure.  Robert Blumen spoke with Davies about the history of SSL/TLS; TLS 1.3; symmetric and asymmetric cryptography; the TLS handshake; the Diffie-Helman key exchange; the HTTPS protocol; verification of domain ownership; man-in-the-middle […]

View Details

Heidi Howard, a researcher in the field of distributed systems, discusses distributed consensus.  Heidi explains when we need it, when we don’t need and the algorithms we use to achieve it.  Adam Gordon Bell spoke with Heidi about the history of distributed consensus, paxos and variations on it, such as raft and flexible paxos, performance and […]

View Details

Justin Richer, lead author of the OAuth2 In Action book and editor of OAuth extensions RFC 7591, 7592, and 7662, discusses the key technical features of the OAuth 2.0, the industry-standard protocol for authorization and what makes this the best choice for authorizing access to API resources. Host Gavin Henry spoke with Richer about browser […]

View Details

Gabriel Gonzalez, the creator of Dhall, the non-repetitive alternative to YAML on why configuration is important and how we can make it better. Adam Gordon Bell spoke Gonzalez about Dhall, yaml, total functional programming and dealing with configuration at scale.  Topics covered include problems dealing with configuration in a large organization, removing duplication from configuration, […]

View Details

Marcus Blankenship discusses programmer motivation (and de-motivation), which is key to job satisfaction, performance, and turnover.  Travis Kimmel spoke with Blankenship about why engineering motivation matters, the unique motivation needs of engineers, mentoring and coaching for motivation, 1:1s, and self-motivation.   Related Links Marcus Blankenship’s website Habits that Ruin Your Technical team Related SE-Radio Episodes […]

View Details

Joel Spolsky (“Joel on Software”), founder and CEO of Stack Overflow, discusses lessons of building successful software companies. Host Nate Black spoke with Joel about the venture funded “land grab” situations vs. “bootstrapping with profitability”. How do venture capitalists think and how can you make fundraising easier? What’s the strategy to keep as much ownership […]

View Details

Aaron Patterson of GitHub discusses the Ruby language and its runtime.  Host Jeremy Jung spoke with Aaron about the Ruby language and how it works.  They discuss the language virtual machine, concurrency, garbage collection, and JIT compilation.  If you’ve ever wondered what’s happening under the hood of a programming language, this is a great introduction. […]

View Details

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP project, discusses the key technical features of the Lightning Memory-mapped Database (LMDB) that make it one of the fastest, most efficient, and safest embedded data stores in the world. Host Gavin Henry spoke with Chu about B+tree data structures, multi-version concurrency control, memory-mapped […]

View Details

Chris Richardson of microservices.io and author of the book Microservices Patterns discuss microservices patterns which constitute a set of best practices and building-block solutions to problems inherent in building applications out of small coordinated services. Host Robert Blumen spoke with Richardson about the evolution of microservices, community adoption of best practices, patterns for inter-service communication […]

View Details

Derek Collison of Synadia discusses messaging systems and the open source project NATS. Host Jeremy Jung spoke with Collison about different messaging patterns such as request reply, publish subscribe, and queuing.  They discuss how introducing a messaging system can solve problems like routing, load balancing, and security to simplify ops. They also go into how […]

View Details

Bryan Helmig, CTO and Co-Founder of Zapier, discusses managing distributed software teams. Marcus Blankenship spoke with Helmig about how to create a productive remote culture, collaboration patterns and tools, the challenges of time zones, special challenges that managers face, and the extra importance of clear communication on remote teams.   Related Links Zapier Guest twitter: […]

View Details

Felienne talks to Diomidis Spinellis about debugging.  The discussion covers: defining “debugging” which can mean using a debugger or the process of finding and removing bugs; how is it done best; variation across different programming languages or paradigms; debugging different types of applications; tools for debugging: print-statements, version-control systems, operating system tools. Assessing debugging skills […]

View Details

Arnon Axelrod speaks with SE Radio’s Simon Crossley about test automation, a large complex subject that most listeners will have at least some familiarity with. Axelrod has worked in software engineering and test automation in several high-tech companies, including Microsoft and NCR Corporation, where he established a test automation infrastructure that was used by over […]

View Details

Thorsten Ball, author of Writing an interpreter in Go as well as its sequel Writing a Compiler in Go. Adam Gordon Bell spoke with Ball about building an interpreter. Topics covered include the differences between an interpreter and a compiler, what languages are most commonly used for writing interpreters, the advantages and disadvantages of go, […]

View Details

Peter Zaitsev of Percona discusses with host Nate Black how to choose the right open source database and why you may need multiple databases. Topics include: vendor lock-in and the role of cloud database services, the value of experience, judging what use cases databases are bad at, why there is no free lunch when it […]

View Details

Jonathan Boccara, author of The Legacy Code Programmer’s Toolbox discusses understanding and working with legacy code. Working with legacy code is a key skill of professional software development that is often neglected. Host Adam Gordon Bell spoke with Boccara about reading legacy code, developing the right attitude for approaching legacy code and several techniques for […]

View Details

Simon Riggs, founder and CTO of 2nd Quadrant, discusses the advanced features of the Postgres database, that allow developers to focus on applications whilst the database does the heavy lifting of handling large and diverse quantities of data. Host Simon Crossley spoke with Riggs about advanced SQL, indexes, extensibility and scale; using window functions to […]

View Details

Daniel Berg, who is a distinguished Engineer at IBM cloud unit, talks about Istio service mesh and how it lets developers deploy services into the cloud in a secure, efficient fashion by removing the burden of devops from the core service logic. Host Nishant Suneja begins the show with discussion about the need for a […]

View Details

Pete Koomen, Co-founder and CTO at Optimizely discusses A/B testing. Edaena Salinas spoke with Pete about how A/B testing is used in software products, and how A/B tests can be written. Pete explained the components of A/B testing and lessons learned from running over 200,000 A/B tests. Related Links A/B testing (Wikipedia) A/B Testing: The […]

View Details

Jean-Denis Greze of Plaid discusses Engineering Maturity and its importance in maintaining velocity while growing an engineering team grows.  Where engineering managers have not experienced rapid growth, related problems can grow out of hand. Host Nate Black spoke with Jean-Denis about his framework for understanding a team’s current maturity level; how to create a roadmap […]

View Details

Andrii Gakhov, author of the book Probabilistic Data Structures and Algorithms for Big Data Applications talks about probabilistic data structures and their application to the big data domain. Host Robert Blumen spoke with Dr. Gakhov about how probabilistic data structures differ from their exact counterparts; hash functions – cryptographic and non-cryptographic; space versus accuracy tradeoffs; […]

View Details

Adam Barr, author of Why Smart Engineers Write Bad Code talks about code quality.  Felienne spoke with Barr about how developers learn to program on their own while they are in high-school; how that influences their thinking about code quality; what code quality is, how is can (or cannot) be measured and whether some programming […]

View Details

Tim Coulter, the founder of Truffle (Ethereum DApp development framework) discusses the Truffle framework for Ethereum SmartContracts and Decentralized App development. Kishore Bhatia spoke with Tim Coulter about Ethereum Decentralized Apps (DApps) and Truffle as a DApp development, deployment and testing framework. The interview also covers Tim’s journey creating the Truffle framework with a deep-dive […]

View Details

WeWork’s VPE, Randy Shoup, discusses how to scale technology and organization together. Host Travis Kimmel spoke with Randy (formerly VPE at Stitch Fix and CTO at KIXEYE) about the culture, process, and technology changes necessary to scale an organization without experiencing attrition. They discuss how rapidly growing companies can leverage best practices from DevOps, how […]

View Details

Avi Kivity of Scylladb deep dives into the internals of Scylladb and what makes it a high performant version of Cassandra, a distributed key-value datastore. Host Nishant Suneja spoke with Avi about how Scylla’s shared nothing architecture helps it in “scaling up” on every single node in the cluster. The discussion further goes into Scylla’s […]

View Details

Max Neunhoffer of ArangoDB discusses about multi-model databases in general, and open source ArangoDB, in specific, with show host Nishant Suneja. The discussion starts with comparing multi-model databases with polyglot persistence style modeling, and what are the advantages of one over the other. The discussion further delves into exploring the internals of ArangoDB, a multi […]

View Details

Johnathan Nightingale talks with SE Radio host Travis Kimmel about scaling engineering management. Their conversation covers: how and when to hire engineering managers; how to onboard, train and plan for their growth; compensations reviews and promotions; advice for new managers, and what to expect at different management levels. Related links Johnathan and Melissa Nightingale’s and […]

View Details

Bernd Rücker, who has contributed to multiple open source workflow management projects, discusses orchestrating microservices with workflow management.  As distributed systems evolve into a family of microservices that must handle long-running stateful processes with time-dependent actions, events, multiple paths through the system, and complex rollbacks, the workflow management model provides a way to ensure clear […]

View Details

Vivek Ravisankar, the CEO and founder of HackerRank discusses automated coding skills assessments and the HackerRank platform. SE Radio host Kishore Bhatia spoke with him about: HackerRank as a platform for learning, practicing and assessing coding skills; how this platform is helping in skills assessments and coding interviews – both for developers and employers. The […]

View Details

Gary Rennie, a core contributor to Phoenix and Plug, discusses the Phoenix, a web framework for the Elixir programming language. Host Nate Black talks with Gary about why companies use Phoenix and what they use it for, how to write a Phoenix application, how the subsystems of Phoenix work together, and how to troubleshoot performance […]

View Details

Riccardo Terrell, author of Concurrency in .NET: Modern Patterns of Concurrent and Parallel Programming, discusses concurrency, an important topic in the era of multicores in any machine. SE Radio host Felienne spoke with Terrell about concurrency, parallelism, and immutability. They discussed the impact of programming languages and paradigms on concurrent programming and explored common issues […]

View Details

Daniel Corbett of HAProxy discusses how load balancers such as HAProxy are used to improve application scalability, reliability, and security. Host Jeremy Jung spoke with Corbett to explain the concept of load and how a load balancer can distribute it across application servers; the open systems interconnection (OSI) model and how it relates to load […]

View Details

Stephen Ewen, one of the original creator of Apache Flink discusses streaming architecture. Streaming architecture has become more important because it enables real-time computation on big data. Edaena Salinas spoke with Stephen Ewen about the comparison between batch processing and stream processing. Stephen explained the architecture components and the types of applications that can be […]

View Details

Tyler McMullen of Fastly discusses using Content Delivery Networks to improve application speed, reliability, and security. Host Jeremy Jung speaks with McMullen about what CDNs are and how developers can take advantage of them. They discuss how a CDN consists of thousands of edge servers in datacenters around the world; how these servers cache and […]

View Details

Pat Helland talks about building systems at web scale that are prepared to handle failure. Pat has been working on databases, transactions and distributed systems since 1978.  Host Edaena Salinas spoke with Helland about the components of a system including physical hardware and data centers; the role of humans in a production system;  automation by […]

View Details

John Crain, founder of Pixura, discusses some applications of the blockchain technology: Ethereum, smart contracts, solidity, and their application to rare collectible assets. Kishore Bhatia spoke with Crain about: a perspective on how blockchain, distributed computing and cryptographic proof of work have evolved towards a decentralized computing and execution model with Ethereum, drivers for this […]

View Details

István Lam of Tresorit talks with host Kim Carter about GDPR (the EU General Data Protection Regulation, which has been described as “the most important change in data privacy regulation in 20 years”). The discussion covers terminology, planning, implementation, users’ access and their rights regarding their personal data, managing personally identifiable information (PII) across organizations, […]

View Details

Michael Hausenblas talks with host Kim Carter about topics covered in Michael’s ebook Container Networking, such as single vs. multi-host container networking, orchestration, Kubernetes, service discovery, and many more. Michael and Kim also discuss the roles that IPTables plays, how the allocation of IP addresses is handled, along with the assignment of ports. Overlay networks […]

View Details

Travis Kimmel talks with Lara Hogan and Deepa Subramaniam about evidence-based tactics that leaders can use to increase clarity and build healthier, high-performing organizations. Their conversation covers: diagnosing and treating problems that are slowing product, design, and engineering teams; “organization smells”; clarifying roles and responsibilities; improving documentation; facilitating better meetings; improving inter and intra-team dynamics. […]

View Details

Jafar Soltani of Rare (Microsoft Studios) discusses Continuous Delivery in mobile games and how it can increase quality, reduce crunch, and deliver games faster. Host Nate Black speaks with guest Jafar Soltani about the unique challenges of AAA games and why these challenges have prevented game companies from implementing continuous delivery. Topics include: the architectural […]

View Details

Brent Laster, author of Jenkins 2: Up and Running talks about build pipelines, on Jenkins 2 a build server that can be used to implement continuous integration and deployment and is more devops-friendly that Jenkins 1. Host Robert Blumen talks to Brent about continuous integration and continuous delivery (CI/CD), the role of the build server […]

View Details

Ben Sigelman CEO of LightStep and co-author of the OpenTracing standard discusses distributed tracing, a form of event-driven observability useful in debugging distributed systems, understanding latency outlyers, and delivering “white box” analytics.  Host Robert Blumen spoke with Sigelman about the basics of tracing, why it is harder in a distributed system, the concept of tracing […]

View Details

Saša Jurić, author of Elixir in Action, talks about the Elixir programming language, language gaining in popularity. Topics include: Host Nate Black talks with Juric about: Elixir’s relationship to the Erlang virtual machine (BEAM); the advantages of the Erlang ecosystem; the “sweet spot” for Elixir programs; why a new language was needed for the Erlang […]

View Details

Edaena Salinas talks with Maria Gorlatova about Edge Computing. Topics include: the internet of things, edge computing, edge computing experiments and applications, the architecture of edge computing. Maria explained the process of data collection and the type of data that is collected in IoT systems. The discussion continued with a walkthrough example for running a […]

View Details

Jeremy Jung talks with David Calavera about zero-downtime migrations and rollbacks with Kubernetes. In this episode we define migrations, rollbacks, and discuss how Netlify was able to migrate to Kubernetes and roll back off of it multiple times without impacting their users. David explains how developers can run old and new systems simultaneously, the importance […]

View Details

Felienne interviews Marian Petre & André van der Hoek on their book Software Design Decoded: 66 Ways Experts Think. We talk about the software design process, which Petre & van der Hoek en discuss about in their book too. While there are a lot of books about software design, their books address designers rather than […]

View Details

Jeremy Jung talks with John Doran about fixing a broken development process.  In this episode we discuss how a project that started as a desktop application transitioned to becoming a SAAS business that serves thousands of businesses.  John tells the story of a business that found commercial success but struggled with outages, a lack of […]

View Details

Travis Kimmel talks with Kevin Goldsmith about the correspondence between organizational design and software architecture. Their conversation covers: what Conway’s Law is; Kevin’s experiences in different organizational structures (e.g., Avvo, Spotify, Adobe, and Microsoft) and how those structures influenced the software architecture; what the “Reverse Conway Maneuver” is and how organizations can leverage it; how […]

View Details

Natalie Silvanovich from Google Project Zero talks with Kim Carter about what attack surface is in regards to software, how to identify risks and reduce the attack surface of the software you as a Software Engineer are creating. Natalie found over 100 0 day security defects in flash in her first year at Google, and […]

View Details

Andreas Stefik talks with SE Radio’s Felienne about how blind and visually impaired people use the computer, most commonly with a screen reader. They discuss how screen readers work and what programmers can do to make software more accessible for this group of users. The episode starts with the basics, like adding alt tags, giving […]

View Details

Bruce Momjian, a longtime Postgres developer, educator and consultant joins Robert Blumen for a discussion of the SQL query planner in the Postgres relational database. Topics covered include what is a query? How queries are evaluated by the server; the phases of query evaluation; SQL as a declarative language; why declarative query evaluation is simpler […]

View Details

Nate Black interviews Glynn Bird on how to maximize productivity and learning by consuming and producing open source software. Topics discussed include: the impact of open source software on the development process, why open source contributions are important for your career development and getting a job, how GitHub is the new resume or CV, how […]

View Details

Dmitry Jemerov and Svetlana Isakova speak to Matthew Farwell about the Kotlin programming language. They cover what the goals of Kotlin are, why Kotlin was created, what the target use cases are for Kotlin, syntax differences between Java & Kotlin, differences in classes and interfaces between Java & Kotlin, pattern matching in Kotlin, Kotlin’s type […]

View Details

Edaena Salinas talks with Tammy Butow about Chaos Engineering. Topics include: the factors that caused Chaos Engineering to emerge, the different types of chaos that can be introduced to a system, how to structure experiments. Some of the chaos engineering experiments that were discussed are: DNS related attacks, black hole attacks and database attacks. Tammy […]

View Details

Diomidis Spinellis talks with Marc Hoffmann on code test coverage and the tools that can analyze it. Knowing the percentage of code that is covered by tests, can help developers assess the quality of their test cases and help them add missing tests and thereby find and remove software faults. Marc is a key developer […]

View Details

Lin Clark speaks to Matthew Farwell about WebAssembly. The show covers: what WebAssembly is; what are the goals and use cases for WebAssembly; why you want to use it; how to interact with the browser, how it changes your development process; security, the future of web assembly.   Related Links WebAssembly WebAssembly Demo Reading more […]

View Details

Bill Venners speaks to Matthew Farwell about Property Based Tests. The show covers: what a property based test is, how it differs from example based testing; why you would want to use them; use cases for property based tests; when you shouldn’t use property based tests; how property based testing impacts a team’s development process; […]

View Details

Head of Cryptography Engineering at Tresorit, Péter Budai talks with Kim Carter about End to End Encryption (E2EE), backdoors, the scenarios where E2EE can be and should be used. IM, Voice over IP, Email scenarios, as well as interservice communication scenarios such as securing data in use with full memory encryption, CPU-based key storage, enclaves, […]

View Details

Kishore Bhatia discusses with Nate Taggart about Serverless. Topics include: understanding the motivations for this computing model, deep dive learning about Serverless architecture, development frameworks and tools. Learn from Nate’s experience with Serverless paradigm developing Operations tools at Stackery and find out various approaches, challenges and best practices for architecting and building Serverless applications. Related […]

View Details

Edaena Salinas talks with Nicole Hubbard about migrating a VM infrastructure to Kubernetes. The discussion begins with an overview of the VM infrastructure at WP Engine. Next, they discussed the characteristics that indicated it was time to consider migrating to a container based infrastructure using Kubernetes. Containers are different than VMs. There are pros and […]

View Details

Felienne interviews Veronika Cheplygina about image recognition. The discussion covers: what exactly constitutes image recognition, including categorizing and segmentation problems; fields where image recognition are currently being applied, including medicine, self-driving cars and security, and future applications. The host and guest also cover how to obtain enough and good datasets, and some of the common […]

View Details

Kishore Bhatia talks with Travis Kimmel on software engineering measuring, communicating and improving engineering productivity, and challenging the widespread belief that engineering is an art. Their conversation covers: measuring engineering impact; key performance indicators (KPIs); development metrics; challenges in building a delivery pipeline with metrics; implementing feedback loops; the key metrics that most engineering teams […]

View Details

Nate Black talks with Nicolai Parlog about Java 9. Topics include: a timeline of Java features; new patterns enabled by Java 8 lambdas, default interface implementations and how they enable code evolution; how Java 9 takes this further with private default methods; an introduction to Java modules: the Java Platform Module System (JPMS); “launch time” […]

View Details

Felienne interviews Jeroen Janssens on Data Science. They examine what data science is exactly, particularly exploring how it differs from machine learning and statistics. The episode further considers what skills people need to be great data scientists – skills that are related but not always equal to the skills that programming and software engineering require. […]

View Details

Founder of Summit Route / creator of FLAWS, Scott Piper talks with Kim Carter about Cloud Security. Covering the often misunderstood Shared Responsibility Model. Kim and Scott discuss how our assets have changed, and what the risks and countermeasures are with the exodus to the Cloud. A selection of techniques are discussed on how we […]

View Details

Kishore Bhatia talks with Conor Delanbanque about DevOps Hiring, building and retaining top talent in the DevOps space. Topics include DevOps as a special Engineering skill, building DevOps mindset and culture, challenges in hiring and retaining top talent and building teams and best practices for DevOps engineers and employers hiring for these skills. Related Links […]

View Details

Edaena Salinas talks with Sachin Gadre about the internet of things (IoT). What is IoT? What is the architecture of an IoT application? Sachin walks through a series of example to show how IoT applications are used and how they are built. Topics include: internet of things, data sources, and security.   Related Links The […]

View Details

Armon Dadgar speaks to Matthew Farwell about Secrets Management. The show covers: what a secret is; the difference between secrets and sensitive data; what is secrets management; the different types of secrets; key management; auditing of secrets; implementing secrets management.   Related Links Vault Project Kerwhiz Armon Dadgar HashiCorp SE-Radio Episode 290: Diogo Mónica on […]

View Details

Kirk Pepperdine talks with IEEE Software editor in chief Diomidis Spinellis about performance optimization. Topics include development practices, tools, as well as the role of software architecture, programming languages, algorithms, and hardware advances. Topics include: how a performance diagnostic model containing the system’s components can help us understand what each component is responsible for and […]

View Details

Founder of Signal Sciences Zane Lackey talks with Kim Carter about Application Security around what our top threats are today, culture, threat modelling, and visibility, and how we can improve our security stature as Software Engineers.   Related Links Web Application Security: Threats, Countermeasures, and Pitfalls Network Security with Haroon Meer Docker Security with Diogo […]

View Details

Bryan Reinero talks with Gregor Hohpe  about IT Transformation, the process by which organizations adapt and reorganize themselves in response to the way our industry has evolved. Gregor discusses the role of the Enterprise Architect as a leader in the process of  IT Transformation by assessing pressures affecting engineering teams, available technologies, and  business goals […]

View Details

Bryan Reinero talks with Harsh Sinha, VP of  Engineering at TransferWise, about Product Management.  Product Management deals with the planning, delivery and marketing of a software product. The discussion covers how those functions are achieved, and how product management interfaces with engineering; how product requirements are derived from customer needs; how teams build product based […]

View Details

Ron Lichty talks with SE-Radio’s Nate Black about managing programmers. Topics include: why programming management is hard, what makes a good programming manager, the costs of micromanagement, self-organizing teams, team dynamics and motivation, and product team performance.   Related links Ron Lichty’s blog Ron Lichty Consulting Managing the Unmanageable “If we’re Agile, why do we […]

View Details

Charlie Berger talks with SE Radio’s Edaena Salinas about predictive applications. What are predictive applications? How are they built? What’s the role of machine learning in predictive applications? The interview explores implementing machine learning algorithms natively in the database, different machine learning algorithms, and how they’re applied. Topics include: machine learning, databases, data architecture, predictive […]

View Details

Evgeny Shadchnev talks with Felienne about code schools, programs that prepare people to become software developers in a few months. This episode explores the idea of code schools. Can we really teach programming in a few months rather than years in university? Who teaches in those programs? Who attends them? What are their business models, and […]

View Details

Zachary Burt discusses freelancing as a career option with SE Radio’s Felienne. How does freelancing differ from employment? How should we handle personal marketing and sales? How do you find a work-life balance when you’re self-employed? The interview also covers practical tips such as deciding on an hourly rate and managing demanding customers. Related Links […]

View Details

Founder of Thinkst, Haroon Meer talks with Kim Carter about network security. Topics include how attackers are gaining footholds into our networks, moving laterally, infilling malware and exfilling our precious data; why we care; and clear advice on what we software engineers can do about it. Areas of information security are merging, network security is […]

View Details

Bryan Reinero talks with Jason Hand about handling outages and responding to failures. The episode explores basic problem-solving strategies and diagnostic techniques, organizing teams to address incidents efficiently, communicating with stakeholders, learning from incidents, and managing stress.   Related Links Episode 284 – John Allspaw on System Failures: Preventing, Responding, and Learning From Episode 225 […]

View Details

Nate Black interviews Jonathan Stark on Mobile App development. Topics include: platforms for mobile development, making decisions about how to develop mobile apps, how to deploy mobile apps, native apps vs. progressive web apps, React Native, and the future of mobile applications. Jonathan shares his expert knowledge about the evolution of the mobile ecosystem and […]

View Details

Robert Blumen talks to JBoss Drools project lead Edson Tirelli about Rules Engines. The show covers: the nature of business rules; rules and facts; rules and actions; the importance or rules to a business; the structure of a business rule; how many is “a lot” of rules?; communication about rules between the business and software […]

View Details

Felienne talks with Moshe Vardi about P versus NP. Why is this problem so central to computer science? Are we close to solving it?  Is it necessary to solve it? Progress toward computing hard problems efficiently with SAT solvers.  How SAT solvers work,; applications of SAT like formal verification.   Related Links TU Eindhoven P […]

View Details

Kishore Bhatia talks with Kieren James-Lubin about Blockchains. Topics include Blockchains, Cryptocurrency, Bitcoin, Distributed Ledger, Decentralized Apps, Ethereum, Smart Contract development with Solidity, ICO’s and Tokens.   Related Links   IEEE search for blockchains Blockchain TED Talk Ethereum Solidity Smart Contracts Truffle for testing Smart Contracts Guest Twitter: https://twitter.com/kjameslubin Guest Email: kieren@blockapps.net

View Details

Edwin Brady speaks to Matthew Farwell about Type Driven Development and the Idris Programming language. The show covers: what a type is; static vs dynamic types in programming languages; dependent types; the Idris programming language; why Idris was created. Type safe printf modelling state in Idris modelling protocols in Idris modelling concurrency in Idris type driven development and how it changes the development process. Related […]

View Details

Felienne talks with Michael Feathers about Legacy Code. When is something legacy? Is working on legacy different from working on greenfield code? Do developers need different skills and techniques? Testing legacy code. How to test a legacy system? When do we have enough tests to feel safe to start coding? Techniques to make legacy systems […]

View Details

Asaf Yigal talks with SE Radio’s Edaena Salinas about machine learning in log analysis. The discussion starts with an overview of the structure of logs and what information they can contain. Asaf discusses what the log analysis process looks like without machine learning — and the role of humans in this – before moving on […]

View Details

Yakov Fain talks with SE Radio’s Matthew Farwell about the Angular web development framework. The show covers the philosophy behind Angular; who would want to use the platform; how an Angular application is composed, including how to handle form submission and validation; why Typescript was chosen for Angular; how Angular uses reactive programming (RxJS, in […]

View Details

Phillipp Krenn talks with SE Radio’s Jeff Meyerson about Elasticsearch, a scalable search index. The conversation begins with a discussion of search, how it compares to database queries, and what an inverted index is. Phillipp introduces Wikipedia as an example that runs throughout the episode because Wikipedia uses Elasticsearch to power its full-text search. A […]

View Details

Morgan Wilde talks with SE Radio’s Jeff Meyerson about the LLVM compiler toolchain. They begin with a discussion of how a compiler works and how compiled code executes against different processor architectures. Using the JVM as a model for interoperability, they move on to how LLVM is a system that optimizes an intermediate representation (IR), […]

View Details

Docker Security Team lead Diogo Mónica talks with SE Radio’s Kim Carter about Docker Security aspects. Simple Application Security, which hasn’t changed much over the past 15 years, is still considered the most effective way to improve security around Docker containers and infrastructure. The discussion explores characteristics such as Immutability, the copy-on-write filesystem, as well […]

View Details

James Turnbull rejoins the show with Robert Blumen for a conversation mostly about Terraform, as well as a bit about Puppet. Terraform is a declarative programming tool for automating infrastructure resource creation; it targets resource providers, such as Amazon AWS, Microsoft Azure, Digital Ocean, and other cloud and SAAS back ends. The discussion explores the […]

View Details

Francois Raynaud and Kim Carter discuss what’s wrong with the traditional delivery approach and why we need to change. They explore the dangers of retrofitting security to the end of projects, how to combine development, operations, and security people into the same development teams and why, along with cost-benefit analysis. Francois and Kim discuss the […]

View Details

Neal Ford of ThoughtWorks chats with SE Radio’s Kim Carter about the skills required to be a successful software architect, how to create and maintain them, and how to transition from other roles, such as software engineering. Neal discusses that the required skills can be learned, you do not have to be born with special […]

View Details

Edaena Salinas talks with Katie Malone about Machine Learning. Katie Malone is a Data Scientist in the Research and Development department at Civis Analytics. She has a PhD in Physics from Stanford University, with a background specifically in particle physics. She is an instructor of the Intro to Machine Learning online course from Udacity and […]

View Details

James Cowling of Dropbox (architect of their distributed storage system), speaks to Robert Blumen about their move from Amazon’s S3 to their own infrastructure; The show covers: the size, scope and scale of Dropbox’s data management; their experience on Amazon’s S3; why S3 over time did not meet their needs; how the decision was made […]

View Details

John Allspaw CTO of Etsy speaks with Robert Blumen about systemic failures and outages; how are systems defended against outages?; why do they fail anyway?; why are failures not entirely preventable?; why do outages involve multiple failures?; the time that Etsy identified it’s own office as a potential source of fraud; the human as part […]

View Details

Felienne talks with Alexander Tarlinder on Developer Testing. Topics include Developer Testing, Agile Testing, Programming by Contract, Specification Based Testing, Venue: KTH, Stockholm Related Links Alexander on Twitter https://twitter.com/alexander_tar Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468 Clean Code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM Alexander’s book review site http://www.techbookreader.com/ Developer […]

View Details

Donny Nadolny of PagerDuty joins Robert Blumen to tell the story of debugging an issue that PagerDuty encountered when they set up a Zookeeper cluster that spanned across two geographically separated datacenters in different regions.  The debugging process took them through multiple levels of the stack starting with their application, the implementation of the Zookeeper […]

View Details

Edaena Salinas talks with James Whittaker about Career Strategy in the technology field. James is a Distinguished Technical Evangelist at Microsoft. Throughout his career, he specialized in Software Testing, Security, and Storytelling. He is the author of “How Google Tests Software” and the viral blog post “Why I left Google”. Topics include: Career Management, the […]

View Details

Marcus Blankenship talks with Gerald Weinberg about software errors, the fallacy of perfection, how languages and process can reduce errors, and the attitude great programmers have about their work.  Gerald’s new book, Errors: Bugs, Boo-boos, and Blunders, focuses on why programmers make errors, how teams can improve their software, and how management should think of […]

View Details

Eberhard talks with Florian Gilcher about the programming language Rust. Rust originates from Mozilla research. Its focus is on system programming and it is often used to replace C or C++. Topics include the concepts behind Rust; concurrent and safe programming; advanced and unique features like ownership and borrowing; the rust type system (which supports […]

View Details

Felienne talks with Peter Hilton on how to name things. The discussion covers: why naming is much harder than we think, why naming matters in programming and program comprehension, how to create good names, and recognize bad names, and how to improve your naming skills. Venue: Felienne’s residence, Rotterdam Related Links To camelcase or under_score by […]

View Details

Gil Tene joins Robert Blumen for a discussion of tail latency. What is latency? What is “tail latency”? Why are the upper percentiles of latency more relevant to humans? How is human interaction with an application influenced by tail latency? What are the economics of tail latency? What are the origins of tail latency within […]

View Details

Björn Rabenstein discusses the field of Site Reliability Engineering (SRE) with host Robert Blumen. The term SRE has recently emerged to mean Google’s approach to DevOps. The publication of Google’s book on SRE has brought many of their practices into more public discussion. The interview covers: what is distinct about SRE versus devops; the SRE […]

View Details

Marcus Blankenship talks with Josh Doody about salary negotiation. Topics include a framework for thinking about salary negotiations, how you can know what you’re worth, the employers view of salary negotiation, and missed negotiation opportunities. Also discussed are common fears about negotiating and how to overcome them, common mistakes during negotiations, and how negotiation makes […]

View Details

Felienne talks with Sam Aaron on Sonic Pi. Topics include how to design a programming language with a broad audience, what features enable a language to be powerful and fun for children to play with, what the role of programming and programming education is in the world in general and the world of music in […]

View Details

Sven Johann talks with Steve McConnell about Software Estimation. Topics include when and why businesses need estimates and when they don’t need them; turning estimates into a plan and validating progress on the plan; why software estimates are always full of uncertainties, what these uncertainties are and how to deal with them. They continue with: […]

View Details

Jeff Meyerson talks with Frances Perry about Apache Beam, a unified batch and stream processing model. Topics include a history of batch and stream processing, from MapReduce to the Lambda Architecture to the more recent Dataflow model, originally defined in a Google paper. Dataflow overcomes the problem of event time skew by using watermarks and […]

View Details

Jeff Meyerson talks to Idit Levine about Unikernels and unik, a project for compiling unikernels. The Linux kernel contains features that may be unnecessary to many application developers–particularly if those developers are deploying to the cloud. Unikernels allow programmers to specify the minimum features of an operating system we need to deploy our applications. Topics […]

View Details

Jeff Meyerson talks with Brian Brazil about monitoring with Prometheus, an open source tool for monitoring distributed applications. Brian is the founder of Robust Perception, a company offering Prometheus engineering and consulting. The high level goal of Prometheus is to allow developers to focus on services rather than individual instances of a given service. Prometheus […]

View Details

Eberhard Wolff talks with Phillip Carter about F#.  A multi-paradigm programming language that supports object-oriented, imperative, and functional programming, F# can be used for a broad variety of applications. It’s an especially good fit for parallel programming and DSLs. Type interference allows F# code to be type safe even if no types are declared in […]

View Details

Kief Morris, cloud specialist at ThoughtWorks and author of the recent book Infrastructure as Code, talks to Sven Johann about why this concept is becoming increasingly important due to cloud computing. They discuss best practices for writing infrastructure code, including why you should treat your servers as cattle, not pets, as well as how to […]

View Details

Eberhard Wolff talks with Jürgen Höller about Reactive Spring. Reactive programming is a hot topic, but adoption has been slow in the enterprise. Spring 5 incorporates Reactor and the RxJava API to help Java developers build scalable high-performance web applications. The discussion explores architectural challenges, transactions, porting existing applications, and increased code complexity. Venue: GOTOcon Amsterdam […]

View Details

Charles Nutter talks to Charles Anderson about the JRuby language and the JVM as a platform for implementing programming languages. They discuss JRuby and its implementation on the JVM as an example of a language other than Java on the JVM. Venue: Skype Related Links Charles Nutter on Twitter: https://twitter.com/headius Charles Nutter on GitHub: https://github.com/headius JRuby […]

View Details

Johannes Thönes talks to Patrick Kua about the role of a technical lead and how people become tech leads. The show covers the definition of a tech lead, the responsibilities of the role and the challenges of becoming a tech lead. Venue: Internet   Related Links Episode 228: Software Architecture Sketches with Simon Brown Article: A […]

View Details

Charles Anderson talks with James Phillips about service discovery and Consul, an open-source service discovery tool. The discussion begins by defining what service discovery is, what data is stored in a service discovery tool, and some scenarios in which it’s used. Then they dive into some details about the components of a service discovery tool […]

View Details

Stefan Tilkov talks to Camille Fournier about the challenges developers face when building distributed systems. Topics include the definition of a distributed system, whether developers can avoid building them at all, and what changes occur once they choose to. They also talk about the role distributed consensus tools such as Apache Zookeeper play, and whether […]

View Details

Sven Johann talks with Bill Curtis about Software Quality. They start with what software quality is and then discuss examples of systems which failed to achieve the quality goals (e.g. ObamaCare) and it’s consequences. They then go on with the role of architecture in the overall quality of the system and how to achieve it […]

View Details

David Heinemeier Hansson, creator of the Ruby on Rails framework and a partner at the software development company Basecamp, talks to Stefan Tilkov about the state of Ruby on Rails and its suitability for long-term development. He addresses some of its common criticisms, such as perceived usefulness for only simple problems, claimed lack of scalability, […]

View Details

Jeff Meyerson talks to Haoyuan Li about Alluxio, a memory-centric distributed storage system. The cost of memory and disk capacity are both decreasing every year–but only the throughput of memory is increasing exponentially. This trend is driving opportunity in the space of big data processing. Alluxio is an open source, memory-centric, distributed, and reliable storage […]

View Details

John Purrier talks with Jeff Meyerson about OpenStack, an open-source cloud operating system for managing compute resources. They explore infrastructure-as-a-service, platform-as-a-service, virtualization, containers, and the future of systems development and management. Cloud service providers like Amazon, Google, and Microsoft provide both infrastructure-as-a-service and platform-as-a-service. Infrastructure-as-a-service gives developers access to virtual machines, servers, and network infrastructure. […]

View Details

Robert Blumen talks with Cody Voellinger, the founder of a recruiting firm that specializes in filling software engineer roles for San Francisco-area startups, about how jobs are created and how companies and engineers get matched up. Their discussion covers the entire job search process, from job descriptions to salary negotiations. They look at the job […]

View Details

Michael Nygard of “Release It!” fame talks with Stefan Tilkov about his experience using the Clojure programming language. Topics include the tool chain and development process, the Clojure learning curve, and on-boarding new developers. Michael explains the similarities and differences compared to typical OO languages when implementing domain logic, and uses both game development and […]

View Details

Stefan Tilkov talks with Jay Fields, author of the book Working Effectively with Unit Tests, about unit testing in practice. Topics include how to write good unit tests, what mistakes to avoid, and different categories of unit tests. Jay explains the value of unit tests and why you might want to delete them if you […]

View Details

Monica Beckwith joins Robert Blumen for a discussion of java garbage collection. What is garbage collection? GC algorithms; history of GC in the java language; fragmentation and compaction; generational strategies; causes of pauses; impact of pauses on application performance; tuning GC; GC on multi-core and large memory machines; should production servers be implemented in non-GC […]

View Details

Mike Barker talks with Sven Johann about the architecture of the LMAX system. LMAX is a low-latency, high-throughput trading platform. Their discussion begins with what LMAX does; the origins of LMAX; and extreme performance requirements faced by LMAX. They then delve into systems that LMAX communicates with; LMAX users; the two main components of the […]

View Details

Fred George talks with Eberhard about “Developer Anarchy” – a development approach Fred has been using very successfully in different organizations. Developer Anarchy is a manager-less process. All team members write code. There are no stories. Instead developers figure out how to reach specific business goals. Besides writing code some team members have additional responsibilities: […]

View Details

Robert Blumen talks to Christopher Meiklejohn about conflict-free replicated data types (CRDTs). The discussion covers forms of consistency in distributed systems; conflicts and conflict resolution algorithms; consistency and concurrency; the discovery of CRDTs; state-based and operations-based CRDTs; examples of some well-known CRDTs, including counters and sets; time and space complexity; uses of CRDTs in chat […]

View Details

Martin Klose talks with Eberhard Wolff about Coderetreats – events where developers practice techniques like test-driven development or refactoring in a safe environment to develop software craftsmanship. Martin talks about how Coderetreats work and why they are a great way to become a better developer. Also he explains the different types and the Global Day […]

View Details

Alex Budzier of the Oxford Saïd Business School and Jürgen Laartz of McKinsey Berlin join Robert Blumen to discuss their research on large IT project failures. The show covers: What is a “large” project? What is the definition of failure? Cognitive biases and project failures. Are some attributes of projects predictive of failure? The catastrophic […]

View Details

In this episode, SE Radio Host Stefan Tilkov talks to Vaughn Vernon about the topic of his most recent book, Reactive Messaging Patterns with the Actor Model. Vaughn explains the concepts and history of reactive programming, the actor model and its consequences, actors and their relation to object orientation, a typical approach for designing a […]

View Details

Johannes Thönes talks to author and speaker Axel Rauschmayer about JavaScript and ECMAScript 6. They first talk about JavaScript’s origin and history. They discuss the standardization of ECMAScript and the version history. Then, they dive into the key concept of JavaScript as a language and explain the new features coming into the language with the […]

View Details

Sven Johann talks with Andrew Phillips about DevOps. First, they try to define it. Then, they discuss its roots in agile operations, its relationship to lean development and continuous delivery, its goals, and how to get started. They proceed to system thinking and what “You build it, you run it” means for a system when […]

View Details

John Wilkes from Google talks with Charles Anderson about managing large clusters of machines. The discussion starts with Borg, Google’s internal cluster management program. John discusses what Borg does and what it provides to programmers and system administrators. He also describes Kubernetes, an open-source cluster management system recently developed by Google using lessons learned from […]

View Details

Charles Anderson talks to John Sonmez, the author of Soft Skills—“the software developer’s life manual.” They start out discussing the book and what it covers, which is pretty much everything in a developer’s life outside of code. The book contains seven sections; they discuss two of them: “Career” and “Marketing Yourself.” John discusses the value […]

View Details

Gernot Starke talks about arc42: an open-source set of templates he developed to document software architecture based on his practical experience with real projects. Also Gernot and host Eberhard then discuss how documenting architecture fits into agile processes and how to find the right amount of documentation for a system. They walk through the different […]

View Details

Slava Akhmechet and Jeff Meyerson discuss RethinkDB, an open source database for the real-time Web. RethinkDB pushes data to the application rather than requiring the application to poll the database for updates. The discussion begins with the question of why databases need to be rethought–why is it better to build JSON-pushing into the database layer […]

View Details

Sven Johann talks with Dave Thomas about innovating legacy systems. Dave clarifies first why legacy systems are both valuable and problematic. Next, they discuss bad systemic and good incremental approaches for innovation of legacy systems; why you shouldn’t rewrite an old system but rather focus on tactical changes to reduce cost or increase productivity within […]

View Details

Kyle Kingsbury, known as Aphyr on Twitter and for his blog by the same name, talks to Stefan Tilkov about consensus in distributed systems and about his experience in testing systems to see how they behave in case of failures. In addition to discussing some of the theoretical foundations, such as the CAP theorem, isolation […]

View Details

Josh Long talks to Cédric Champeau about the latest and greatest in the Groovy JVM language, how it has evolved over the years, and where it’s going. They start by talking about the existing features in the language, the language’s history and then move on to discuss where the language is going, how Java 8 […]

View Details

Josh Long talks to Pivotal’s Andrew Clay Shafer about the state of platforms-as-a-service (PaaS; like Cloud Foundry). They cover how pass relates to the fast-evolving container-ready distributed runtimes such as Lattice, Kubernetes and Mesos. The discussion starts with a look at what PaaS means and moves on to how the technology has evolved, the community […]

View Details

Johannes Thönes talks to Linda Rising, author, speaker and independent consultant, about the Agile Brain. They start by talking about the fixed, talent-oriented mindset and then contrast with the learning-oriented mindset. After establishing the terms, Linda explains how we know which mindset we are in currently and how we can change it for us and others, […]

View Details

Show editor Robert Blumen begins with a history of the show, what he has been doing since he became the show editor a year ago, and where he wants the show to go in the future. The remainder of the show is a series of interviews with all of the active hosts, the founder of the […]

View Details

Johannes Thönes talks to Rebecca Parsons, Chief Technology Officer at ThoughtWorks, about evolutionary architecture. The practice of evolutionary software architecture means making decisions as late as possible (last responsible moment) and setting up cross-functional requirements that the architecture has to meet (architectural fitness function). In the beginning, Parsons and Thönes introduce the term evolutionary architecture and […]

View Details

Ben Hindman talks to Jeff Meyerson about Apache Mesos, a distributed systems kernel. Mesos abstracts away many of the hassles of managing a distributed system. Hindman starts with a high-level explanation of Mesos, explaining the problems he encountered trying to run multiple instances of Hadoop against a single data set. He then discusses how Twitter uses […]

View Details

Johannes Thönes talks to Barry O’Reilly, principal consultant at ThoughtWorks, about his recently published book Lean Enterprise. A lean enterprise is a large organization that manages to keep innovating while keeping its existing products in the market. O’Reilly talks about the idea of scientific experiments and the build-measure-learn loop popularized by the lean-startup method. He shares […]

View Details

Fangjin Yang, creator of the Druid real-time analytical database, talks with Robert Blumen. They discuss the OLAP (online analytical processing) domain, OLAP concepts (hypercube, dimension, metric, and pivot), types of OLAP queries (roll-up, drill-down, and slicing and dicing), use cases for OLAP by organizations, the OLAP store’s position in the enterprise workflow, what “real time” […]

View Details

Stefan Tilkov talks to Mark Nottingham, chair of the IETF (Internet Engineering Task Force) HTTP Working Group and Internet standards veteran, about HTTP/2, the new version of the Web’s core protocol. The discussion provides a glimpse behind the process of building standards. Topics covered include the history of HTTP versions, differences among those versions, and […]

View Details

Joshua Suereth and Matthew Farwell discuss SBT (Simple Build Tool) and their new book SBT in Action. They first look at the factors creating a need for build systems and why they think SBT—a new addition to this area—is a valuable contribution in spite of the vast number of existing build tools. Host Tobias Kaatz, […]

View Details

Shubhra Kar of StrongLoop talks to Jeff Meyerson about Node.js. Node allows for server-side JavaScript. Shubra and Jeff explore why Node is so important from three standpoints: isomorphic JavaScript, the single-threaded-concurrency model, and the “API economy.” Isomorphic JavaScript apps have their own control and viewing logic, but they share the state and specification of the […]

View Details

Flavio Junqueira is the author of Zookeeper: Distributed Process Coordination. Flavio and Jeff Meyerson begin by defining ZooKeeper and talking about what ZooKeeper is and isn’t. ZooKeeper can be thought of as a patch against certain fallacies of distributed computing: that the network is secure, has zero latency, has infinite bandwidth, and so on. With […]

View Details

Simon Brown, author of Software Architecture for Developers, talks with Sven Johann about using simple sketches to visualize, communicate and document software architecture. The show starts with a consideration of why sketches are more useful than UML and then continues with the explanation of the C4 model (context, containers, components and classes) and how it fits […]

View Details

Robert Blumen talks with Eric Brewer, who discovered the CAP (consistency, availability, partition tolerance) theorem. The first part of the show focuses on Brewer’s original thesis presented at the 2000 ACM Symposium on Principles of Distributed Computing (PODC): What set of problems motivated the formulation of CAP? How was it understood at the time? What are […]

View Details

Eberhard Wolff talks with Eric Evans, the founder of domain-driven design (DDD), about its impact after 10 years. DDD consists of domain-modelling patterns; it has established itself as a sound approach for designing systems with complex requirements. The show covers an introduction to DDD, how the community’s understanding of DDD has changed in the last […]

View Details

Senior performance architect and author of Systems Performance Brendan Gregg talks with Robert Blumen about systems performance: how the hardware and OS layers affect application behavior. The discussion covers the scope of systems performance, systems performance in the software life cycle, the role of performance analysis in architecture, methodologies for solving performance problems, dynamic tracing […]

View Details

In this episode, Sven Johann and Eberhard Wolff talk about technical debt and how to handle it. They begin by defining external and internal quality and then talk about technical debt as a metaphor for discussing quality with management. They then consider whether technical debt is bad and how to handle it by using Eric […]

View Details

Josh Long talks to Activiti cofounder Joram Barrez about the wide world of (open source) workflow engines, the Activiti BPMN2 engine, and what workflow implies when you’re building process-driven applications and services. Joram was originally a contributor to the jBPM project with jBPM founder Tom Baeyens at Red Hat. He cofounded Activiti in 2010 at […]

View Details

Nathan Marz is the creator of Apache Storm, a real-time streaming application. Storm does for stream processing what Hadoop does for batch processing. The project began when Nathan was working on aggregating Twitter data using a queue-and-worker system he had designed. Many companies use Storm, including Spotify, Yelp, WebMD, and many others. Jeff and Nathan […]

View Details

Johannes Thönes interviews Jez Humble, senior vice president at Chef, about continuous delivery (CD). They discuss continuous delivery and how it was done at Go, CD, and HP firmware; the benefits of continuous delivery for developers; Conway’s law and cross-functional teams; scary releases and nonscary releases; fix-forward, blue-green deployments, and A/B testing; origins of continuous […]

View Details

Robert Blumen talks to Jon Gifford of Loggly about logging and logging infrastructure. Topics include logging defined, purposes of logging, uses of logging in understanding the run-time behavior of programs, who produces logs, who consumes logs and for what reasons, software as the consumer of logs, log formats (structured versus free form), log meta-data, logging […]

View Details

Jeff Meyerson talks to Jun Rao, a software engineer and researcher (formerly of LinkedIn). Jun has spent much of his time researching MapReduce, scalable databases, query processing, and other facets of the data warehouse. For the past three years, he has been a committer to the Apache Kafka project. Jeff and Jun first compare streaming […]

View Details

Guest Udi Dahan talks with host Robert Blumen about the CQRS (command query responsibility segregation) architectural pattern. The discussion begins with a review of the command pattern. Then a high-level overview of CQRS, which consists of a separation of a command processing subsystem that updates a write model from one or more distinct and separate, […]

View Details

James Turnbull joins Charles Anderson to discuss Docker, an open source platform for distributed applications for developers and system administrators. Topics include Linux containers and the functions they provide, container images and how they are built, use cases for containers, and the future of containers versus virtual machines. Venue: Internet Related Links James’s home page: […]

View Details

Adrian Cockcroft discusses the challenges in creating a dynamic, flexible, cloud-based platform with SE Radio host Stefan Tilkov. After briefly discussing the definition of “cloud computing,” Adrian explains the history behind Netflix’s move to the cloud (which he led). After highlighting some of the differences that have developers and architects must face, Adrian talks about […]

View Details

Johannes Thönes talks with Erich Gamma, Ralph Johnson and Richard Helm from the Gang of Four about the 20th anniversary of their book Design Patterns. They discuss the following topics: the definition of a design pattern and each guest’s favorite design pattern; the origins of the book in architecture workshops; the writing of the book […]

View Details

Grant Ingersoll, founder and CTO of LucidWorks, talks with Tobias Kaatz about his book Taming Text: How to Find, Organize, and Manipulate It. They begin by discussing popular existing systems for the automated understanding of contextual information. One such system, IBM Watson, drew attention for its victory in the “Jeopardy” game show. They proceed to […]

View Details

Johannes Thönes talks to James Lewis, principal consultant at ThoughtWorks, about microservices. They discuss microservices’ recent popularity, architectural styles, deployment, size, technical decisions, and consumer-driven contracts. They also compare microservices to service-oriented architecture and wrap up the episode by talking about key figures in the microservice community and standing on the shoulders of giants. Recording […]

View Details

Tobias Kaatz talks to former Kixeye CTO Randy Shoup about company culture in the software industry in this sequel to the show on hiring in the software industry (Episode 208). Prior to Kixeye, Randy worked as director of engineering at Google for the Google App Engine and as chief engineer and distinguished architect at eBay. […]

View Details

Johannes talks with Rachel Laycock and Max Lincoln from ThoughtWorks about continuous delivery on Windows. The outline includes: introduction to continuous delivery; continuous integration; DevOps and ChatOps; decisions to be taken when implementing continuous delivery on windows; build tools on windows; packaging and deploy on windows; infrastructure automation and infrastructure as code with chef, puppet […]

View Details

Micro services is an emerging trend in software architecture that focuses on small, lightweight applications as a means to avoid large, unmaintainable, monolithic systems. This approach allows for individual technology stacks for each component and more resilient systems. Micro services uses well-known communication schemes such as REST but also require new technologies for the implementation. […]

View Details

Josiah Carlson discusses Redis, an in-memory single-threaded data structure server. A Redis mailing list contributor and author, Josiah talks with Robert about the differences between Redis and a key-value store, client-side versus server-side data structures, consistency models, embedding Lua scripts within the server, what you can do with Redis from an application standpoint, native locking […]

View Details

With this episode, Software Engineering Radio begins a series of interviews on social/nontechnical aspects of working as a software engineer as Tobias Kaatz talks to Randy Shoup, former CTO at KIXEYE, about hiring in the software industry. Prior to KIXEYE, Randy worked as director of engineering at Google for the Google App Engine and as […]

View Details

Charles Anderson talks to Mitchell Hashimoto about the Vagrant open source project, which can be used to create and configure lightweight, reproducible, and portable development environments. Vagrant aims to make new developers on a project productive within minutes of joining the project instead of spending hours or days setting up the developer’s workstation. The outline […]

View Details

Johannes Thönes talks to Dr. Ken Collier, Director of Agile Analytics at ThoughtWorks about Agile Analytics. The outline includes: descriptive analytics, predictive analytic and prescriptive analytics; artificial intelligence, machine learning, data mining and statistics; collaborative filtering; data science and data scientists; data warehousing and business intelligence; online analytical processing (OLAP), extract transform load (ETL), feature […]

View Details

Eberhard Wolff talks with Martin Lippert of Pivotal about the Eclipse Flux project. This projects is in its early stages — and has a very interesting goal: It aims to put software development tools into the cloud. It is a lot more than just an IDE (integrated development environment) in a browser. Instead the IDE […]

View Details

Robert talks to Dr. Anil Madhavapeddy of the Cambridge University (UK) Systems research group about the OCaml language and the Mirage cloud operating system, a microkernel written entirely in OCaml. The outline includes: history of the evolution from dedicated servers running a monolithic operating system to virutalized servers based on the Xen hypervisor to micro-kernels; […]

View Details

Leslie Lamport spoke with SE Radio host Jeff Meyerson. Lamport won a Turing Award in 2013 for his work in distributed and concurrent systems. He also designed the document preparation tool LaTex. Leslie is employed by Microsoft Research, and has recently been working with TLA+, a language that is useful for specifying concurrent systems from […]

View Details

Andrew Gerrand works on the Go programming language at Google. His conversation with Jeff begins with a history of the language, including the details behind how Go was conceived and how the open source community contributes to it. Andrew explains how Go intends to simplify problems which have been motifs as Google has scaled. The […]

View Details

Martin Thompson, proprietor of the blog Mechanical Sympathy, founder of the LMAX disruptor open source project, and a consultant and frequent speaker on high performance computing talks with Robert about computer program performance. Martin explains the meaning of the term “mechanical sympathy,” derived from auto racing, and its relevance to program performance: the importance of […]

View Details

For Episode 200 of Software Engineering Radio, Diomidis Spinellis interviews Markus Völter, the podcast’s founder. Markus works as an independent researcher, consultant, and coach for itemis AG in Stuttgart, Germany. His focus is on software architecture, model-driven software development and domain specific languages as well as on product line engineering. Markus also regularly publishes articles, […]

View Details

Recording Venue: Skype Guest: Michael Stonebraker Dr. Michael Stonebraker, one of the leading researchers and technology entrepreneurs in the database space, joins Robert for a discussion of database architecture and the emerging NewSQL family of databases. Dr. Stonebraker opens with his take on how the database market is segmented around a small number of use […]

View Details

Recording Venue: WebEx Guest: Wil van der Aalst Robert Blumen interviews Professor Wil van der Aalst of the Technical University of Eindhoven, one of the world’s leading researchers in business process management and workflow systems. Professor van der Aalst leads off with an overview of the main concepts in the field business processes, business process […]

View Details

Recording Venue: WebEx Guest: Lars Vogel Lars Vogel, consultant, Eclipse committer, and owner of vogella.com, gives an overview of the Android operating system. His conversation with Jeff begins with a definition of Android and a brief history. Android is an operating system programmed in Java. It can be found on different types of devices such […]

View Details

Recording Venue: WebEx Guest: Jim Benson Jim Benson is CEO of Modus Cooperandi, a collaborative management consultancy in Seattle, Washington. After being steeped in Agile for many years, Jim started working with Kanban and Lean thinking in 2005. In 2008, he started taking this idea further with Personal Kanban, which brings flow based work to the […]

View Details

Recording Venue: WebEx Guest: Ellen Gottensdiener and Mary Gorman Ellen Gottensdiener and Mary Gorman of EBG Consulting talk with Neil Maiden about agile projects, requirements practices and their new book entitled Discover to Deliver: Agile Product Planning and Analysis. The conversation begins with an exploration of how agile has changed requirements and project practices over the […]

View Details

Recording Venue: Skype Guest: Michael Hunger Michael Hunger of Neo Technology, and a developer on the Neo4J database, joins Robert to discuss graph databases. Graph databases fall within the larger category of NoSQL databases but they are not primarily a solution to problems of scale. They differentiate themselves from RDBMS in offering a data model built […]

View Details

Recording Venue: Skype Guest: Grant Ingersoll Grant Ingersoll, founder of the Mahout project, talks with Robert about machine learning.   The conversation begins with an introduction to machine learning and the forces driving the adoption of this technique. Grant explains the three main use cases, similarity metrics, supervised versus unsupervised learning, and the use of large data […]

View Details

Recording Venue: Swiss Federal Institute of Technology, Zürich Guest: Georg von Krogh Open source development has had a major impact on both private and public development and use of software. This is an interview with one of the key researchers on open source development, Professor Georg von Krogh of the Swiss Federal Institute of Technology in […]

View Details

Recording Venue: Skype Guest: Douglas C. Schmidt In this episode we talk with Douglas C. Schmidt, who is a professor of computer science at Vanderbilt University and a well-respected authority in the fields of patterns and frameworks for concurrent and networked software. In this interview we talk about these topics in the context of massive […]

View Details

Recording Venue: WebEx Guest: Christof Ebert Christof Ebert, managing director of Vector Consulting Services talks with Frances Paulisch on his insights to how lean applies to product development. The interview centers around five key principles of lean development, namely end-to-end focus on creating value for the customer, eliminating waste, optimizing value streams, empowering people, and […]

View Details

Recording Venue: Skype Guest: Eric Lubow Eric Lubow and Robert discuss polyglot persistence, a term used to describe systems that incorporate multiple specialized persistent stores rather than a single general-purpose database.  Eric provides insights into the forces driving this trend:  including diverse data usage patterns, low latency, and increasing volumes of data.  The emergence of […]

View Details

Recording Venue: Paddington, London Guests: Suzanne Robertson and James Robertson, Atlantic Systems Guild Neil Maiden, Editor of the Requirements column in IEEE Software, talks with Suzanne and James Robertson of the Atlantic Systems Guild about the emergence and impact of agile practices on requirements work. The interview begins with an exploration of how agile practices have […]

View Details

Recording Venue: Lucene Revolution 2012 (Boston) Guest: Grant Ingersoll Grant Ingersoll, a committer on the Apache Solr and Lucene, talks with Robert about the  problems of full-text search and why applications are taking control of their own search, and then continues with a dive into the architecture of the Solr search engine. The architecture portion of the […]

View Details

Recording Venue: Skype Guest: Martin Fowler and Pramod Sadalage In this episode, we talk with Pramod Sadalage and Martin Fowler about database evolution and agile database development. We discuss the basic challenges for working with a database in an agile development culture and how to include database design and most of all, database evolution, in […]

View Details

Recording Venue: MongoSF, San Francisco Guest: Dwight Merriman As application data size and throughput have outgrown the processing and storage needs of commodity servers, replication has become an increasingly important strategy. In this episode, Robert talks with Dwight Merriman about database replication. Topics covered include replication basics, master-slave versus master-master, failure and recovery, replication versus […]

View Details

Recording Venue: Phone Guest: Jeff Frey System z, or the Mainframe, holds most of us in awe — the ultimate computing platform, referenced in Hollywood as well as by those who thought they were dealing with “legacy” systems — but what does Mainframe really mean? What does its stack look like? This leading virtualized infrastructure […]

View Details

SE Radio will continue producing podcasts under the wings of IEEE Software, a respected magazine published by the IEEE Computer Society.

View Details

In this episode, Markus talk with Martin Fowler and Rebecca Parsons about domain-specific languages.

View Details

In this episode we talk with Rini van Solingen about scrum and agile software development in distributed settings.

View Details

In this episode Michael interviews Jurgen Appelo on the topic of leading agile developers.

View Details

Cassandra is a distributed, scalable non-relational data store influenced by the Google BigTable project and many of the distributed systems techniques pioneered by the Amazon Dynamo paper.

View Details

This episode is a conversation with Jonas Boner about Akka.

View Details

Recording Venue: Phone Guest: Steve Will IBM i (formerly known as OS/400) is an advanced object-based operating system by IBM that runs thousands of businesses around the world.  Steve Will, the Chief Architect of IBM i speaks with us about the history, technical features, and underlying architecture discussing the concepts of Single Level Store, integrated […]

View Details

We talk with Martin Laforest about topics ranging from how quantum computing works, which different models of quantum computing are explored, current and future uses of the approach as well as the current state of the art.

View Details

We discuss characteristics and performance properties of modern games and outline the challenges for software development.

View Details

Guest: Wilbert Albers Host: Markus In this episode we take a look at microchip production, with a special focus on waferscanners. To do this, we talked with Wilbert Albers of ASML, the leading waferscanner manufacturer in the world. In the episode, we talk about the overall chip production process (from silicon sand over wafer cutting […]

View Details

Recording Venue: University of Passau Guest: Sven Apel Host: Stefan In this second episode on Feature-Oriented Software Development (FOSD), Sven Apel gives us an overview of programming language and tool support for FOSD. He introduces the Eclipse-based FeatureIDE which covers important phases of the FOSD process, namely domain implementation as well as configuration and generation. […]

View Details

Sven Apel explains why developing software in a feature-oriented manner is so vital for us as software engineers and why objects are simply not enough.

View Details

This episode is an update on the developments around the Scala language.

View Details

In this episode Michael talks with Bas Vodde about how to apply agile principles to large and distributed development organizations.

View Details

In this episode, Robert talks with Nati Shalom about the emergence of large-system architectures consisting of a grid of high-memory nodes.

View Details

This episode is about being a consultant in the software business.

View Details

In this episode we talk with Kent Beck about automated unit testing and JUnit.

View Details

This time we have John Wiegand on the mic for an episode on architectures and agile software development. We talk about the role of architectures in an agile world and why architectures change and need to change over time. We discuss the characteristics of those living architectures, using the Eclipse and the Jazz projects as examples, and the surrounding development methods for such environments.