Software Engineering Radio - The Podcast for Professional Software Developers artwork

Software Engineering Radio - The Podcast for Professional Software Developers

708 episodes - English - Latest episode: 12 days ago - ★★★★ - 210 ratings

Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every 10 days, a new episode is published that covers all topics software engineering. Episodes are either tutorials on a specific topic, or an interview with a well-known character from the software engineering world. All SE Radio episodes are original content — we do not record conferences or talks given in other venues. Each episode comprises two speakers to ensure a lively listening experience. SE Radio is an independent and non-commercial organization. All content is licensed under the Creative Commons 2.5 license.

Technology Education How To software engineering development programming architecture concurrency testing embedded systems enterprise
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

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

November 22, 2016 19:48

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

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

November 22, 2016 19:25 - 1 hour - 89.5 MB

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.

SE-Radio Episode 274: Sam Aaron on Sonic Pi

November 08, 2016 18:33

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

SE-Radio-Episode-274-Sam-Aaron-on-Sonic-Pi

November 08, 2016 18:11 - 1 hour - 83.8 MB

Felienne talks with Sam Aaron on Sonic Pi about how he designed Sonic Pi, a language, both for professional musicians performing with code as well as for schoolchildren.

SE-Radio Episode 273: Steve McConnell on Software Estimation

November 01, 2016 19:49

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

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

