at

Episode 204: Anil Madhavapeddy on the Mirage Cloud Operating System and the OCaml Language

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




at

Episode 215: Gang of Four – 20 Years Later

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




at

Episode 216: Adrian Cockcroft on the Modern Cloud-based Platform

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




at

Episode 218: Udi Dahan on CQRS (Command Query Responsibility Segregation)

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




at

Episode 222: Nathan Marz on Real-Time Processing with Apache Storm

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




at

Episode 223: Joram Barrez on the Activiti Business Process Management Platform

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




at

Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years




at

Episode 229: Flavio Junqueira on Distributed Coordination with Apache ZooKeeper

 




at

SE-Radio-Episode-231:-Joshua-Suereth-and-Matthew-Farwell-on-SBT-and-Software-Builds




at

SE-Radio-Episode-233-Fangjin-Yang-on-OLAP-and-the-Druid-Real-Time-Analytical-Data-Store




at

SE-Radio Episode 239: Andrew Clay Shafer on Modern Platform-as-a-Service




at

SE-Radio Episode 242: Dave Thomas on Innovating Legacy Systems




at

SE Radio Episode 244: Gernot Starke on Architecture Documentation using arc42

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 parts of the arc42 templates covering requirements and the context of the system and the solution structure, including building blocks, runtime, and deployment. They discuss tooling, versioning, testing documentation, and how to keep documentation up to date.




at

SE-Radio Episode 251: Martin Klose on Code Retreats

Martin Klose talks with Eberhard Wolff about Coderetreats - events where developers practice development techniques to become better programmers. He explains how to join such events and what it takes to do your own Coderetreat.




at

SE-Radio-Episode-261:-David-Heinemeier-Hansson-on-the-State-of-Rails,-Monoliths,-and-More

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, and increasing complexity. David also talks about the downsides of building JavaScript-centric, “sophisticated” web UIs, and why he prefers well-structured, “majestic” monoliths to microservices.




at

SE-Radio-Episode-265-Pat-Kua-on-Becoming-a-Tech-Lead

Johannes Thönes talks to Patrick Kua about the role of a technical lead and how to become one. The show starts with introducing the concept of a lead and contrasts the lead role with other roles, such as technical manager, architect and senior developer.  The discussion continues to the responsibilities of a tech lead (supporting engineering practices, managing, resolving conflict, and growing people). The discussion continues on to talk about the challenges of becoming a tech lead and how to overcome them and closes with the question: “how can you tell if you are succeeding as a tech lead”?




at

SE-Radio-Episode-266:-Charles-Nutter-on-the-JVM-as-a-Language-Platform

Charles Nutter from the JRuby project talks to Charles Anderson about JRuby and the Java Virtual Machine (JVM) as a platform for implementing programming languages. They begin by discussing the Java platform beyond just the Java language. As a case study in implementing a language other than Java on the JVM, they discuss JRuby - what it is and how it’s implemented on the JVM. They discuss recent additions to the Java platform like the invoke-dynamic byte code and lambdas in Java 8. The conversation concludes by discussing the future of the Java language, platform, and virtual machine.




at

SE-Radio-Episode-273-Steve-McConnell-on-Software-Estimation

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: estimation, planning and monitoring a Scrum project from the beginning to a possible end. They close with estimation techniques in the large (counting, empirical data) and in the small (e.g. poker planning).




at

SE-Radio-Episode-275:-Josh-Doody-on-Salary-Negotiation-for-Software-Engineers

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 your more desirable as an employee.




at

SE-Radio Episode 277: Gil Tene on Tail Latency

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 a system? What is the difference between response time and service time? How does queuing within a system contribute to response time? Java garbage collection and its contribution to latency outliers. How can we build systems with bounded tail latency out of components with variable latency? What type of observability to do we need to build systems with bounded latency? How is latency a driver of capacity planning?




at

SE-Radio-Episode-281-James-Whittaker-on-Career-Strategy

Edaena Salinas talks with James Whittaker about Career Strategy in the technology field. James is a Distinguished Technical Evangelist at Microsoft and author of “How Google Tests Software” and the viral blog post “Why I left Google”. Topics include: Career Management, the role of mentors and managers in your career, a discussion on 1:1 meetings, job specialization and advice on when to switch jobs.




at

SE-Radio-Episode-286-Katie-Malone-Intro-to-Machine-Learning

Show host 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 is also an instructor of the Intro to Machine Learning online course from Udacity and host of Linear Digressions, a podcast about machine learning. Topics include: machine learning, data science, a career in machine learning.




at

SE-Radio Episode 289: James Turnbull on Declarative Programming with Terraform

James Turnbull joins Robert Blumen for a discussion of Terraform, an infrastructure-as-code tool, and a deep dive into how Terraform implements the declarative programming model.




at

SE-Radio Episode 295: Michael Feathers on Legacy Code

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 more testable.




at

SE-Radio Episode 300: Jonathan Stark on Mobile App Development

Nate Black talks with Jonathan Stark about 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.




at

SE-Radio Episode 305: Charlie Berger on Predictive Applications

Edaena Salinas talks with Charlie Berger about Predictive Applications. The discussion begins with an overview of how to build a Predictive Application and the role of Machine Learning. It then explores different Machine Learning algorithms that can be implemented natively in a database.




at

SE Radio Episode 308: Gregor Hohpe on It Architecture and IT Transformation

Bryan Reinero talks with Gregor Hohpe about IT Transformation, the process by which organizations adapt and reorganize themselves in response to evolution and how the Enterprise Architect leads that transformation.




at

SE-Radio-Episode-309-Zane-Lackey-on-Application-Security

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.




at

