Armenia: a place to explore new languages and broaden your horizons
Denis Shevchenko is a Haskell enthusiast who has been living with his family in Armenia since 2009. For the past 10 years he switched from C++ to Haskell, wrote a book, found the biggest Russian-speaking Haskell-community.

Moving to Armenia: why and how
On 31st of October 2009 I moved to Hrazdan, a town not far from Yerevan with a population of 50k people. I remember that evening vividly, it was cold and raining. The main reason for the move was our son's health condition, he has weak lungs. And by the age of 3,5 years he was on the verge of chronic bronchitis that is a rather dangerous condition at that age. When we were visiting Armenia for the holidays, we noticed that here he felt much better. And because his condition kept deteriorating we decided to spend a couple of months in Armenia for him to get better.

Thanks to dry mountain air his health did improve. Our initial goal was reached and then we realized that we ourselves like living here. The only issue was my job. A month and a half before leaving for Armenia I approached my manager and told him that my first priority is my son's health and because of it we are moving to a different country. I told him that if a remote job does not work for him he can fire me. And if he is fine with it then we could try. That was a huge risk. At that moment I had no idea what I would have done if he had fired me. Fortunately, he agreed. Then he was not always happy with that decision but in general work went fine. We worked that way for about a year.
From C++ to Haskell
I first heard about Haskell in 2012. At that time I was working on C++ and was pretty shocked when started to learn the language without an assignment operator. Time passed and my interest got stronger and later completely replaced my love to C++. Year and a half later I was working on the backend of an e-textbook service. To my suggestions to introduce Haskell into our project my manager replied that it is a strange language, strange math and that we would never find a specialist, so it is better to stick to the tried-and-true C++.

At that time functional programming was just my hobby. Haskell was much less common in russian-speaking communities than today. It was hard to find adequate books and learning materials. And when I say adequate I mean those that are suitable for beginners. The majority of materials were for those who already know a lot and have strong mathematical background. An ordinary developer who wanted to switch from another language, paradigm and philosophy understood neither terminology nor what is the purpose of those difficulties and their practical use and advantages in development. Learning about Haskell I started to gather materials. As a result I wrote a small book for complete beginners - "Talking about Haskell in a comprehensible way".

In 2015 when our project ceased to exist I ventured to find a remote job with Haskell as my main language. That was my first step into an international job market. Now I work for a company registered in Hong Kong.* However its location is purely a formal matter. Nowadays many IT companies have teams distributed all over the world. My colleagues work from more than 11 countries and our company's executives live in the USA.

*Input Output HK — is a research and development company and industry leader in the fields of cryptography and distributed systems. It builds cryptocurrencies and blockchains for academic institutions, government entities and corporations. Cardano is the first cryptocurrency to be based in Haskell code, it is 11th biggest cryptocurrency by market capitalization.

I had no difficulties with integration into an international company. IT professionals are basically the same sort of people no matter whether they are from America, Russia, France or Japan. We all use the same terminology, similar stacks and instruments. The main problem was with speaking English.

Transition to Haskell was rather risky move in terms of my career. At that time I was already a senior developer with 7 years of commercial experience in C++ development. With Haskell I became an inexperienced junior developer who had to start everything from scratch. It was risky not only because of lower salary but also because most of my experience was no longer needed. But in general it doesn't really matter whether you switch to a new language in Russia or Armenia.
Дмитрий Скрыпкин
ruHaskell, biggest community of Russian-speaking Haskell developers
In 2014 when I was still working with C++, I and a couple of people I met online had an idea to build active community around Haskell. There was interest, but most of chats and websites were more dead than alive. We decided to create a platform where anyone interested in functional programming could ask a question about the language or paradigm, find an answer, publish an article. Today our community is the main source for russian-speaking Haskell developers to learn and discuss the language or find a job.

Our community became a gate to the fascinating world of the functional paradigm for many developers who now work with Haskell. Those who are fluent in English never had a problem with access to information and could much earlier understand that it is a promising technology.

We, in our turn, had to dispel a lot of myths that were true 10 or more years earlier but are no longer relevant. We had to prove and repeat it many times. One of the most persistent myths states that functional programming is only for those who have a degree in math. While it's true that origins of functional programming lie in math many people successfully utilise this paradigm in their daily work without knowing either category theory or type theory or even what an endofunctor is.
Geography
Living in Armenia I don't feel professional limitations. If we speak about annual conferences in Moscow, Saratov, Minsk or Kazan it makes very little difference whether to fly from Moscow or Yerevan. That said, I feel quite disconnected from Haskell community, we meet once a year at the most. Not long ago I got a crazy idea to start speaking about functional programming in Yerevan but for now I have no idea how. I know that tech communities flourish in Yerevan. For example, yesterday I dropped by Swift developers meetup, there were around 60 people. Why not to mention on one of such kind of events that there is something completely different.

I know that most conferences here switched to English or were English-speaking from the very beginning but there are also those where one can easily present in Russian. If an opportunity opens up to acquaint communities with a different approach to programming, which has its own unique advantages, I'll take it for sure.


Quality of life
In Armenia today you can lead a comfortable and safe life, do what you love and earn decent money for it. IT develops exponentially and I can easily prove it. If you compare year 2009 and now the difference between the number of conferences is like night and day. There were almost no communities and no vacancies. While now it's not only possible but also easy to find a job in IT sector in Yerevan.

It's already difficult to say what I'm not used to in Armenia. I feel at home here and I'm used to everything the way it is. Even though I lived all my life in Moscow, now when I go there I feel as if I were going on a visit. And coming back to Armenia feels like homecoming to us.

Also my experience shows that one can live in Armenia without knowing the language. The only difficulty is that it's sometimes psychologically uncomfortable when people speak about something interesting, funny or serious and you don't understand a word. Still not knowing Armenian didn't prevent me from living here for almost 10 years, buying a house, obtaining a permanent residence permit, getting a licence and buying a car.
Дмитрий Скрыпкин
For the past 10 years I got job offers (both C++ and Haskell) from the USA, Germany, Singapore, Australia. While we had an opportunity to relocate we deliberately passed it up because we don't see the need. We see certain advantage in living in the European states, but also see the cons. One of these disadvantages is safety of both us and children. I don't find it right to live in a country where you don't readily allow your children to go for a walk alone. In Yerevan we don't worry about safety at all.

For the past 20 years many countries have changed and not all to the better. And Armenia is a pleasant exception. Many people who discouraged us from moving here remembered Armenia of 1998. Of course, I wouldn't want to live in Armenia in the mid-1990s, it was a very difficult time in terms of economic and political situation and even nationalism. However, time passed and Armenia now is a completely different country. And if so much has happened in recent years, just imagine how much can change in the next 5-10 years!

If you have any questions left, write us on lp@itis.am.