Formerly a trading systems developer in the City of London and a Scala consultant, Zahari Dichev works at Bullet.io, helping companies abandon paper and digitize their business processes with Scala. A passionate advocate of mechanical sympathy and contributor to the Akka Affinity dispatcher, he is interested in sharing his knowledge and views on Scala, Akka, performance and the JVM.
In advance of his talk Creating Native iOS and Android Apps in Scala without tears at Scala Days Lausanne, we spoke to Zahari about his first speaking experience at Scala Days, the problems Scala solves for him and why choosing the right approach is the biggest challenge developers face.
What is your most favorite Scala Days story or memory?
I have only been to Scala Days once but I will certainly never forget the amazing feeling when facing this huge audience in the big auditorium last year. Since this was my first talk, I was quite nervous.
I remember having my cell phone in my pocket put on silent. During my talk, I kept receiving vibration notifications and was wondering who is so keen on reaching me at this very moment. It was only after the talk that I realized these were all the positive tweets that were mentioning my talk as I was delivering it. Needless to say the feeling of fulfillment was amazing…
What’s your background and what does your current role involve?
I am a Scala Developer at Bullet.io, where I work within an amazing team of developers on a product that aims to digitize paper-based processes within the enterprise. We are pushing Scala to the limit in every way possible and doing some amazing things such as building our mobile apps in pure Scala.
What’s the biggest highlight of your career so far?
I have been involved in quite a few projects over the years ranging from products in financial markets to consumer apps. I think the last year has been the best as I have teamed up with some amazing people and we are constantly pushing the boundaries of what’s possible. Lately, we have been developing SCAR, which is a framework for writing native mobile apps in Scala. To me, this whole last year has been a blast and every day is a highlight. We have developed some amazing Scala technology and have made what we thought impossible a reality.
Why did you choose Scala and what kind of problems does it solve for you?
Having spent some time in Java-land, it was refreshing to pick up Scala and reap all the benefits that it brings. The strong type system, the immutable – by – default approach and the amazing community is what makes the language my first choice. The fact that it runs on the JVM is a huge advantage as well as it gives us a well-defined memory model that provides safety and performance when writing concurrent programs. Scala and its expressiveness allow me to focus on the essence of problems instead of dealing with language semantics.
What is the biggest challenge Scala developers are facing today?
The language is extremely powerful and allows for creating different kinds of tools and abstractions to deal with the same problem. One of the challenges that I see a lot of Scala developers face these days has to do with choosing the right approach. For example, we are flooded with proliferation of frameworks that address the problems of dealing with concurrency in a principled way. Sometimes it is hard to weigh the pros and cons and choose the right tool for the right job. On top of that this seems to split the community into “camps” that are heavy advocates of one approach over the other. I feel staying liberal and not becoming a proponent of only one framework/approach is what quite a few people seem to have trouble with.
What can help address this challenge?
I feel having community events that are encouraging diversity of views and opinions is what can alleviate this challenge. In that sense, I think Scala Days is doing a great job, welcoming speakers with different opinions and uniting them.
Who should attend your talk at Scala Days and why?
People who are interested in pushing the limits of Scala and who are ready to break the status quo. If you are a small team and need a mobile client but do not want to learn yet another language and a ton of frameworks for building one, come check out my talk to see how we used pure Scala to build our mobile app.
Whom would you like to connect with at the conference?
I am hoping to connect with as many people as possible. One of my desires is to spend more time doing open source development so connecting with like-minded people who work on interesting projects is what I am looking forward to.
Anything else you’d like to mention?
I am absolutely impressed by the fact that the Scala Days organizers provide daycare. This is yet another example of the focus on diversity. Keep it up!