SE-Radio Episode 310: Kirk Pepperdine on Performance Optimization

Kirk Pepperdine talks with Diomidis Spinellis about performance optimization. Topics include development practices, tools, as well as the role of software architecture, programming languages, algorithms, and hardware advances.




at

SE-Radio Episode 315: Jeroen Janssens on Tools for Data Science

Felienne interviews Jeroen Janssens about data science, examining the basic concepts, as well as the skills and tools needed to be(come) a data scientist.




at

SE-Radio Episode 319: Nicole Hubbard on Migrating from VMs to Kubernetes

Edaena Salinas talks with Nicole Hubbard at KubeCon 2017. They discuss why WP engine is migrating from VMs to Kubernetes and how the migration is structured. Nicole explained the VM infrastructure at WP Engine and why there was a need to move...




at

SE-Radio Episode 320: Nate Taggart on Serverless Paradigm

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.




at

SE-Radio Episode 330: Natalie Silvanovich on Attack Surface Reduction

Natalie Silvanovich and Kim Carter discuss reducing the attack surface of the software that Engineers are creating today. Code sharing, third-party code, Developer workflow, and a collection of 0 day bugs are all discussed.




at

SE-Radio Episode 331: Kevin Goldsmith on Architecture and Organizational Design

Travis Kimmel and Kevin Goldsmith discuss 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 organizations can evolve existing architectures.




at

SE-Radio Episode 334: David Calavera on Zero-downtime Migrations and Rollbacks with Kubernetes

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 of defining errors in your system, and when to apply fixes vs rolling back. We also discuss their decision to move to Kubernetes, and the benefits they received.




at

SE-Radio Episode 335: Maria Gorlatova on Edge Computing

Edaena Salinas talks with Maria Gorlatova about Edge Computing. Maria Gorlatova is an Associate Research Scholar at Princeton University Department of Electrical Engineering. The discussion covers: IoT, edge computing, the architecture of edge computing, running a machine learning model on the edge, and the benefits of edge computing.




at

SE-Radio Episode 340: Lara Hogan and Deepa Subramaniam on Revitalizing a Cross-Functional Product Organization

Travis Kimmel talks with Lara Hogan and Deepa Subramaniam about evidence-based tactics that product and engineering leaders can use to can use to diagnose problems that are holding back their teams, and build healthier, high-performing organizations.




at

SE-Radio Episode 344: Pat Helland on Web Scale

Edaena Salinas talks with Pat Helland about Web Scale. Pat is a Principal Software Architect at Salesforce where he works on a cloud based multi-tenant database technology. The discussion covers: Datacenters and hardware, DevOps, developing at scale, stateless vs stateful services, preparing a system for failures and sql vs nosql databases.




at

Episode 351 - Bernd Rücker on Orchestrating Microservices with Workflow Management

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 modeling, correctness, and separation of concerns.   Rücker recommends a federated model in which each microservice is paired with its own workflow to handle retries and other policies and failure modes around that service.  Robert Blumen spoke with Rücker about microservice architecture, event-driven systems, long-running stateful processes versus synchronous request/response, event handling, time-outs, and handling exceptional conditions with compensating transactions. Rücker compares the choreography versus orchestration models for collaboration and discusses why orchestration provides a better separation of concerns.  The discussion delves into the implementation of workflow management systems including persistence, scaling, event handling, timers and scheduling, and similarities to CQRS.  The discussion wraps up with monitoring and visualization.




at

SE-Radio episode 352: Johanathan Nightingale on Scaling Engineering Management

Travis Kimmel talks with Johnathan Nightingale about scaling engineering management. Their discuss when to hire additional engineering managers and how to set them up for success, how leaders can prepare for “growing pains” as an organization scales,




at

SE-Radio Episode 353: Max Neunhoffer on Multi-model databases and ArangoDB

Max Neunhoffer of ArangoDB discusses about multi-model databases in general, and open source ArangoDB, in specific, with show host Nishant Suneja. The show discussion covers motivation behind deploying a multi-model database in an enterprise setting, and deep dives into ArangoDB internals.




at

SE-Radio Episode 355: Randy Shoup Scaling Technology and Organization

Randy Shoup talks with SE-Radio’s Travis Kimmel about how to scale technology and organizations together, so that an organization can move faster as they grow (and not slow down). Their discussion covers how to effectively scale culture, process...




at

SE-Radio Episode 358: Probabilistic Data Structure for Big Data Problems

Dr. 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 with host Robert Blumen.




at

SE-Radio Episode 359: Engineering Maturity with Jean-Denis Greze

How can you scale an engineering organization when you haven’t already experienced rapid growth? Jean-Denis Greze of Plaid explains how to proactively enhance team capabilities and readiness by “leveling up” through a maturity map.




at

SE-Radio Episode 362: Simon Riggs on Advanced Features of PostgreSQL

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.




at

363: Jonathan Boccara on Understanding Legacy Code

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.




at

364: Peter Zaitsev on Choosing the Right Open Source Database

Peter Zaitsev explains: avoiding vendor lock-in, judging what databases are bad at, why not to copy the big players, when to "go with the crowd", when to use cloud services vs. running your own infrastructure, and the role of containerization.




at

366: Test Automation with Arnon Axelrod

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 companie...




at

Episode 369: Derek Collison on Messaging Systems and NATS

Learn how to simplify your application architecture with the introduction of a messaging system. You'll hear how different messaging patterns can make your application more flexible, easier to maintain, and improve its performance.




at

Episode 370: Chris Richardson on Microservice Patterns

Chris Richardson of microservices.io and author of the book Microservice Patterns discuss microservice patterns which constitute a set of best practices and building-block solutions to problems inherent microservice architecture.