A few months ago we had the opportunity to interview Jamie Winsor about his experience using Elixir in production.
Jamie is a software engineer at Undead Labs. Undead Labs is game development studio, which was founded in 2009 by Jeff Strain, a former Blizzard employee and one of the co-founders of ArenaNet. They’re using Elixir to power their distributed online game platform.
Watch the video below or read the interview to get to know his experiences with Elixir.
José Valim: Hi everyone, I’m here at Erlang Factory with Jamie Winsor. Can you tell us a little bit about where do you work, what do you do?
Jamie Winsor: I work at Undead Labs, we work on online gaming experiences. The current game we’re working on is Moonrise, it’s currently available in closed beta on PC, Mac, iOS and Android. We are creating online gaming experiences from what originally were single player games. The previous game was State of Decay on Xbox Live arcade.
My job specifically is building platform services. An online game is typically three parts. There is a game client, game server and platform. Platform is game agnostic and highly available and it’s hugely distributed. You can have any number of players connected and any number of games connected to exactly the same platform, at the same time. If you played a Blizzard game there is Battle.net, if you used League of Legends there is pvp.net. At Undead Labs we created our own platform and it’s all built on Elixir.
José Valim: Oh, awesome! So, you already have Elixir in production?
Jamie Winsor: Oh yeah, absolutely.
José Valim: Cool. And I think it’s a quite a while that you are running it?
Jamie Winsor: Yeah! So, we started using Elixir in development since v0.9.0, maybe in August 2013. We were early adopters of Ecto as well. We adopted that really early on. It’s been great to see the community and the software grow up with our platform and it seems like it was at the right time too.
Jamie Winsor: With Elixir, we have this language that is really approachable, that is built on top the Erlang VM and it’s also extremely extensible. It has a package manager and great tooling. And specifically why I’m excited about this is that I tried to bring Erlang to my last number of companies and it was really hard to gain adoption and get people excited about it. At Undead, we now have eight engineers that work with Elixir. It was much easier to advocate. They are from the C and C++ background, never have done that functional programming, never had done even similar syntax like Ruby or Python. And they use this language (Elixir) and they’re really productive, they understood the process model.
Jamie Winsor: With Elixir you have the tooling, the syntax is actually very approachable and very familiar, the documentation is absolutely amazing and the community is super helpful.
José Valim: Thanks a lot.