50 episodes

Deep-dive discussions with the smartest developers we know, explaining what they're working on, how they're trying to move the industry forward, and what we can learn from them.

You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.

Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.

Developer Voices Kris Jenkins

    • News
    • 5.0 • 11 Ratings

Deep-dive discussions with the smartest developers we know, explaining what they're working on, how they're trying to move the industry forward, and what we can learn from them.

You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.

Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.

    • video
    ByteWax: Rust's Research Meets Python's Practicalities (with Dan Herrera)

    ByteWax: Rust's Research Meets Python's Practicalities (with Dan Herrera)

    Bytewax is a curious stream processing tool that blends a Python surface with a Rust core to produce something that's in a similar vein to Kafka Streams or Apache Flink, but with a fundamentally different implementation. This week we're going to take a look at what it does, how it works in theory, and how the marriage of Python and Rust works in practice…



    The original Naiad Paper: https://dl.acm.org/doi/10.1145/2517349.2522738

    Timely Dataflow: https://github.com/TimelyDataflow/timely-dataflow

    Bytewax the Library: https://github.com/bytewax/bytewax

    Bytewax the Service: https://bytewax.io/

    PyO3, for calling Rust from Python: https://pyo3.rs/v0.21.2/

    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins

    --

    #softwaredevelopment #dataengineering #apachekafka #timelydataflow

    • 1 hr 1 min
    • video
    Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)

    Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)

    Mojo is the latest language from the creator of Swift and LLVM. It's an attempt to take some of the best techniques from CPU/GPU-level programming and package them up in a Python-compatible syntax.

    In this episode we explore why Mojo was created, and what it offers to Python programmers and non-Python programmers alike. How is it built for performance, and which performance features matter? What's its take on functional programming and type systems? And can it marry the high-level programming of Python with the low-level programming of LLVM/MLIR?

    If you're a Python programmer who needs better performance, a C programmer who expects more from a 'scripting language', or just someone who'd be happier if Python had a first-class type system, Mojo might well be for you…



    Mojo: https://www.modular.com/max/mojo

    Mojo's Roadmap: https://docs.modular.com/mojo/roadmap.html

    The Mojo Discord: https://discord.com/invite/modular

    MLIR: https://mlir.llvm.org/

    Chris's Talks: https://nondot.org/sabre/Resume.html#talks

    Chris on Twitter: https://twitter.com/clattner_llvm

    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins



    #software #podcast #mojolang #ml #pythonml

    • 1 hr 24 min
    • video
    Batch Data & Streaming Data in one Atom (with Jove Zhong)

    Batch Data & Streaming Data in one Atom (with Jove Zhong)

    Every database has to juggle the need to process new data and to query old data. That task falls to any system that "does stuff and remembers stuff". But it's quite hard to really optimise one system for both use cases. There are different constraints on new and old data, and as a system gets larger and larger, those differences multiply to breaking point. That's something Twitter's engineers were figuring out in the 2010s.

    One solution that came up in those years was the Lambda Architecture. A two-pronged approach that recognises the divide between new and old data, and works hard to blend the two together seamlessly in userspace. But that seamless blending is easier said than done. It's nearly all bespoke work.

    What if you could get it off the shelf? Let someone else do the work of combining two different kinds of database into one neat package? That's the question of the week as we look at the recently open-sourced project Proton, and its attempt to be the Lambda Architecture in a box…



    Proton Docs: https://docs.timeplus.com/proton

    Proton Source: https://github.com/timeplus-io/proton

    Timeplus: https://www.timeplus.com/

    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins



    #podcast #softwareengineering #databases #dataengineering 

    • 51 min
    • video
    Advanced Memory Management in Vale (with Evan Ovadia)

    Advanced Memory Management in Vale (with Evan Ovadia)

    Rust changed the discussion around memory management - this week's guest hopes to push that discussion even further.

    This week we're joined by Evan Ovadia, creator of the Vale programming language and collector of memory management techniques from far and wide. He takes us through his most important ones, including linear types, generation references and regions, to see what Evan hopes the future of memory management will look like.

    If you've been interested in Rust's borrow-check and want more (or want different!) then Evan has some big ideas for you to sink your teeth into.



    Vale: https://vale.dev/

    The Vale Discord: https://discord.com/invite/SNB8yGH

    Evan's Blog: https://verdagon.dev/home

    Evan's 7DRL Entry: https://verdagon.dev/blog/higher-raii-7drl

    7DRL: https://7drl.com/

    https://verdagon.dev/grimoire/grimoire

    What Colour Is Your Function?: https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/

    42, the language: https://forty2.is/

    Verona Language: https://www.microsoft.com/en-us/research/project/project-verona/

    Austral language: https://austral-lang.org/

    Surely You're Joking, Mr Feynman! (book): https://www.goodreads.com/book/show/35167685-surely-you-re-joking-mr-feynman



    Evan on Twitter: https://twitter.com/verdagon

    Find Evan in the Vale Discord: https://discord.com/invite/SNB8yGH



    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins



    #software #programming #podcast #valelang

    • 1 hr 9 min
    • video
    Bringing Pure Python to Apache Kafka (with Tomáš Neubauer)

    Bringing Pure Python to Apache Kafka (with Tomáš Neubauer)

    The "big data infrastructure" world is dominated by Java, but the data-analysis world is dominated by Python. So if you need to analyse and process huge amounts of data, chances are you're in for a less-than-ideal time. The impedance mismatch will probably make your life hard somehow. 

    So there are a lot of projects and companies trying to solve that problem. To bridge those two worlds seamlessly, and many of the popular solutions see SQL as the glue. But this week we're going to look at another solution - ignore Java, treat Kafka as a protocol, and build up all the infrastructure tools you need with a pure Python library. It's a lot of work, but in theory it would make Python the one language for data storage, analysis and processing, at scale. Tempting, but is it feasible? 

    Joining me to discuss the pros, cons, and massive scope of that approach is Tomáš Neubauer. He started off doing real time data analysis for the Maclaren's F1 team, and is now deep in the Python mines effectively rewriting Kafka Streams in Python. But how? How much work is actually involved in porting those ideas to Python-land, and how do you even get started? And perhaps most fundamental of all - even if you succeed, will that be enough to make the job easy, or will you still have to scale the mountain of teaching people how to use the new tools you've built? Let's find out.

    – 

    Quix Streams on Github: https://github.com/quixio/quix-streams

    Quix Streams getting started guide: https://quix.io/get-started-with-quix-streams

    Quix: https://quix.io/ 

    Tomáš on LinkedIn: https://www.linkedin.com/in/tom%C3%A1%C5%A1-neubauer-a10bb144

    Tomáš on Twitter: https://twitter.com/TomasNeubauer0

    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins  

    --

    #podcast #softwaredevelopment #datascience #apachekafka #streamprocessing

    • 1 hr 6 min
    • video
    Taking Erlang to OCaml 5 (with Leandro Ostera)

    Taking Erlang to OCaml 5 (with Leandro Ostera)

    Erlang wears three hats - it's a language, it's a platform, and it's an approach to making software run reliably once it's in production. Those last two are so interesting I sometimes wonder why those ideas haven't been ported to every language going.  How much work would it be?

    This week we're going to dig right down into that question with Leandro Ostera. He's been working on Riot - a project to bring the best of Erlang's runtime system and philosophy to OCaml. But why OCaml? Is it possible to marry together OCaml's type system with Erlang's dynamic dispatch systems? And what is it about the recent release of OCaml5 that makes the whole project easier?



    Leandro's Blog: https://www.abstractmachines.dev/

    Why Typing Erlang is Hard: https://www.abstractmachines.dev/posts/am012-why-typing-erlang-is-hard/

    Riot: https://riot.ml/

    Riot source: https://github.com/riot-ml/riot

    ReasonML: https://reasonml.github.io/

    ReScript: https://rescript-lang.org/

    Leandro on Twitter: https://twitter.com/leostera

    Kris on Mastodon: http://mastodon.social/@krisajenkins

    Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

    Kris on Twitter: https://twitter.com/krisajenkins

    --

    #podcast #softwaredevelopment #erlang #ocaml #softwaredesign

    • 1 hr 3 min

Customer Reviews

5.0 out of 5
11 Ratings

11 Ratings

Nick_Latcham ,

Simply the best!

This podcast is a hidden gem, and my new favorite by a long shot! Kris is an incredible interviewer with vast knowledge on the topics. Can’t wait for more!

jlindev ,

Excellent interviewer

Developer Voices is one of the best podcasts about software development that I’ve listened to, and I’ve listened to quite a few. Kris Jenkins is an excellent podcast host. His insightful questions demonstrate his thorough knowledge of tech, and his interviews with his guests are well structured yet friendly. Highly recommended!

Top Podcasts In News

The Daily
The New York Times
Up First
NPR
Serial
Serial Productions & The New York Times
The Ben Shapiro Show
The Daily Wire
Pod Save America
Crooked Media
The Megyn Kelly Show
SiriusXM

You Might Also Like

CoRecursive: Coding Stories
Adam Gordon Bell - Software Developer
Oxide and Friends
Oxide Computer Company
The Changelog: Software Development, Open Source
Changelog Media
Go Time: Golang, Software Engineering
Changelog Media
Software Engineering Radio - the podcast for professional software developers
se-radio@computer.org
JS Party: JavaScript, CSS, Web Development
Changelog Media