Been asked to do a presentation about Elixir - what should I include?

These are all excellent suggestions, but I would suggest you take a few steps back before putting anything in your presentation.

The list of things that Elixir does exceptionally well is so long that you can easily lose people after listing several things they don’t care about.

If you just present them with a set of amazing tools & qualities, it could come across sounding like solutions without problems (none of these solutions are) but with a skeptical eye they can be seen that way.

I would suggest you make a list for yourself of what is currently important to your engineering department. Which are the strengths in your current technology stack that your stakeholders are happy with. Which are the weaknesses or pain points in your current tech stack that Elixir would help you solve. Then see where Elixir shines in those key areas and focus on that.

If they care about programmer productivity, talk about that, if they care about system uptime, talk about that, if they care about server resources, talk about that, if they care about developer engagement, talk about that.

If you have too many things, I would try to focus on things that other languages just can’t do. The kind of things that are enabled by running a million processes on one server, and/or being able to cluster those processes across several servers. For example, Phoenix Channels or LiveView functionality can’t be easily implemented in any other language while maintaining the same strengths of scalability and resource usage.

Another example of a problem where Elixir is extremely difficult to beat, is a server being able to take 10k HTTP requests all at once and just hold on to them while slowly fetching back-end data for each of them. Many other languages are fast, even faster than Elixir, but spinning up 10k separate processes to run each web request in, and to keep them all running at the same time, just isn’t a thing without the Beam. This is also a great example of a problem that people just won’t care about until they run into it, so you need to consider your audience before you try and tell them about it.

6 Likes