Learn Elixir | Plans & Pricing
$4800 Total

Elixir Mastery

Fast track to senior status

30-day no questions asked full refund policy


Includes
Videos
37 Quizzes & 13 assignments
2 Major Projects
Code Reviews
Learn With AI
Lifetime Membership
Senior Level Certificates
Job Preparation & Placement
Private Slack Channel
Weekly Live Coaching Sessions
Intro to Elixir
  1. Course Overview
  2. What you need to do well in this course
  3. Why Elixir is poised for the future
  4. What is functional programming and how does it apply to Elixir
  5. Comprehension Quiz
The Syntax and Fundamentals
  1. Overview and Installation
  2. Syntax Basics
  3. Basic Syntax Quiz
  4. Pattern Matching
  5. Advanced Syntax
  6. Pattern Matching & Advanced Syntax Quiz
  7. Keeping Flow Clean
  8. Functional Descriptive Flow
  9. Code Fundamentals Assignment
REST and GraphQL with Phoenix
  1. Overview and Phoenix Installation
  2. Introduction to Phoenix and its Architecture
  3. Phoenix Architecture Quiz
  4. Creating a REST API
  5. REST API Quiz
  6. GraphQL vs REST
  7. GraphQL vs REST Quiz
  8. Creating a GraphQL API
  9. GraphQL Quiz
  10. Creating Web Pages with Phoenix
  11. Phoenix Channels and GraphQL Subscriptions
  12. GraphQL API Assignment
Ecto DB and Architecture
  1. Overview
  2. Creating Schemas and Migrations
  3. Schemas and Migrations Quiz
  4. Data Integrity Through Changesets
  5. Changesets Quiz
  6. Writing and Composing Queries
  7. Writing and Composing Queries Quiz
  8. Managing Schema Relationships
  9. Relationship Quiz
  10. Integrating Ecto with Phoenix
  11. Integrating Ecto with Phoenix Quiz
  12. Phoenix Project Ecto Integration
OTP & Testing
  1. Overview
  2. 1 - What is OTP
  3. 1.1 - OTP Supervisors and Workers
  4. 1.2 - OTP Process Communication
  5. 1.3 - OTP Agent, GenServers & Tasks
  6. 1.4 - OTP Application
  7. 1.5 - OTP 'Let it Crash'
  8. 1.6 - OTP Process Limitations
  9. OTP Process Quiz
  10. 2 - ExUnit
  11. 2.1 - Writing Testable Code
  12. 2.2 - Testing OTP
  13. 2.3 - Testing Ecto
  14. 2.4 - Testing REST
  15. 2.5 - Testing GraphQL
  16. 2.6 - Testing GraphQL Subscriptions
  17. Testing Basics Quiz
  18. 3 - Writing Maintainable Tests
  19. 3.1 - Cleaning up Tests with Support
  20. 3.2 - Stubbing & Mocking
  21. 3.3 - Testing Side Effects
  22. 3.4 - Crushing Bugs with IEx, Logger and IO.inspect
  23. Testing Maintainability Quiz
  24. OTP Process and Testing Assignment
Midterm Project - Mini Boss
  1. Midterm Recap
  2. Midterm Project Prep
  3. Midterm Project
Absinthe Deep Dive & Pre-emptive error Handling
  1. Overview
  2. 1.0 - Thinking About Errors
  3. 1.1 - Erroring Gracefully
  4. 1.2 - Writing to Handle Unknown Errors
  5. Thinking About Errors Quiz
  6. 2.0 - Adding Logging to Aid Debugging
  7. 2.1 - Creating Error Systems for Debugging
  8. 2.2 - Using IEx to Debug Code
  9. 2.3 - Debugging with Observer
  10. Debugging Quiz
  11. 3.0 - Absinthe's Middleware
  12. 3.1 - Absinthe's Resolution Object
  13. 3.3 - Absinthe Fields and Objects
  14. 3.4 - Writing Documentation With Absinthe
  15. Absinthe Quiz
  16. Error System & Absinthe Assignment
