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.

Om Podcasten

Elixir Wizards is an interview-style podcast for anyone interested in functional programming and the Elixir Programming Language. Hosted by SmartLogic engineers and Elixirists Owen Bickford, Dan Ivovich, and Sundi Myint, this show features in-depth discussions with some of the brightest minds in the industry, discussing training and documentation in Phoenix LiveView, the evolution of programming languages, Erlang VM, and more. In the current season, we're branching out from Elixir to compare notes with thought leaders and software engineers from programming languages like JavaScript, Ruby on Rails, Go, Scala, Java, and more. Each episode will take a deep dive into a topic from Machine Learning and AI, to ECS and game development, to education and community. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)