Resources

Looking for Elixir learning materials? This curated collection covers official documentation, books, courses, community resources, and tools for mastering Elixir.

Official Documentation

Elixir Language

Elixir Official Website

  • URL: https://elixir-lang.org/
  • Content: Getting started guides, installation, language overview
  • Best for: Absolute beginners, installation reference

Elixir Documentation (hexdocs.pm)

  • URL: https://hexdocs.pm/elixir/
  • Content: Complete standard library API documentation
  • Modules: Kernel, Enum, Stream, String, Map, List, Process, GenServer, Supervisor, Task, Agent
  • Best for: API reference while coding

Elixir School

  • URL: https://elixirschool.com/
  • Content: Free comprehensive lessons from basics to advanced
  • Languages: 30+ languages including English, Indonesian, Spanish, Japanese
  • Best for: Structured learning path with examples

Elixir Getting Started Guide

Phoenix Framework

Phoenix Framework Documentation

  • URL: https://hexdocs.pm/phoenix/
  • Content: Complete Phoenix guides and API reference
  • Covers: Routing, controllers, views, LiveView, channels, Ecto, testing, deployment
  • Best for: Web development with Phoenix

Phoenix LiveView

Ecto

Ecto Documentation

  • URL: https://hexdocs.pm/ecto/
  • Content: Database wrapper and query DSL
  • Covers: Schemas, changesets, queries, migrations, associations, multi-tenancy
  • Best for: Database integration

Mix and Tools

Mix Documentation

  • URL: https://hexdocs.pm/mix/
  • Content: Build tool for Elixir projects
  • Covers: Project creation, compilation, testing, dependencies, releases
  • Best for: Project management reference

ExUnit Documentation

Books

Beginner Level

Programming Elixir ≥ 1.6 by Dave Thomas

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680502992
  • Focus: Language fundamentals, functional programming, OTP basics
  • Best for: Programmers new to Elixir and functional programming
  • Highlights: Clear explanations, progressive difficulty, practical examples

Elixir in Action (3rd Edition) by Saša Jurić

  • Publisher: Manning Publications
  • ISBN: 978-1617295027
  • Focus: Practical Elixir with real-world projects
  • Best for: Learning by building complete applications
  • Highlights: Concurrent systems, OTP patterns, production deployment

Adopting Elixir by Ben Marx, José Valim, Bruce Tate

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680502527
  • Focus: Team adoption, production practices, organizational change
  • Best for: Teams transitioning to Elixir
  • Highlights: Written by Elixir creator José Valim

Intermediate Level

Designing Elixir Systems with OTP by James Edward Gray II, Bruce Tate

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680506617
  • Focus: OTP design patterns, fault-tolerant systems
  • Best for: Building production-grade OTP applications
  • Highlights: Supervision strategies, process design, distributed systems

Programming Phoenix ≥ 1.4 by Chris McCord, Bruce Tate, José Valim

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680502268
  • Focus: Phoenix framework for web development
  • Best for: Building web applications with Phoenix
  • Highlights: LiveView, channels, Ecto, real-time features

The Little Elixir & OTP Guidebook by Benjamin Tan Wei Hao

  • Publisher: Manning Publications
  • ISBN: 978-1633430112
  • Focus: Concurrency and OTP patterns
  • Best for: Understanding processes and OTP deeply
  • Highlights: Hands-on exercises, clear diagrams

Advanced Level

Metaprogramming Elixir by Chris McCord

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680500417
  • Focus: Macros, AST manipulation, DSL creation
  • Best for: Building libraries and frameworks
  • Highlights: Advanced macro techniques, compile-time code generation

Concurrent Data Processing in Elixir by Svilen Gospodinov

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680508192
  • Focus: GenStage, Flow, Broadway for data pipelines
  • Best for: Building scalable data processing systems
  • Highlights: Back-pressure, parallel processing, distributed pipelines

