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
- URL: https://elixir-lang.org/getting-started/introduction.html
- Content: Official tutorial covering core concepts
- Sections: Basic types, pattern matching, modules, processes, IO, OTP
- Best for: First exposure to Elixir after installation
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
- URL: https://hexdocs.pm/phoenix_live_view/
- Content: Real-time interactive interfaces without JavaScript
- Best for: Building modern SPAs server-side
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
- URL: https://hexdocs.pm/ex_unit/
- Content: Built-in testing framework
- Best for: Writing tests
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
- URL: https://www.learnphoenix.tv/
- Content: Phoenix framework video tutorials
- Best for: Phoenix-specific in-depth learning
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)
- URL: https://stackoverflow.com/questions/tagged/elixir
- Activity: Active
- Best for: Specific technical questions with code examples
Reddit /r/elixir
- URL: https://www.reddit.com/r/elixir/
- Activity: Active community
- Best for: News, discussions, showcases, learning resources
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
- URL: https://thinkingelixir.com/
- Format: Interviews and discussions
- Best for: Industry insights and best practices
Elixir Wizards
- URL: https://podcast.smartlogic.io/
- Format: Deep dives into Elixir topics
- Best for: Advanced discussions
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
- URL: https://elixircasts.io/
- Content: Short focused screencasts
- Best for: Quick topic deep dives
Live Streams
Twitch Elixir Streamers
- Various developers streaming Elixir coding
- Best for: Watching real-world development
Development Tools
Editors and IDEs
Visual Studio Code
- Extension: ElixirLS (Elixir Language Server)
- Features: Autocomplete, goto definition, inline docs, debugging
- URL: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
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
- URL: https://github.com/rrrene/credo
- Purpose: Static code analysis and linter
- Usage:
mix credoormix credo --strict
Dialyzer (via Dialyxir)
- URL: https://github.com/jeremyjh/dialyxir
- Purpose: Type checking and discrepancy analysis
- Usage:
mix dialyzer
ExCoveralls
- URL: https://github.com/parroty/excoveralls
- Purpose: Test coverage reporting
- Usage:
mix coveralls
Sobelow
- URL: https://github.com/nccgroup/sobelow
- Purpose: Security-focused static analysis for Phoenix
- Usage:
mix sobelow
Performance Tools
Benchee
- URL: https://github.com/bencheeorg/benchee
- Purpose: Benchmarking library
- Features: Statistical analysis, comparison, memory measurements
Observer
- Built-in:
:observer.start() - Purpose: Live system inspection (processes, memory, ETS tables)
Recon
- URL: https://github.com/ferd/recon
- Purpose: Production debugging and diagnostics
Documentation Tools
ExDoc
- Built-in:
mix docs - Purpose: Generate HTML documentation from module docs
Inch
- URL: https://github.com/rrrene/inch_ex
- Purpose: Documentation coverage analysis
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
- Real-time server-rendered interfaces
- URL: https://hexdocs.pm/phoenix_live_view/
Ecto
- Database wrapper and query DSL
- URL: https://hexdocs.pm/ecto/
Absinthe
- GraphQL implementation for Elixir
- URL: https://hexdocs.pm/absinthe/
Broadway
- Concurrent data processing pipelines
- URL: https://hexdocs.pm/broadway/
GenStage
- Producer-consumer pipelines with back-pressure
- URL: https://hexdocs.pm/gen_stage/
Tesla
- HTTP client library
- URL: https://hexdocs.pm/tesla/
Jason
- High-performance JSON parser
- URL: https://hexdocs.pm/jason/
Poison
- Alternative JSON library
- URL: https://hexdocs.pm/poison/
ExUnit
- Built-in testing framework
- URL: https://hexdocs.pm/ex_unit/
Mox
- Mocking library for testing
- URL: https://hexdocs.pm/mox/
Awesome Lists
Awesome Elixir
- URL: https://github.com/h4cc/awesome-elixir
- Content: Curated list of Elixir libraries, frameworks, tools
- Categories: Web frameworks, testing, databases, authentication, deployment, etc.
Awesome Phoenix
- URL: https://github.com/droptheplot/awesome-phoenix
- Content: Phoenix-specific resources and libraries
Learning Paths
Path 1: Web Developer (Phoenix Focus)
- Complete Initial Setup Tutorial
- Work through Quick Start
- Read “Programming Elixir” or “Elixir in Action”
- Complete Beginner Tutorial
- Study Intermediate Tutorial (Phoenix sections)
- Read “Programming Phoenix”
- Build a complete Phoenix application
- Explore LiveView and Ecto guides
Path 2: Backend Systems (OTP Focus)
- Complete Initial Setup and Quick Start
- Read “The Little Elixir & OTP Guidebook”
- Complete Beginner Tutorial (OTP sections)
- Study Intermediate Tutorial (GenServer, Supervisor)
- Read “Designing Elixir Systems with OTP”
- Build a distributed concurrent system
- Study Advanced Tutorial (BEAM internals, distribution)
Path 3: Complete Mastery
- Follow Web Developer or Backend Systems path
- Complete Advanced Tutorial
- Read “Metaprogramming Elixir”
- Study “Concurrent Data Processing in Elixir”
- Contribute to open-source Elixir libraries
- Attend ElixirConf or Code BEAM
- Build production systems at scale
Staying Updated
Official Channels
Elixir Blog
- URL: https://elixir-lang.org/blog/
- Content: Release announcements, major updates
Phoenix Blog
- URL: https://phoenixframework.org/blog
- Content: Phoenix framework updates
José Valim’s Blog
- URL: https://dashbit.co/blog
- Content: Deep dives by Elixir creator
Social Media
Twitter/X
- Follow: @elixirlang, @chris_mccord, @josevalim, @elixirstatus
- Hashtags: #elixirlang, #myelixirstatus
- Groups: Elixir Programming Language
- Follow: Elixir influencers and companies
Indonesian Resources
Elixir School (Bahasa Indonesia)
- URL: https://elixirschool.com/id
- Content: Complete curriculum in Indonesian
Indonesian Elixir Community
- Platform: Local meetups, Slack channels
- Activity: Growing community in major Indonesian cities
Ayokoding Elixir Content
- You’re here! Complete bilingual Elixir learning path
- URL: /id/belajar/rekayasa-perangkat-lunak/bahasa-pemrograman/elixir/
Ready to start learning? Begin with our Initial Setup Tutorial or dive into Quick Start!