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)

Lizzie Paquette on Compiling, Microliths, and Macros

September 24, 2020 48:24 34.86 MB Downloads: 0

Imagine being hired into a rocketship startup using Elixir as its primary language. And all this, straight out of college. Today, we speak with systems software engineer, Lizzie Paquette who works at Brex, the aforementioned rocketship. We start our conversation by talking about how Lizzie got into coding relatively late in her life, partly due to an ill-fated run-in with Java. She shares details about her role at Brex and how the company has evolved. With a love of compilers, Lizzie dives into what beginners can do to get into compiling before chatting about her top underrated Elixir resources. Following this topic, Lizzie discusses her experience liberally implementing macros at Brex — something that ended up being detrimental when onboarding new hires. After sharing how she develops herself as a professional and coder, Lizzie talks about her involvement in Code 2040, a career accelerator and mentorship program.

Reflecting this season’s theme, we ask for Lizzie’s take on what architecture, design, and domain-driven design means to her. She then reveals her coding process and emphasizes the value of creating thorough design docs to avoid bugs. We explore Brex’s architecture, how it makes use of microliths, and applying ‘chaos engineering’ — a monkey-wrench approach to testing your system. We touch on umbrella apps and lessons that Lizzie’s learned from working with Brex’s architecture.

After closing our discussion with Lizzie, we open with another edition Pattern Matching with Todd Resudek and special guest Sophie DeBenedetto from GitHub. Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her. Tune in to hear Sophie’s insights, along with more on microliths and macros from Lizzie Paquette.

Key Points From This Episode:

  • Lizzie shares how she got into coding and her start in the industry.
  • Hear about Lizzie’s role at Brex, a rocketship startup and key member of the Elixir community.
  • How novices should approach learning how to code compilers.
  • Underrated Elixir resources that Lizzie makes the most out of.
  • The double-edged sword; why macros are an incredible yet dangerous tool.
  • How Lizzie develops herself as a professional and a coder.
  • Boosting inclusivity in the software industry through programs like Code 2040.
  • Lizzie’s take on what architecture, design, and domain-driven design mean.
  • The value of design docs in catching bugs and laying out a clear process.
  • Microliths, microservices, and the nitty-gritty of Brex’s architecture.
  • Exploring ‘chaos engineering’; testing your system by purposefully creating problems.
  • Lizzie’s pain points when either using or not using umbrella apps.
  • What Lizzie would do if she could rewrite Brex’s architecture from scratch.
  • Using Brex.result to streamline code and handle common return values.

  • For this edition of Pattern Matching, Todd Resudek interviews Sophie DeBenedetto.

  • Sophie’s journey from liberal arts to learning software at a code boot camp.

  • Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her.

Links Mentioned in Today’s Episode:

SmartLogic — https://smartlogic.io/
Lizzie Paquette on LinkedIn — https://www.linkedin.com/in/lizzie-paquette/
Lizzie Paquette on GitHub — https://github.com/lizziepaquette
Brex — https://www.brex.com/
Eric Meadows Jonssön — https://twitter.com/emjii
Haskell — https://www.haskell.org/
Columbia University — https://www.columbia.edu/
Clash — https://clash-lang.org/
Framer — https://www.framer.com/
Elixir Protobuf on GitHub — https://github.com/brexhq/protobuf-elixir
Tony612 on GitHub — https://github.com/tony612
Elixir Syntax Reference — https://hexdocs.pm/elixir/syntax-reference.html
Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!) — https://www.amazon.com/Metaprogramming-Elixir-Write-Less-Code/dp/1680500414
Macros in Elixir: Responsible Code Generation — https://www.youtube.com/watch?v=55-X7rSw8M0
Code 2040 — http://www.code2040.org/
Erlpack — https://github.com/discord/erlpack
Principles of Chaos Engineering — https://principlesofchaos.org/?lang=ENcontent
REST Fest 2019 | Lorinda Brandon — https://vimeo.com/364373007
‘Building a rewards platform from scratch’ — https://medium.com/brexeng/building-a-rewards-platform-from-scratch-ff4e22124658
Brex.result on GitHub— https://github.com/brexhq/result
RabbitMQ — https://www.rabbitmq.com/
Netflix Chaos Monkey on GitHub — https://github.com/Netflix/chaosmonkey
Mark Erickson — https://brainlid.org/
Johanna Larsson — https://blog.jola.dev/
Todd Resudek — https://twitter.com/sprsmpl
Sophie DeBenedetto — http://sophiedebenedetto.nyc/
Elixir School — https://elixirschool.com/en/
GitHub — https://github.com/
Flatiron School — https://flatironschool.com/
Barnard College — https://barnard.edu/
Law and Order — https://www.imdb.com/title/tt0098844/
Spotify — https://www.spotify.com/
Celine Dion — https://www.celinedion.com/
Hill Street Blues — https://www.imdb.com/title/tt0081873/
Perry Mason — https://en.wikipedia.org/wiki/Perry_Mason
Matlock — https://www.imdb.com/title/tt0090481/
Telemetry on GitHub — https://github.com/beam-telemetry/telemetry
Phoenix LiveView on GitHub — https://github.com/phoenixframework/phoenix_live_view

Special Guest: Lizzie Paquette.