Spend more time creating and less time debugging
Expert Mentorship
Weekly live coaching sessions with top-of-the-line mentors, personalized code reviews for each assignment, and private Slack community
Curated Lessons
Learn at your own pace with in-depth recorded content and real-world projects to challenge how to think and code
Support & Community
Connect with an accountability buddy, network with alumni, spam our AI teacher's assistant, or ask for help from our founding team
Learn to code like a senior Elixir dev
Become confident in your abilities and rise through the ranks
Over 16 hours of videos rich with valuable insights essential to your success
- 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
- 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
- Overview and Phoenix Installation
- Introduction to Phoenix and its Architecture
- Phoenix Architecture Quiz
- Creating a REST API
- REST API Quiz
- GraphQL vs REST
- GraphQL vs REST Quiz
- Creating a GraphQL API
- GraphQL Quiz
- Creating Web Pages with Phoenix
- Phoenix Channels and GraphQL Subscriptions
- GraphQL API Assignment
- 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
- Overview
- 1 - What is OTP
- 1.1 - OTP Supervisors and Workers
- 1.2 - OTP Process Communication
- 1.3 - OTP Agent, GenServers & Tasks
- 1.4 - OTP Application
- 1.5 - OTP 'Let it Crash'
- 1.6 - OTP Process Limitations
- OTP Process Quiz
- 2 - ExUnit
- 2.1 - Writing Testable Code
- 2.2 - Testing OTP
- 2.3 - Testing Ecto
- 2.4 - Testing REST
- 2.5 - Testing GraphQL
- 2.6 - Testing GraphQL Subscriptions
- Testing Basics Quiz
- 3 - Writing Maintainable Tests
- 3.1 - Cleaning up Tests with Support
- 3.2 - Stubbing & Mocking
- 3.3 - Testing Side Effects
- 3.4 - Crushing Bugs with IEx, Logger and IO.inspect
- Testing Maintainability Quiz
- OTP Process and Testing Assignment
- Midterm Recap
- Midterm Project Prep
- Midterm Project
- Overview
- 1.0 - Thinking About Errors
- 1.1 - Erroring Gracefully
- 1.2 - Writing to Handle Unknown Errors
- Thinking About Errors Quiz
- 2.0 - Adding Logging to Aid Debugging
- 2.1 - Creating Error Systems for Debugging
- 2.2 - Using IEx to Debug Code
- 2.3 - Debugging with Observer
- Debugging Quiz
- 3.0 - Absinthe's Middleware
- 3.1 - Absinthe's Resolution Object
- 3.3 - Absinthe Fields and Objects
- 3.4 - Writing Documentation With Absinthe
- Absinthe Quiz
- Error System & Absinthe Assignment
- Overview
- 1.0 - Elixir Limitations
- 1.1 - Statistics to Measure Scale
- 1.2 - Side Effects of Scaling
- Limitations and Scaling Quiz
- 2.0 - Bottlenecks from Elixir
- 2.1 - Pooling for Increasing Bottleneck Width
- 2.2 - ETS to Eliminate State Access Bottlenecks
- 2.3 - How to Architect with Bottlenecks in Mind
- Bottlenecks and Increasing Width 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
- Elixir Distribution Quiz
- 4.0 - Using GenStage to Process Lots of Data
- 4.1 - GenStage Dispatchers
- 4.2 - GenStage Consumer Producers
- GenStage Quiz
- Scalability & Distribution Assignment
- Overview
- 1.0 - What are Metrics
- 1.1 - Beam Telemetry
- Metrics & Telemetry Quiz
- 2.0 - Setting up Prometheus and Grafana
- 2.1 - Gathering Metrics with Prometheus
- 2.2 - Prometheus Counters, Gauges & Histograms
- 2.3 - Grafana Deep Dive
- 2.4 - Building Good Grafana Dashboards
- Grafana & Prometheus Quiz
- Grafana & Prometheus Assignment
- 3.0 - Using Global for Distributed Communication
- 3.1 - CAP Theorem Basics
- 3.2 - Creating Distributed Supervisors with Horde
- Global, Horde & CAP Theorem Quiz
- 4.0 - Replicating State Across Clustered Nodes
- 4.1 - Using DeltaCRDT to Create a Caching System
- 4.2 - Distributed Hash Rings
- 4.3 - Using Redis as a Cache
- 4.4 - Distributed Caching Types & Trade-offs
- Distributed Tooling Assignment
- Overview
- 1.0 - Directory Organization & Module Structure
- 1.1 - Umbrella & Poncho Projects
- Project Organization Quiz
- 2.0 - Connecting to Other Languages
- 2.1 - Developing with NIFs
- Other Language & NIF Quiz
- 3.0 - Architecting a Green Field Application
- 3.1 - Architecting Data Flow
- 3.2 - Architecting Clean Applications
- 3.3 - Thinking about the VM & Reductions
- New, Clean & Flowing Applications Quiz
- 4.0 - Oban Intro & Setup
- 4.1 - Oban Deep Dive
- 4.2 - Architecting Systems with Oban
- Oban Quiz
- Diagramming & Oban Assignment
- 5.0 - Evaluating Development Tradeoffs
- 5.1 - The Importance of Delaying Architecture Decisions
- Dev Tradeoffs & Delaying Architecture Quiz
- 6.0 - Assessing Workload
- 6.1 - Shortening Development Time with Libraries
- Assessing Workload & Libraries Quiz
- 7.0 - Setting up Credo
- 7.1 - Setting up Dialyzer
- 7.2 - Setting up Code Coverage
- Code Scanning Quiz
- Architecture & Tooling Assignment
- Recap
- Project Instructions
- Final Project
- Overview
- 2.0 - Analyzing VM Memory & CPU
- 2.1 - Debugging High VM CPU
- 2.2 - Debugging High VM Memory
- 1.0 - Remote Debugging Tools
- 1.1 - Finding Bottlenecks with Recon
- 1.2 - Remote Tracing with RexBug
- 3.0 - Knowing the VM's Limits
- 3.1 - Where the VM Limits Bend
- 3.2 - When to Tune the VM
- 4.0 - Drafting Releases with mix release
- 4.1 - Deploying Bare Metal Releases Over SSH
- 4.2 - Deploying Releases with Docker Containers
- 4.3 - Using Hot-Code Upgrades to Deploy
- 5.0 - How to setup CI
- 5.1 - How to Manage Releases
- 5.2 - How to Setup a CD Pipeline
Designed for every level of expertise
From beginner, intermediate, to advanced you’ll learn how to leverage Elixir’s world-class performance from someone who’s scaled users into the 10’s of millions.Hear from our students
Connect with success stories to discover if Learn Elixir is the best resource to help you reach your goals.
Your own personal classroom
A self-paced structured learning environment designed to teach you the best practices of a production-level quality of code.
- Progress at your own pace
- A learning curve that matches your commitment
- Assignments, real-life projects and code review
- 132 videos with transcripts + resources
Need help finding your first full-time remote Elixir job?
Connect with the founding team to learn what is working in today's job economy
- AI tools to polish your resume and proffessional appearance on LinkedIn
- Leverage years of industry connections with our hiring network
- Get paid to add projects to your GitHub
- Avoid being pre-screened and pass the technical interview
Become a lifetime member
Sprint or marathon, have resources available when you need them the most
- Join the weekly call whenever you have questions
- Review materials if you need a refresher
- Keep up to date and evolving with the world
Compare plans
Select the right plan for you!
$4800 Total
Elixir Mastery
Fast track to senior status
30-day no questions asked full refund policy
Includes
FAQ
Frequently Asked Questions
Who is this best for?
Who is this best for?
If you want to master Elixir, in a relatively short period of time, from one centralized platform, to reach your goal (deploying a personal project, leveling up your career, etc), we are absolutely perfect for you!
Who is this not good for?
Who is this not good for?
If you’re a hobbyist and only want to dabble with the language because it’s interesting, we may not be the best fit for you. You could likely spend the next 3 - 5 years of trial & error troubleshooting to brute force your way into learning Elixir at an intermediate level without needing to make any investments into your education.
I don’t have very much experience, should I still take this?
I don’t have very much experience, should I still take this?
While we don’t teach the fundamentals of programming, we do teach the fundamentals of Elixir. You can begin with little to no experience with Elixir whatsoever and by the end, have the knowledge base of a senior Elixir developer (just without the work experience) but we do recommend you have at least 1-years experience programming with any language before starting with us.
Is this an online course or a bootcamp?
Is this an online course or a bootcamp?
Both! We're a Course BootCamp hybrid, a CourseCamp. Recorded content is 50% of the value and the live coaching sessions are the other 50%. Us helping you find work with Elixir afterward is just a bonus!
Why isn't the pricing closer to what I expected?
Why isn't the pricing closer to what I expected?
Some people expect a quick online course priced around $50 - $500. Others expect a bootcamp priced around $10,000 - $30,000. Truth is we're a bit of both, smack dab in the middle.
Will you help me find work with Elixir afterward?
Will you help me find work with Elixir afterward?
Absolutely, this is one of the cornerstones of our program. You can have your new skillset pay for itself before you’re even done paying for it. How’s that for a quick turnaround on your ROI!
How do you help me find work or get prepared for interviews?
How do you help me find work or get prepared for interviews?
Talented Elixir developers are in high demand and we’re building a reputation for producing high-quality programmers in the Elixir community.
We can show you how to dress up your LinkedIn, Resume, & GitHub, introduce you to our hiring partners, show you the best places to find work, offer interview coaching & mock technical interviews, and a whole lot more!
Essentially, we do everything in our power to give you your best possible chances to stand out as the obvious candidate head and shoulders above the rest.
How much does a typical Elixir developer earn in a year?
How much does a typical Elixir developer earn in a year?
In the course of your career as an Elixir developer expect to earn an annual salary anywhere from $100,000 to $250,000. Naturally, this broad range is dependent on previous experience, expertise, and location with the US paying the highest.
Can I find remote work?
Can I find remote work?
The vast majority of Elixir opportunities are posted as remote because it has been difficult for companies to find competent talent just around the corner.
What is your success ratio in helping people find work with Elixir?
What is your success ratio in helping people find work with Elixir?
We’re comfortable recommending people for positions once they are passed the midterm project and so far, 100% of the career-oriented individuals passed that point have been able to find employment programming Elixir.
How do I reap a return on my investment?
How do I reap a return on my investment?
At full price, $500/mo for 12-mo, you would need to increase your annual salary by $6,000 a year to achieve a return on your investment in the first year and then permanently reap the rewards each year thereafter.
Why do I get a built-in discount for choosing a shorter payment plan?
Why do I get a built-in discount for choosing a shorter payment plan?
Rather than make every option $6000, we decided to incentivize those who are able to make larger investments upfront with a scaling discount, that way, we have more operating capital to grow and expand our services at a faster rate.
What happens if I miss or have to pause my monthly investments?
What happens if I miss or have to pause my monthly investments?
Sometimes life gets in the way, we get it. While we can’t give away our time and energy for free we urge you to connect with Jeremy and we’ll try our best to accomodate your circumstance.
Do you have a refund policy?
Do you have a refund policy?
Yes, we have a 30-day, no questions asked, full refund policy. After 30 days, we can still cancel any future installments but do not offer a refund on previous instalments.
Why can’t I purchase any one lesson separately?
Why can’t I purchase any one lesson separately?
Sometimes a developer needs to unlearn bad habits before they can begin best practices.
Is it self-paced?
Is it self-paced?
Since ours is a Lifetime Membership you’ll have the same access to everything on year 10 as you would day 1 so you can progress as quickly or as slowly as your schedule allows.
How long does it take to go through the whole program?
How long does it take to go through the whole program?
The good news is, you can progress as quickly or slowly as your schedule allows since everything is self-paced. That being said, time frames vary depending on your previous experience but if you're able to put in about an hour a day, we estimate that you should be able to pass the midterm project and become job-ready within roughly 12 weeks.
Is there an accountability failsafe?
Is there an accountability failsafe?
Some people like to have an extra kick in the pants to keep progressing every day. To stay on top of your studies there are a number of ways to keep Learn Elixir top of mind: match up with an accountability buddy; weekly progress email reminders; weekly live coaching sessions; community chat notifications; personal messages of encouragement from Co-Founder Jeremy Graham.
Can I start a Free Preview to try it out first?
Can I start a Free Preview to try it out first?
Absolutely, in fact, we encourage it! Start your Free Preview here.
What does Lifetime Membership really mean?
What does Lifetime Membership really mean?
Exactly what it sounds like; course content, private Slack channel, live coaching sessions, everything in our offer will always be available to you once you start with any of the pricing options available.
How do I reach out if I need help?
How do I reach out if I need help?
Mika will be your go-to guy for all things Elixir and can be reached via Slack or during the weekly live coaching sessions. You can also engage with our community in the private Slack channel in the Elixir workspace as a lot of the senior developers enjoy helping the more junior ones.
What is covered in the live coaching sessions?
What is covered in the live coaching sessions?
Every Wednesday at 12:00-noon pacific time, Mika will be on Zoom to answer anyone's questions, about anything. Since this time is driven by its members, the direction and destination are up to you!
Do I have to attend the weekly live coaching sessions?
Do I have to attend the weekly live coaching sessions?
No, you do not, this is a resource purely available to attend at your leisure.
Are there any code reviews?
Are there any code reviews?
To ensure best practices, all assignments and projects require you to pass a code review with 100%. Any less, and feedback will be provided to ensure a production level quality of code each step of the way.
Can I build my own personal project as a part of the curriculum?
Can I build my own personal project as a part of the curriculum?
As long as you’re able to establish that you’ve learned everything in the prior levels, as seen in these videos, we love it when people bring their own creativity to the curriculum, it’s an absolute win-win.
Do you provide suggestions on what to build for the midterm and final projects?
Do you provide suggestions on what to build for the midterm and final projects?
If you don’t already have an idea in mind we provide recommendations in our midterm project prep video or you can connect with Mika on Slack or in the weekly live coaching session to brainstorm ideas.
Do you update content?
Do you update content?
If a video becomes outdated because something fundamental has changed with Elixir we will absolutely update our material.
Are you going to come out with new content?
Are you going to come out with new content?
As Elixir becomes world-class in new environments like blockchain, AI, LiveView, etc, we will be creating new content to remain at the forefront of technology.
Do you teach LiveView?
Do you teach LiveView?
We know LiveView, have used it ourselves and like it, it's cool to play with. We can offer guidance/advice via Slack or during the weekly live coaching sessions but we haven't created any content for it yet for a couple of reasons 1.) It is still in beta and evolving rapidly so content can quickly become outdated or irrelevant. 2.) It can be quite costly to scale LiveView in production and so it hasn’t become fully commercially adopted yet.
Still have Questions?
Book a call and let us answer them
Get hired faster
Our hiring partners
We are expanding our hiring partner network every week!
Blitz
Everything you need to win— all bundled into a revolutionary desktop app powered by AI, and built with professional players.
Elixirator
Passionate team of full-stack professionals that will help you to turn your great idea into a valuable and awesome product.
Requis
Requis is an easy to use supply chain platform that allows you to manage your entire asset lifecycle. Procure, manage, and sell your assets in one place.
Picsello
Picsello is a robust and comprehensive tool that helps you do what you do best - be a professional photographer.
Curiosum
Curiosum is a software house specialized in custom Web and Mobile development that uses Elixir to provide speed, efficiency, and scalability.
Launch Scout
Discover solutions that radically improve productivity, profits, client relationships and more. Side-by-side, we’ll launch your ideas into a reality you could only imagine.
Binary Noggin
We forge customizable solutions using Agile methodologies and our mastery of Elixir, Ruby and other open-source technologies.
Smartlogic
Custom data-driven web and mobile software development. We make time to understand your business needs so we can build the right solution that fits within your budget and timeline.
Quanterall
Quanterall is an R&D Lab for software and hardware. The core business of the company is to develop custom Blockchain solutions, Enterprise software, and IoT infrastructure.
Quiqup
Quiqup is revolutionizing the MENA e-commerce landscape starting with the UAE.
Remote
Hire, manage, and pay your international team with Remote, the single platform for all your global payroll needs.
Hiive
Hiive is an exciting and fast-growing marketplace startup headquartered in Vancouver, BC, Canada building a revolutionary trading platform for buyers and sellers of shares in private late-stage venture-capital backed companies and “unicorns.”
Colife
Colife began with the idea that if there was a way that we could make it easy for people to find the right person, and trust could be established, more people would be interested in co-living for the financial, community, and additional benefits.
Blog
Discover the magic of Elixir from our community of wizards.
Articles, columns, tutorials and more
Safer Error Systems in Elixir
Errors in Elixir often get treated as second class citizens which can make our systems harder to debug than they need to be. In this post we discuss building a more intuitive and robust error system for an easier time debugging and troubleshooting down the road.
How To Learn Elixir For Free With Zero Experience
Don't Spend A Dollar Until You're Absolutely Certain Elixir Is The Next Programming Language You Want To Master
Jerry Graham
October 9th 2023
Avoiding Data Loss with Elixir's :dets module
:dets allows us to persist items on disk quickly and natively in Elixir, however there is a chance we can loose data when using this method. In this article we discuss how to create a persistant cache module in Elixir with :dets, why we can lose data and what we can do about it
Mika Kalathil
March 13th 2023
Who we are
Meet the team
Mika Kalathil
Lead Instructor | Co-Founder
Mika has been a member of the Elixir community since the beginning and often learned directly from the core team when documentation was sparse. After working as a senior Elixir developer for several years Mika began to notice a repetition of fundamental flaws or gaps of knowledge when reviewing others’ code for deployment, hiring, or consulting purposes. After identifying an obvious need in the community, he decided to create Learn Elixir and serve developers throughout their careers in a manner he wished he had.
Jeremy Graham
Co-Founder
Jeremy has worked in sales and business development all his life and is likely to be the first person you talk to at Learn Elixir. He’s noticed the rise in popularity and appreciation for Elixir over the years and is thrilled to be contributing to the community in his own way. As the language transitions from niche to mainstream, he is determined to do whatever it takes to help your career while creating a centralized standard of excellence companies can trust.
Kurt Hogarth
Instructor | Co-Owner
Kurt, a Creative Technologist from GiantSpoon and Blitz, cherishes Elixir for its simplicity in building concurrent applications. Passionate about mentoring, his mission is to demystify Elixir's benefits, especially its process-oriented programming with OTP. He enjoys sharing projects that showcase the language's richness.