A long-time blockchain enthusiast and software developer, Phillipp loves bringing his fervent knowledge into developing scalable and innovative solutions. He is also passionate about educating others about blockchain technology. Currently working as the æternity Elixir team lead, Philipp studied Mediainformatics at LMU Munich and is very enthusiastic about following agile methods to develop well-engineered software with clean code. While his friends might describe him as “tech-savvy”, we’re most interested in his passion and curiosity toward learning about new technologies. Recently we asked him about Erlang vs Elixir, the importance of inclusive payment systems, and what it’s like to train a new generation of developers to make blockchain technology part of the future.

How did you get involved with this blockchain thing?

I got interested in blockchain some time ago and have since tried to follow all developments in this space up until today. I met Yani multiple times at a Bitcoin Meetup and he introduced me to the idea of æternity. After some time he asked me to help make æternity a reality.

What makes junior developers good at developing blockchain?

People new to software development tend to have a lower bias for specific ways to write their code. Therefore, having them understand new concepts is usually easier, as they don’t try to apply it to approaches they already know. This is especially true when thinking about blockchain development.

Most problems in this sector are really different to traditional software development, as they have to be solved in a trustless environment.

What role does prototyping play in your work?

Creating initial prototype implementations for the main æternity features was an important step in educating developers who were new to the space. Developers were not asked to code well-specified features but rather had to come up with solutions to make it work themselves. For example: how to build an oracle system without anyone else being able to provide faulty answers.

Why do you like Elixir?

Elixir is a great functional language, it brings all the benefits of the Erlang/OTP platform together in a simple to read and learn language.

Solving most problems in Elixir doesn’t require you to think a lot about the language itself, but lets you focus on your data structures and algorithms.

The language has very little programming overhead and offers some nice “syntactic sugar” over Erlang. For example: piping function outputs into the next one.

Is Elixir your “favorite” language then?

This one is my personal preference. I prefer languages to have a more strict typing system, which forces you to specify data types. In return, the compiler checks for possible mistakes. In our project, we had some bugs and miscommunication because types were not properly adjusted while refactoring or adding new functionality.

This is not a challenge for Elixir itself, more a design decision made for this language. Not having a strict typing system can bring other benefits.

In general Elixir feels like a really mature language for its young age.

Do you feel Elixir is for young people and Erlang is for old?

Yes and no. Elixir offers people that want to experience the advantages of functional programming a lower barrier of entry than Erlang does, as its syntax and general code style are more similar to other “in-fashion” languages. Once you start with Elixir, there is very little benefit to switching to Erlang.