Course Content

Everything is self-paced though on average, developers can pass each level in roughly 4 - 10 hours depending on comprehension and experience.
  • If job opportunities are your focus we can begin helping you with recommendations and referrals once you’ve defeated the Mini-Boss and have a completed project on your GitHub to show hiring managers.
  • Level One - Intro to Elixir and How to succeed in this course

    • Resources and Transcripts
    • Course Overview
    • What you need to do well in this course
    • Why elixir is poised for the future
    • What is functional programming and how does it apply to Elixir
    • Comprehension Quiz
  • Level Two - The Syntax and Fundamentals

    • Resources, Transcripts and Weekly Call
    • Overview and Installation
    • Syntax Basics
    • Basic Syntax Quiz
    • Pattern Matching
    • Advanced Syntax
    • Pattern Matching & Advanced Syntax Quiz
    • Keeping Flow Clean
    • Functional Descriptive Flow
    • Code Fundamentals Assignment
  • Level Three - REST and GraphQL with Phoenix

    • Resources and Transcripts
    • Overview and Phoenix Installation
    • Introduction to Phoenix and it's Architecture
    • Phoenix Architecture Quiz
    • Phoenix Cheat Sheets
    • Creating a REST API
    • REST API Quiz
    • GraphQL vs REST
    • GraphQL vs REST Quiz
    • Creating a GraphQL API
    • GraphQL Quiz
    • Absinthe GraphQL Resources
    • Creating Web Pages with Phoenix
    • Phoenix Templates Resources
    • Phoenix Channels and GraphQL Subscriptions
    • GraphQL API Assignment
  • Level Four - Ecto DB and Architecture

    • Resources and Transcripts
    • Overview
    • Creating Schemas and Migrations
    • Schemas and Migrations Quiz
    • Data Integrity Through Changesets
    • Changesets Quiz
    • Writing and Composing Queries
    • Writing and Composing Queries Quiz
    • Managing Schema Relationships
    • Relationship Quiz
    • Integrating Ecto with Phoenix
    • Integrating Ecto with Phoenix Quiz
    • Phoenix Project Ecto Integration
  • Midterm Project - Mini Boss

    • Audio & Transcripts
    • Midterm Recap
    • Midterm Assignment Prep
    • Midterm Assignment
  • Level Six - Absinthe Deep Dive & Pre-emptive error Handling

    • Audio & Transcripts
    • Overview
    • 1.0 - Thinking About Errors
    • 1.1 - Erroring Gracefully
    • 1.2 - Writing to Handle Unknown Errors
    • Thinking About Errors Quiz
    • 2.0 - Using IEx to Debug Code
    • 2.1 - Adding Logging to Aid Debugging
    • 2.2 - Creating Error Systems for Debugging
    • Debugging Strategies Quiz
    • 3.0 - Absinthe's Resolution Object
    • 3.1 - Absinthe's Middleware
    • 3.2 - Absinthe's Resolve Function
    • 3.3 - Absinthe Fields and Objects
    • 3.4 - Writing Documentation With Absinthe
    • Absinthe Quiz
    • Absinthe Middleware and Error Handling Assignment
  • Level Seven - Planning for scalability & How to go distributed

    • Audio & Transcripts
    • Overview
    • 1.0 - Elixir Limitations
    • 1.1 - Phoenix Limitations
    • 1.2 - Side Effects of Scaling
    • 1.3 - Statistics to Measure Scale
    • Scaling Quiz
    • 2.0 - Bottlenecks from Elixir
    • 2.1 - Bottlenecks from Processes
    • 2.3 - How to Architect with Bottlenecks in Mind
    • Bottlenecks Quiz
    • 3.0 - Connecting Elixir Nodes
    • 3.1 - Sending Messages Across Nodes
    • 3.2 - Clustering Nodes with LibCluster
    • 3.3 - Distributing Work with Tasks
    • 3.4 - Distributing Phoenix & Absinthe
    • Distributed Quiz
    • 4.0 - Using GenStage to Process Lots of Data
    • 4.1 - GenStage Dispatchers
    • 4.2 - GenStage Consumer Producers
    • 4.3 - GenStage Consumer Supervisors
    • 4.4 - Using GenStage Across Nodes
    • GenStage Quiz
    • Distributed Application Assignment
  • Level Eight - Distributed tooling

    • Audio & Transcripts
    • Overview
    • 1.0 - What are Metrics
    • 1.1 - Erlang Telemetry
    • 1.2 - Gathering Metrics with Prometheus
    • 1.3 - Prometheus Counters, Guages & Histograms
    • 1.4 - Setting up Prometheus and Grafana
    • 1.5 - Displaying Prometheus with Grafana
    • 1.6 - Using Watchdog Processes With Prometheus
    • Monitoring Quiz
    • 2.0 - Monitoring with AppSignal
    • 2.1 - Integrating AppSignal into Your Application
    • 2.2 - Adding Custom Errors to AppSignal
    • AppSignal Quiz
    • 3.0 - Creating Distributed Supervisors with Horde
    • 3.1 - Using Horde to Run Singleton Processes in a Cluster
    • Distributed Processes Quiz
    • 4.0 - Replicating State Across Clustered Nodes
    • 4.1 - Using DeltaCDRT to Create a Caching System
    • Distributed State Quiz
    • 5.0 - Distributed Caching Types & Trade-offs
    • 5.1 - Distributed Hash Rings
    • 5.2 - Using Redis as a Cache
    • 5.3 - Using Redex as a Cache
    • Caching Quiz
    • Distributed Application Assignment
  • Level Nine - How to use Elixir to architect an application

    • Audio & Transcripts
    • Overview
    • 1.0 - Using Elixir in a Polyglot Situation
    • 1.1 - Architecting with NIFs
    • 1.2 - Architecting a Green Field Application
    • Polyglot Quiz
    • 2.0 - Evaluating Development Tradeoffs
    • 2.1 - The Importance of Delaying Architecture Decisions
    • 2.2 - Poncho Project vs Umbrella
    • Tradeoffs and Project Styles Quiz
    • 3.0 - Architecting Data Flow
    • 3.1 - Architecting Clean Applications
    • Application Flow Quiz
    • 4.0 - Accessing Workload
    • 4.1 - Shortening Development Time with Libraries
    • 4.2 - Choosing the Right Libraries
    • Tradeoffs Quiz
    • 5.0 - Setting up Code Coverage with Coveralls
    • 5.1 - Setting up Code Coverage with Mix
    • Code Coverage Quiz
    • Application Architecture Assignment
  • Final Project - Last Boss

    • Audio & Transcripts
    • Recap
    • Project Instructions
    • Project Resources
  • Level Ten - How to create and manage releases

    • Audio & Transcripts
    • Overview
    • 1.0 - Knowing the VM's Limits
    • 1.1 - Where the VM Limits Bend
    • 1.2 - When to Tune the VM
    • VM Tuning Quiz
    • 2.0 - Drafting Releases with mix release
    • 2.1 - Drafting Releases with Distillery
    • 2.2 - Writing Custom Release Tools with Distillery
    • Releasing Quiz
    • 3.0 - Deploying Bare Metal Releases Over SSH
    • 3.1 - Deploying Releases with Docker Containers
    • 3.2 - Using Hot-Code Upgrades to Deploy
    • Release Deployment Quiz
    • 4.0 - How to setup CI
    • 4.1 - How to Manage Releases
    • 4.2 - How to Setup a CD Pipeline
    • CI/CD Quiz
    • Distributed Application Assignment
  • Final Remarks

    • Congratulations
    • Where to go From Here
    • Final Notes
  • Once completed you will be awarded a Learn Elixir Certificate of Excellence and all content will remain available to you for review as a part of your Lifetime Membership.

Get Started

If Elixir is the next language you want to master book a call now with Jeremy Graham to see if Learn Elixir the best resource to reach your goals