Planning for scalability & How to go distributed
  1. Overview
  2. 1.0 - Elixir Limitations
  3. 1.1 - Statistics to Measure Scale
  4. 1.2 - Side Effects of Scaling
  5. Limitations and Scaling Quiz
  6. 2.0 - Bottlenecks from Elixir
  7. 2.1 - Pooling for Increasing Bottleneck Width
  8. 2.2 - ETS to Eliminate State Access Bottlenecks
  9. 2.3 - How to Architect with Bottlenecks in Mind
  10. Bottlenecks and Increasing Width Quiz
  11. 3.0 - Connecting Elixir Nodes
  12. 3.1 - Sending Messages Across Nodes
  13. 3.2 - Clustering Nodes with LibCluster
  14. 3.3 - Distributing Work with Tasks
  15. 3.4 - Distributing Phoenix & Absinthe
  16. Elixir Distribution Quiz
  17. 4.0 - Using GenStage to Process Lots of Data
  18. 4.1 - GenStage Dispatchers
  19. 4.2 - GenStage Consumer Producers
  20. GenStage Quiz
  21. Scalability & Distribution Assignment
Metrics & Distributed tooling
  1. Overview
  2. 1.0 - What are Metrics
  3. 1.1 - Beam Telemetry
  4. Metrics & Telemetry Quiz
  5. 2.0 - Setting up Prometheus and Grafana
  6. 2.1 - Gathering Metrics with Prometheus
  7. 2.2 - Prometheus Counters, Gauges & Histograms
  8. 2.3 - Grafana Deep Dive
  9. 2.4 - Building Good Grafana Dashboards
  10. Grafana & Prometheus Quiz
  11. Grafana & Prometheus Assignment
  12. 3.0 - Using Global for Distributed Communication
  13. 3.1 - CAP Theorem Basics
  14. 3.2 - Creating Distributed Supervisors with Horde
  15. Global, Horde & CAP Theorem Quiz
  16. 4.0 - Replicating State Across Clustered Nodes
  17. 4.1 - Using DeltaCRDT to Create a Caching System
  18. 4.2 - Distributed Hash Rings
  19. 4.3 - Using Redis as a Cache
  20. 4.4 - Distributed Caching Types & Trade-offs
  21. Distributed Tooling Assignment
Advanced Elixir Application Architecture & Development
  1. Overview
  2. 1.0 - Directory Organization & Module Structure
  3. 1.1 - Umbrella & Poncho Projects
  4. Project Organization Quiz
  5. 2.0 - Connecting to Other Languages
  6. 2.1 - Developing with NIFs
  7. Other Language & NIF Quiz
  8. 3.0 - Architecting a Green Field Application
  9. 3.1 - Architecting Data Flow
  10. 3.2 - Architecting Clean Applications
  11. 3.3 - Thinking about the VM & Reductions
  12. New, Clean & Flowing Applications Quiz
  13. 4.0 - Oban Intro & Setup
  14. 4.1 - Oban Deep Dive
  15. 4.2 - Architecting Systems with Oban
  16. Oban Quiz
  17. Diagramming & Oban Assignment
  18. 5.0 - Evaluating Development Tradeoffs
  19. 5.1 - The Importance of Delaying Architecture Decisions
  20. Dev Tradeoffs & Delaying Architecture Quiz
  21. 6.0 - Assessing Workload
  22. 6.1 - Shortening Development Time with Libraries
  23. Assessing Workload & Libraries Quiz
  24. 7.0 - Setting up Credo
  25. 7.1 - Setting up Dialyzer
  26. 7.2 - Setting up Code Coverage
  27. Code Scanning Quiz
  28. Architecture & Tooling Assignment
Final Project - Last Boss
  1. Recap
  2. Project Instructions
  3. Final Project
Tuning the VM & How to Create and Manage Releases
  1. Overview
  2. 1.0 - Remote Debugging Tools
  3. 1.1 - Finding Bottlenecks with Recon
  4. 1.2 - Remote Tracing with RexBug
  5. Remote Debugging & Tracing Quiz
  6. 2.0 - Analyzing VM Memory & CPU
  7. 2.1 - Debugging High VM CPU
  8. 2.2 - Debugging High VM Memory
  9. VM Analysis & Debugging Quiz
  10. 3.0 - Knowing the VM's Limits
  11. 3.1 - Where the VM Limits Bend
  12. 3.2 - When to Tune the VM
  13. VM & Tuning Quiz
  14. 4.0 - Drafting Releases with mix release
  15. 4.1 - Deploying Bare Metal Releases Over SSH
  16. 4.2 - Deploying Releases with Docker Containers
  17. 4.3 - Using Hot-Code Upgrades to Deploy
  18. Release Quiz
  19. 5.0 - How to setup CI
  20. 5.1 - How to Manage Releases
  21. 5.2 - How to Setup a CD Pipeline
  22. CI/CD & Release Management Quiz
  23. Deployment & CI Assignment