Property-Based Testing with PropEr, Erlang, and Elixir by Fred Hebert

  • Publisher: Pragmatic Programmers
  • ISBN: 978-1680506211
  • Focus: Advanced testing with property-based techniques
  • Best for: Improving test coverage and finding edge cases
  • Highlights: PropEr library, generative testing, state machines

Online Courses

Free Courses

Exercism Elixir Track

  • URL: https://exercism.org/tracks/elixir
  • Format: Interactive exercises with mentor feedback
  • Content: 95+ exercises from basics to advanced
  • Best for: Practice with personalized feedback

Elixir School

  • URL: https://elixirschool.com/
  • Format: Text-based lessons
  • Content: Comprehensive curriculum from basics to advanced topics
  • Best for: Self-paced structured learning

Elixir Casts (Free Episodes)

  • URL: https://elixircasts.io/
  • Format: Video screencasts
  • Content: Selected free episodes on various topics
  • Best for: Visual learners

Paid Courses

The Complete Elixir and Phoenix Bootcamp (Udemy)

  • Instructor: Stephen Grider
  • Platform: Udemy
  • Content: Full-stack development with Elixir and Phoenix
  • Best for: Bootcamp-style learning with projects

Pragmatic Studio Elixir/OTP Course

  • URL: https://pragmaticstudio.com/elixir
  • Instructors: Mike and Nicole Clark
  • Content: Building OTP applications from scratch
  • Best for: Hands-on OTP learning with video instruction

LearnPhoenix.tv

Alchemist Camp

  • URL: https://alchemist.camp/
  • Content: Mix of free and paid Elixir tutorials
  • Best for: Practical project-based learning

Community Resources

Forums and Q&A

Elixir Forum

  • URL: https://elixirforum.com/
  • Activity: Very active, official community forum
  • Best for: Questions, discussions, announcements
  • Sections: Learning resources, projects, libraries, jobs

Stack Overflow (Elixir Tag)

Reddit /r/elixir

Chat Communities

Elixir Discord

  • Server: Unofficial Elixir Discord
  • Channels: Help, general, Phoenix, LiveView, learning
  • Best for: Real-time community interaction

Functional Programming Slack

  • Channels: #elixir, #erlang, #phoenix
  • Best for: Broader functional programming discussions

Newsletters

Elixir Weekly

  • URL: https://elixirweekly.net/
  • Frequency: Weekly
  • Content: News, articles, libraries, jobs, events
  • Best for: Staying updated on Elixir ecosystem

ElixirDigest

  • URL: https://elixirdigest.net/
  • Frequency: Bi-weekly
  • Content: Curated Elixir resources and articles
  • Best for: High-quality content curation

Phoenix Phrenzy

  • URL: Newsletter focused on Phoenix updates
  • Content: Phoenix framework news and tutorials

Podcasts

Elixir Outlaws

  • URL: https://elixiroutlaws.com/
  • Format: Conversational podcast about Elixir development
  • Best for: Learning from experienced developers

Thinking Elixir

Elixir Wizards

Conferences and Events

Major Conferences

ElixirConf (US)

  • URL: https://elixirconf.com/
  • Location: United States (varies by year)
  • Frequency: Annual (typically August/September)
  • Content: Talks, workshops, networking
  • Best for: North American community, latest trends

ElixirConf EU

  • URL: https://www.elixirconf.eu/
  • Location: Europe (varies by year)
  • Frequency: Annual (typically April/May)
  • Content: Technical talks, community events
  • Best for: European community

Code BEAM

  • URL: https://codesync.global/conferences/
  • Locations: Americas, Europe, Asia
  • Frequency: Multiple events per year
  • Content: Elixir, Erlang, BEAM ecosystem
  • Best for: Deep technical content, Erlang integration

GigCity Elixir

  • Location: Chattanooga, Tennessee
  • Frequency: Annual
  • Focus: Community-driven conference

Lonestar Elixir

  • Location: Austin, Texas
  • Frequency: Annual
  • Focus: Regional Elixir community

Meetups

Local Elixir Meetups

  • Platform: Meetup.com
  • Global coverage: Major cities worldwide
  • Best for: Local networking, presentations, workshops

