Elixir Wizards

Matt Nowack and Jake Heinz on Elixir and Discord; Bonus: Arthi Radhakrishnan, Community.com


Listen Later

In this episode we continue our conversation about adopting Elixir, this time with Matt Nowack and Jake Heinz from Discord, hearing them get into the features of Elixir that make it a great fit for building a real-time chat infrastructure system! We also invite Arthi Radhakrishnan from community.com for our mini-interview in the last chunk of the episode. Our chat begins with Jake and Matt telling Elixir developers exactly why they should not use Mnesia. They subsequently dive into their journeys in programming and the process of learning Elixir after joining Discord. They share a few aha-moments as well as challenging projects that asked them to get their heads around some of the more powerful features of Elixir, highlighting a way they used immutability for a project that asked them to efficiently calculate deltas for large member list updates. From there we get into the culture around onboarding new devs at Discord, the company’s popular open-source Elixir contributions, and some brags about the high performance of features of Discord built in Elixir. Wrapping up with Jake and Matt, we hear their suggestions for teams and devs hoping to adopt Elixir, where they strongly advise on learning OTP as well as Elixir’s standard library. After that, it’s time for our chat with Arthi, where we hear about her programming journey, how Elixir is being put to use at Community.com, how the company supports new devs learning Elixir, and more!

Key Points From This Episode:

  • Our guests’ thoughts on why Elixir developers shouldn’t use the database driver Mnesia.
  • How Jake and Matt got into programming and learned Elixir after joining Discord.
  • The history of the use of Elixir at Discord and some of the projects Jake helped build since.
  • The nuts and bolts of OTP; Jake’s experiences learning it along with Elixir at Discord.
  • Different projects Matt worked on after joining Discord and how they helped him learn Elixir.
  • Aha moments of learning Elixir; features of the language that acted as force multipliers in the development of different Discord projects.
  • Processes at Discord for helping new developers learn Elixir.
  • Open-source contributions from Discord to the Elixir community and the culture around this at Discord.
  • Issues around logging and memory allocation in Elixir and what our guests think could change.
  • The sheer power Elixir brought to the Discord project allowing rapid scale with a small team.
  • Jake weighs in on the strengths of Python, Rust and Elixir, as well as BEAM processes versus Goroutines.
  • Discord as a native Electron app and whether we will see it written in Rust.
  • Advice regarding adopting Elixir about the power of OTP and the standard library.
  • Introducing Arthi Radhakrishnan for our mini-interview at the end of the show.
  • Previous languages Arthi worked in and how she learned Elixir after joining community.com.
  • The fan chat service offered at community.com and some famous users.
  • Features of the community.com architecture built in Elixir.
  • The size of the team, the culture of hiring Elixir devs, and Arthi’s onboarding process at Community.com.
  • Links Mentioned in Today’s Episode:

    SmartLogic — https://smartlogic.io/

    Matt Nowack on GitHub — https://github.com/ihumanable
    Mat Nowack on Twitter — https://twitter.com/ihumanable?lang=en
    Jake Heinz on GitHub — https://github.com/jhgg
    Apply for a Position at Discord — https://discord.com/jobs
    Stanislav Vishnevskiy on LinkedIn — https://www.linkedin.com/in/svishnevskiy/
    ZenMonitor — https://github.com/discord/zen_monitor
    SortedSet Nif — https://github.com/discord/sorted_set_nif
    The BEAM Book — https://github.com/happi/theBeamBook
    Semaphore — https://github.com/discord/semaphore
    ExHashRing — https://github.com/discord/ex_hash_ring
    erts_alloc Documentation — https://erlang.org/doc/man/erts_alloc.html
    Arthi Radhakrishnan on LinkedIn — https://www.linkedin.com/in/arthiradhakrishnan/
    Community.com
    Andrea Leopardi on LinkedIn — https://www.linkedin.com/in/anleopardi/?originalSubdomain=it

    Special Guests: Jake Heinz and Matt Nowack.

    ...more
    View all episodesView all episodes
    Download on the App Store

    Elixir WizardsBy SmartLogic LLC

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    22 ratings


    More shows like Elixir Wizards

    View all
    Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

    Software Engineering Radio - the podcast for professional software developers

    272 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    283 Listeners

    Startups For the Rest of Us by Rob Walling

    Startups For the Rest of Us

    693 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    625 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    983 Listeners

    REWORK by 37signals

    REWORK

    211 Listeners

    CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

    CoRecursive: Coding Stories

    189 Listeners

    Elixir Mix by Charles M Wood

    Elixir Mix

    13 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    64 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    32 Listeners

    Beam Radio by Lars Wikman

    Beam Radio

    11 Listeners

    Software Unscripted by Richard Feldman

    Software Unscripted

    26 Listeners

    Oxide and Friends by Oxide Computer Company

    Oxide and Friends

    47 Listeners

    Elixir Mentor by Jacob Luetzow

    Elixir Mentor

    2 Listeners

    Elixir Friends by German Velasco

    Elixir Friends

    0 Listeners