Elixir Wizards is an interview-format podcast, focused on engineers who use the Elixir programming language. Initially launched in early 2019, each season focuses on a specific topic or topics, with each interview focusing on the guest's experience and opinions on the topic. Elixir Wizards is hosted by Eric Oestrich and Sundi Myint of SmartLogic, a dev shop that’s been building custom software since 2005 and running Elixir applications in production since 2015. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)
John Mertens on Adopting Elixir at Change.org
Many organizations take an incremental approach when adopting Elixir, preferring to pick up its nuances by using it to work on non-essential projects. But not Change.org. Today we speak with Change.org Director of Engineering John Mertens about how his company adopted Elixir to create a business-critical app that handles over a billion emails per month. From building webpages on GeoCities to working as an IT intern at an Iowan prison, we open our conversation by exploring John’s coding background. After chatting about his first Elixir project, we dive into Change.org’s process in adopting Elixir. As John shares his insights into successfully integrating Elixir into your tech stack, he highlights the benefits provided by the language. Later, John discusses the advantages of event-driven architecture and how this structure makes it easier for teams to access and analyze data, while also making it easier to add product features. We wrap up this episode with John highlighting his user-centered approach to coding. Join us to hear John’s lessons on making the leap and adopting Elixir in large organizations.
Key Points From This Episode:
- John shares details about his role at Change.org.
- The story behind John and Change’s Elixir adoption.
- Hear about John’s coding journey.
- How John made an Elixir app based on spotting San Francisco tram carriages.
- Insights into the massive project that Change built using Elixir.
- Why Elixir is taking over Change’s back-end tech stack.
- Using Elixir to build reliable event-based architecture.
- Exploring event-driven architecture from the perspective of Change’s system.
- John makes a compelling case for event-driven architecture.
- How Change hires for Elixir roles.
- Change’s process in training their staff to code in Elixir.
- John talks about his user-centred approach to design.
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Elixir Wizards Discord — https://smr.tl/wizards-discord
Elixir Wizards Email — podcast@smartlogic.io
John Mertens — https://www.mertonium.com/about
John Mertens on Twitter — https://twitter.com/mertonium
John Mertens on GitHub — https://github.com/mertonium
Change.org — https://www.change.org/
Change.org Careers — https://careers.change.org/
José Valim — https://twitter.com/josevalim
GenStage and Flow - José Valim (Lambda Days 2017) — https://www.youtube.com/watch?v=XPlXNUXmcgE
Dashbit — https://dashbit.co/
Hacker News — https://thehackernews.com/
Paul Graham — https://twitter.com/paulg/
Nim — https://nim-lang.org/
Pony — https://www.ponylang.io/
Grax.io — https://www.grax.com/
Logo — https://el.media.mit.edu/logo-foundation/what_is_logo/logo_programming.html
Nerves — https://www.nerves-project.org/
Flow — https://hexdocs.pm/flow/Flow.html
ElixirConf EU — https://www.elixirconf.eu/
Martin Fowler — https://martinfowler.com/
‘The Log: What every software engineer should know about real-time data's unifying abstraction’ — https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying
Salesforce Marketing Cloud — https://www.salesforce.com/eu/products/marketing-cloud/overview/
‘Delivering social change with Elixir at Change.org’ — https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/
Code for America — https://www.codeforamerica.org/
Special Guest: John Mertens.