Interview with Kamil Skowron Book - https://www.elixircryptobot.com Frathon Youtube Channel - https://www.youtube.com/c/Frathon
Pleased to share a short interview with Kamil Skowron, a long time Elixir Enthusiast that has written a book (Hands-on Elixir & OTP: Cryptocurrency trading bot) & runs a popular Youtube channel dedicated to his Elixir projects.
Hayden: For those that aren’t familiar with your work, could you tell us a bit more about your background & the content you’ve created so far? Kamil: Hi, I’m Kamil, an Elixir-focused YouTuber and author. A little bit over a year ago, I started a YouTube channel(https://www.youtube.com/c/Frathon) dedicated to Elixir. In the meantime, I was approached by many people that prefer reading books with requests to write down all the knowledge from my videos into a book. That’s how the “Hands-on Elixir & OTP: Cryptocurrency trading bot” book was born. Its fully open source and available freely online at https://www.elixircryptobot.com. Both are still in progress. The book has 17 finished chapters and more than 220 pages at the moment of writing this.
Hayden: What’s the main focus of the book/videos?
Kamil: My book's target audience is people who went through the tutorial on Elixir's website, but they would like to solidify their knowledge by finishing a non-trivial project. Cryptocurrency trading bot just happens to be complex enough(from the engineering perspective) to showcase a lot of Elixir & OTP’s features. We start from scratch and go through all the stages of the development cycle, from designing/architecting to implementation. As we progress with the book, it highlights the shortcomings of the previous implementations, considers options to fix them and proceeds to refactor. This iterative development cycle is very close to one that developers will see in their daily work. The end product is a fully working, cryptocurrency trading bot released to production(the release part is yet to be written) and hopefully tons of Elixir & OTP skills gained on the journey to get there :)
Hayden: Could you tell us a bit about how you began working with Elixir? If I recall, you were interested long before it became popular! Kamil: I needed to look this up on my LinkedIn :) I had my first full-time Elixir gig in June 2017, and I think you are right. Elixir at that time wasn’t even close to the level of popularity that it benefits from those days. I was very interested in functional programming at that time(I still am), and I was looking for a functional programming language that I could work in full time. I was fortunate to find a company invested in Elixir where I fell in love with the language.
Hayden: What do you think makes Elixir such a great choice to build something Crypto-focused?
Kamil: I think that Elixir is well suited for various problems, but it absolutely shines in the ones where parallelism is a natural way of scaling things. Cryptocurrency trading is that sort of engineering problem. It’s very intuitive to architect a trading system in Elixir as it maps one-to-one with its processes and supervision tree. That makes this sort of system an ideal candidate for an Elixir & OTP educational book that will cover all important aspects of the language.
Hayden: Are there any drawbacks in using Elixir vs another language? Kamil: Speed could be the main concern, but I believe it’s a non-factor in the cryptocurrency trading world as there’s just not enough liquidity in the market to trade at a sub-millisecond level (HFT - high-frequency trading). With HFT out of the way - Elixir is a great tool for the problem space - especially after recently introduced ML and math libraries <3 (not part of the book) Hayden: Other than FinTech/Crypto, in which domains do you think Elixir is most powerful?
Kamil: I’ve found Elixir to be an all-around great tool for problems that aren’t CPU intensive. That will make it best suited for apps like messaging servers(Discord/WhatsApp), Web Applications(Pinterest), game servers(call of duty, game of war) and many others. Hayden: What would you predict for the future of Elixir… & Erlang for that matter? Kamil: If Elixir can sustain the growth that it is experiencing now, I believe that we could see a day when it will be a de facto standard for non-trivial web apps a little bit like Rails at some moment.
Hayden: What advice would you give to an Elixir Newbie?
Kamil: Learn by doing - it doesn’t matter what. Start with something attainable in a week and progress to bigger projects, iterate, learn and enjoy the journey as it’s a precious experience.
Hayden: Which projects do you have in mind for the future? Could you tell us a bit about them?
Kamil: I have multiple ideas going around my head, but when I will (finally :P) finish my book, I think I’m planning to focus solely on YouTube until it grows to some reasonable size. You can expect many random topics related to Elixir & OTP, as well as functional programming in general.