Virtual Meetups

  • Platform: Elixir Forum, Discord, Slack
  • Frequency: Various groups
  • Best for: Remote participation

Video Resources

YouTube Channels

Elixir Official Channel

  • URL: ElixirConf talks
  • Content: Conference talks from ElixirConf
  • Best for: Learning from experts

Code BEAM Channel

  • URL: Code BEAM talks
  • Content: BEAM ecosystem talks (Elixir + Erlang)

Pragmatic Studio

  • Content: Free Elixir tutorial videos
  • Best for: Structured video learning

ElixirCasts

Live Streams

Twitch Elixir Streamers

  • Various developers streaming Elixir coding
  • Best for: Watching real-world development

Development Tools

Editors and IDEs

Visual Studio Code

JetBrains IntelliJ IDEA

  • Plugin: Elixir plugin
  • Features: Syntax highlighting, completion, debugging, Mix integration
  • Best for: JetBrains users

Emacs

  • Modes: alchemist.el, elixir-mode
  • Best for: Emacs power users

Vim/Neovim

  • Plugins: vim-elixir, coc-elixir, nvim-lspconfig with ElixirLS
  • Best for: Vim enthusiasts

Code Quality Tools

Credo

Dialyzer (via Dialyxir)

ExCoveralls

Sobelow

Performance Tools

Benchee

Observer

  • Built-in: :observer.start()
  • Purpose: Live system inspection (processes, memory, ETS tables)

Recon

Documentation Tools

ExDoc

  • Built-in: mix docs
  • Purpose: Generate HTML documentation from module docs

Inch

Package Ecosystem

Package Registry

Hex.pm

  • URL: https://hex.pm/
  • Purpose: Official Elixir and Erlang package repository
  • Search: Browse packages by category, downloads, popularity

Notable Libraries

Phoenix LiveView

Ecto

Absinthe

Broadway

GenStage

Tesla

Jason

Poison

ExUnit

Mox

Awesome Lists

Awesome Elixir

Awesome Phoenix

Learning Paths

Path 1: Web Developer (Phoenix Focus)

  1. Complete Initial Setup Tutorial
  2. Work through Quick Start
  3. Read “Programming Elixir” or “Elixir in Action”
  4. Complete Beginner Tutorial
  5. Study Intermediate Tutorial (Phoenix sections)
  6. Read “Programming Phoenix”
  7. Build a complete Phoenix application
  8. Explore LiveView and Ecto guides

Path 2: Backend Systems (OTP Focus)

  1. Complete Initial Setup and Quick Start
  2. Read “The Little Elixir & OTP Guidebook”
  3. Complete Beginner Tutorial (OTP sections)
  4. Study Intermediate Tutorial (GenServer, Supervisor)
  5. Read “Designing Elixir Systems with OTP”
  6. Build a distributed concurrent system
  7. Study Advanced Tutorial (BEAM internals, distribution)

Path 3: Complete Mastery

  1. Follow Web Developer or Backend Systems path
  2. Complete Advanced Tutorial
  3. Read “Metaprogramming Elixir”
  4. Study “Concurrent Data Processing in Elixir”
  5. Contribute to open-source Elixir libraries
  6. Attend ElixirConf or Code BEAM
  7. Build production systems at scale

Staying Updated

Official Channels

Elixir Blog

Phoenix Blog

José Valim’s Blog

Social Media

Twitter/X

  • Follow: @elixirlang, @chris_mccord, @josevalim, @elixirstatus
  • Hashtags: #elixirlang, #myelixirstatus

LinkedIn

  • Groups: Elixir Programming Language
  • Follow: Elixir influencers and companies

Indonesian Resources

Elixir School (Bahasa Indonesia)

Indonesian Elixir Community

  • Platform: Local meetups, Slack channels
  • Activity: Growing community in major Indonesian cities

Ayokoding Elixir Content

Ready to start learning? Begin with our Initial Setup Tutorial or dive into Quick Start!

Last updated