
Software Engineering Radio - the podcast for professional software developers
Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. SE Radio 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 brought to you by the IEEE Computer Society and IEEE Software magazine.
Latest episodes

Nov 22, 2016 • 1h 5min
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.

Nov 8, 2016 • 1h 1min
SE-Radio-Episode-274-Sam-Aaron-on-Sonic-Pi
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.

Nov 1, 2016 • 1h 7min
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).

Oct 25, 2016 • 58min
SE-Radio Episode 272: Frances Perry on Apache Beam
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 underlying execution engine, similar to how SQL provides a unified language for databases. This seeks to solve the churn and repeated work that has occurred in the rapidly evolving stream processing ecosystem.

Oct 11, 2016 • 53min
SE-Radio Episode 271: Idit Levine on Unikernelsl
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.

Oct 4, 2016 • 52min
SE-Radio Episode 270: Brian Brazil on Prometheus Monitoring
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 discuss the tradeoffs of choosing not to replicate our monitoring data. In some situations, the monitoring system will lose data because of this decision. Other topics that are discussed are distributed consensus tools, integrations with Prometheus, and the broader topic of monitoring itself.

Sep 27, 2016 • 52min
SE-Radio-Episode-269-Phillip-Carter-on-F#
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.

Sep 13, 2016 • 60min
SE-Radio Episode 268: Kief Morris on Infrastructure as Code
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.

Sep 6, 2016 • 53min
SE-Radio-Episode-267-Jürgen-Höller-on-Reactive-Spring-and-Spring-5.0
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.

Aug 16, 2016 • 58min
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.