Time in GMT

09:00 - 09:10

Welcoming Session

09:10 - 09:50

Elixir v1.12 updates and Q&A

updates on Elixir v1.12 with plenty of time for Q&A.

10:10 - 10:40

Getting started with Graphql with Absinthe

We'll create a simple blog API powered by Graphql

10:50 - 11:20

Architecture Patterns applied to Phoenix Projects

Phoenix projects come with the Model-View-Controller (MVC) pattern out-of-the-box. This pattern works great for small to medium-scale projects. But how do you structure your project once it becomes complex? Architectural patterns can help you with this. I will explain how Phoenix uses the MVC pattern, explain its pros and cons, how to modularize a complex codebase into a Majestic Monolith using components, and how to make your project future-proof with the Explicit Architecture.

11:30 - 12:00

PubSub in Liveview

12:00 - 12:30

Coffee Break

12:35 - 13:05

Only possible with Elixir - Ubots Case Study

How to build four successful products with a tiny team of two working part-time after-hours? The answer is: Elixir.
We will share:
  • What are Slack Bots and why you should care
  • How we decided on our architecture and what were the consequences
  • How we've build a new framework using old ideas
  • How we've built an end-to-end testing framework for complex interactions

Building a simple billing system using Genservers

This talk is about one of our ongoing project which allows us to pay some of our bills automatically at the end of each month.

13:55 - 14:05

Exodus to Elixir (stateless transition)

A brief overview of what it entails while transitioning from an object oriented world into a paradigm that could care less about keeping state

14:10 - 14:40

Jamii (Community)

Live Podcast by Elixir Outlaws

15:00 - 15:15

What is Erlang Ecosystem Foundation?

Get to know more about Erlang Ecosystem Foundation

Industry versus academia? Learning and teaching programming

In our talk we’ll explore this hypothesis: in industry, you are learning a technology you will use to develop software, whereas in an academic setting, you are there to learn how to learn. Based on our experience of travelling in opposite directions: Francesco from industry to academia, and Simon from a theoretical to a more pragmatic approach, we’ll test the hypothesis, and, through evidence and anecdotes, show that in fact it is more complicated and diverse than we had first imagined.

16:05 - 16:15

Closing Remarks

10:00 - 10:10

Welcoming Session

10:10 - 10:40

Effective Elixir Testing Coverage

Your code base has tests, but are you safe to refactor? This talk isn't about getting to a test coverage number, but about how to design ExUnit tests to cover your code's behavior from responses to side effects. We will touch on test theory, using test doubles, and demonstrate some ways to test asynchronous code.

11:00 - 12:30

Putting it together - Elixir + gRPC

12:30 - 13:00

Coffee Break

13:00 - 14:30

Actual E2E Testing with Cypress, Vue and Elixir/Phoenix, using Ecto sandbox

Test suites are often called E2E, even when, due to valid reasons, we have to mock out important parts of our setup, such as the database, or even a backend API. With Elixir as backend, it's possible to use and expose the Ecto sandbox to make writing proper, isolated E2E tests, each having their own data setup, a breeze.

14:40 - 15:20

Exploring Practices of Growth and Decline

Software development is a wonderfully conflicted mix of art and science. This keynote will examine leverage. Specifically, we'll dive into practices, processes and code organization that lead to compounded growth, or decay, of development organizations.

15:20 - 15:30

Closing Remarks

15:30 - 16:30

Dinner & After-party

Bring your food and drinks