November 01, 2016 19:41 - 1 hour - 92.1 MB

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 (cou...

SE-Radio Episode 272: Frances Perry on Apache Beam

October 25, 2016 18:41 - 57 minutes - 79.2 MB

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 other methods discussed between Jeff and Frances. Apache Beam defines a way for users to define their pipelines in a way that is agnostic of the un...

SE-Radio Episode 271: Idit Levine on Unikernels

October 11, 2016 16:44

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

SE-Radio Episode 271: Idit Levine on Unikernelsl

October 11, 2016 16:31 - 52 minutes - 72.6 MB

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 include the the Linux kernel, requirements for a cloud operating system, and how unikernels compare to Docker containers.

SE-Radio Episode 270: Brian Brazil on Prometheus Monitoring

October 04, 2016 21:32 - 51 minutes - 71.3 MB

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 is based off of the Borgmon monitoring tool, widely used at Google, where Brian previously worked. Jeff and Brian discus...

SE-Radio Episode 269: Phillip Carter on F#

September 27, 2016 18:13

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

SE-Radio-Episode-269-Phillip-Carter-on-F#

September 27, 2016 17:36 - 52 minutes - 71.6 MB

Eberhard Wolff talks with Phillip Carter about F# - a multi-paradigm programming language supporting object-oriented, imperative, and functional programming paradimgs. Its unique features make it especially fit for parallel programming or DSLs.

SE-Radio Episode 268: Kief Morris on Infrastructure as Code

September 13, 2016 17:06 - 59 minutes - 82.3 MB

Kief Morris talks to Sven Johann about Infrastructure as Code and why it is important in the “Cloud Age”. Kief talks about the practices and benefits and why you should treat your servers as cattles, not pets.

SE-Radio Episode 267: Jürgen Höller on Reactive Spring and Spring 5.0

September 06, 2016 17:49

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

SE-Radio-Episode-267-Jürgen-Höller-on-Reactive-Spring-and-Spring-5.0

September 06, 2016 17:37 - 53 minutes - 73.2 MB

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.

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

August 16, 2016 20:25

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

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

August 16, 2016 20:06 - 58 minutes - 79.9 MB

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

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

August 09, 2016 06:00

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

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

August 05, 2016 21:52 - 1 hour - 84.5 MB

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

SE-Radio Episode 264: James Phillips on Service Discovery

August 02, 2016 23:35 - 55 minutes - 76.2 MB

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 and how reliability is achieved as a distributed system. Finally, James discusses Consul, the functions it provides, and how to integrate it with e...

SE-Radio Episode 263: Camille Fournier on Real-World Distributed Systems

July 25, 2016 16:34

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

Camille Fournier on Real-World Distributed Systems

July 19, 2016 17:24 - 59 minutes - 81.6 MB

Stefan Tilkov talks to Camille Fournier about the challenges developers face when building distributed systems, whether the can avoid building them at all, and what changes occur once they do.

SE Radio Episode 262: Software Quality with Bill Curtis

July 12, 2016 16:36

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

SE-Radio Episode 262: Software Quality with Bill Curtis

July 12, 2016 16:23 - 1 hour - 93.7 MB

Sven Johann talks with Bill Curtis about Software Quality. They discuss examples of failed systems like Obama Care; the role of architecture; move an org from chaos to innovation; relation between Lean, quality improvement and CMM; Team Software Process.

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

June 28, 2016 21:21

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

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

June 28, 2016 21:12 - 1 hour - 86.6 MB

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

SE-Radio Episode 260: Haoyuan Li on Alluxio

June 14, 2016 20:25 - 44 minutes - 61 MB

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 system enabling data sharing across clusters at memory speed. Alluxio was formerly known as Tachyon. Haoyuan is the creator...

SE-Radio Episode 259: John Purrier on OpenStack

June 07, 2016 20:28

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

SE-Radio-Episode-259:-John-Purrier-on-OpenStack

June 07, 2016 20:07 - 56 minutes - 77.2 MB

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.

SE-Radio Episode 258: Cody Voellinger on Recruiting Software Engineers

May 24, 2016 18:28 - 59 minutes - 82 MB

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 market from both sides: how companies define what they want, find the right people, and evaluate candidates, and how job seekers can positi...

SE-Radio Episode 257: Michael Nygard on Clojure in Practice

May 17, 2016 18:07 - 57 minutes - 79 MB

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 typical web development projects as examples. Finally, the two discuss how well Clojure can be used in the f...

SE-Radio Episode 255: Monica Beckwith on Java Garbage Collection

April 26, 2016 20:15

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

SE-Radio-Episode-255:-Monica-Beckwith-on-Java-Garbage-Collection

April 26, 2016 19:56 - 52 minutes - 72.4 MB

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 languages?; going off heap and other programming techniques to avoid garbage; the future of java GC.

SE-Radio Episode 254: Mike Barker on the LMAX Architecture

April 11, 2016 21:39 - 1 hour - 110 MB

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 system (broker and exchange); Mechanical Sympathy as an architectural driver; message flow using the Disruptor library; and lock-free algorith...

SE-Radio Episode 253: Fred George on Developer Anarchy

March 24, 2016 17:51

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

SE-Radio-Episode-253-Fred-George-on-Developer-Anarchy

March 23, 2016 23:57 - 55 minutes - 127 MB

Fred George talks with Eberhard about "Developer Anarchy" - a manager-less development approach Fred has been using very successfully in different organizations - combined with microservices.

SE-Radio Episode 252: Christopher Meiklejohn on CRDTs

March 15, 2016 19:32 - 55 minutes - 75.6 MB

Robert Blumen talks to Christopher Meiklejohn about conflict-free replicated data types. The discussion covers consistency in distributed systems, CRDTs, and their use in NoSQL databases.

SE-Radio Episode 252: Christopher Meiklejohn on CRDTs

March 15, 2016 19:32 - 75.6 MB

Robert Blumen talks to Christopher Meiklejohn about conflict-free replicated data types. The discussion covers consistency in distributed systems, CRDTs, and their use in NoSQL databases.

SE-Radio Episode 251: Martin Klose on Code Retreats

March 03, 2016 00:49 - 52 minutes - 120 MB

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.

SE-Radio Episode 250: Jürgen Laartz and Alexander Budzier on Why Large IT Projects Fail

February 22, 2016 21:50

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

SE-Radio Epislode 250: Jürgen Laartz and Alexander Budzier on Why Large IT Projects Fail

February 22, 2016 21:38 - 43 minutes - 99.3 MB

Alex Budzier of the Oxford Saïd Business School and Jürgen Laartz of McKinsey Berlin join Robert Blumen to talk about the their research on large IT project failures. Why do large projects fail and to what extent are these failures avoidable?

SE Radio Episode 249: Vaughn Vernon on Reactive Programming with the Actor Model

February 11, 2016 22:04

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

SE-Radio Episode 248: Axel Rauschmayer on JavaScript and ECMAScript 6

January 28, 2016 17:56 - 1 hour - 145 MB

Johannes Thönes talks to Axel Rauschmayer about JavaScript and ECMAScript 6. They talk about the origin and version history. Then they dive into key JavaScript concepts and explain the features coming into the language with ECMAScript 6.

SE-Radio Episode 247: Andrew Phillips on DevOps

January 20, 2016 17:26 - 1 hour - 148 MB

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 developers have pager duty. They continue with the diversity of DevOps requirements among companies and industries; copying ideas versus finding your own way; culture, minds...

SE-Radio Episode 246: John Wilkes on Borg and Kubernetes

January 07, 2016 20:53

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

SE-Radio-Show-246:-John-Wilkes-on-Borg-and-Kubernetes

January 07, 2016 20:43 - 57 minutes - 78.8 MB

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 Borg, Mesos, and Omega

SE Radio Episode 245: John Sonmez on Marketing Yourself and Managing Your Career

December 28, 2015 22:18

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

Guests

Dave Thomas
3 Episodes
Martin Fowler
2 Episodes
David Anderson
1 Episode
Erich Gamma
1 Episode
Grady Booch
1 Episode
Kent Beck
1 Episode

Twitter Mentions

@kjameslubin 1 Episode
@headius 1 Episode