Перейти на Haskell, написать книгу, основать крупнейшее сообщество, переехать в Армению
Все это - часть истории Дениса Шевченко, haskell-энтузиаста, с 2009 года проживающего с семьей в Армении.

Переезд в Армению: причина и как подготовиться
Я переехал 31 октября 2009 года в Раздан, город недалеко от Еревана с населением 50 тыс человек. Помню тот поздний вечер, было холодно и шёл дождь. Главной причиной переезда было здоровье нашего сына: лёгкие у него были слабые. В итоге к трём с половиной годам он был близок к хроническому бронхиту, весьма опасное состояние в таком возрасте. А когда мы раньше приезжали отдыхать в Армению, замечали, что здесь ему гораздо лучше. И из-за того, что его состояние на тот момент ухудшалось, мы решились на эксперимент — пожить пару месяцев в Армении, чтобы ему стало лучше.

И ему действительно стало лучше — все дело в сухом, горном воздухе. Первоначальная цель оправдалась, потом мы поняли, что и нам здесь нравится. Вопрос был только с работой. За полтора месяца до отъезда я подошел к начальнику и поставил его перед фактом, из-за здоровья сына, что является для меня приоритетом, мы переезжаем в другую страну. Я сказал, что если для тебя моя "удалёнка" неприемлема, можешь меня уволить. Если же согласен, давай попробуем. В тот момент я сильно рисковал, ведь если бы он меня уволил, не знаю, что бы я делал. Но к счастью, он сказал — хорошо, давай попробуем. Не всегда потом он был доволен, но в целом работа шла. В той компании я проработал потом еще около года.
Armenian Tech Digest
Новости сектора, интересные вакансии, личные истории и щепотка юмора раз в месяц в вашем инбоксе.
От С++ до Haskell в границах Раздана
О Haskell я впервые узнал в 2012 году. На тот момент моим основным языком был C++, а потому шок от знакомства с языком, в котором отсутствует оператор присваивания, был огромен. Однако полутора годами позже, когда я трудился над бэкендом сервиса электронных учебников, мой интерес к Haskell сначала ожил, затем окреп, а позднее окончательно вытеснил любовь к C++. Впрочем, на мои предложения о том, чтобы попробовать внедрить Haskell в некоторые части бэкенда в нашем проекте, начальник ответил, что это странный язык, странная математика, и специалистов мы не найдем, и вообще лучше оставаться на старом добром С++.

В тот период функциональное программирование было моим домашним, вечерним хобби. Интерес к Haskell в русскоговорящих сообществах уже наблюдался, но он был значительно ниже, чем сегодня. Адекватных учебных материалов и книг было крайне мало, причём именно адекватных, то есть рассчитанных на "нулевых новичков". Как правило, большая часть материалов в мире функционального программирования старой школы рассчитана на то, что человек уже много всего знает и уже имеет сильный математический фундамент. Если же это был обычный программист, пришедший из другого языка, из другой парадигмы и философии — он не понимал ни этой терминологии, ни зачем нужны все эти сложности, ни каково их практическое применение и реальные преимущества в разработке. Поэтому посмотрев на все это, я начал по крупицам собирать объясняющие материалы, излагать их человеческим языком, что в конце концов и воплотилось в маленькой книжке, предназначенной для тех самых "нулевых новичков" — "О Haskell по-человечески".

В 2015 году, когда наш проект прекратил свое существование, я замахнулся на то, чтобы попробовать найти удаленную работу за пределами России и работать уже с Haskell как с основным языком. Так я вышел на международные рынки труда. Сейчас я работаю в компании, зарегистрированной Гонконге.* Впрочем, вещь это условная, ведь многие из сегодняшних IT-компаний распределены по всем миру. Так, мои коллеги трудятся из более чем 11 стран, а руководители компании живут в США.

*Input Output HK — R&D компания, лидер в области криптографии и распределенных систем. Занимается построением криптовалют и блокчейн структуры для академических институтов, правительственных организаций и корпораций. Cardano — первая криптовалютная система, построенная на Haskell, занимает 11 место в рейтинге криптовалют по рыночной капитализации.

Сложностей с интеграцией в международную компанию не было, да и столкновений с иным менталитетом я не почувствовал — айтишники в Америке или в России, во Франции или Японии, это в принципе одной породы люди. Мы все используем одни и те же термины, похожие стеки инструментов, похожие технологии. Главная трудность была с разговорным английским.

В целом переход на Haskell был довольно рискованным шагом с точки зрения карьеры. В тот период я уже был senior developer, 7 лет коммерческого опыта разработки на С++. В новом же направлении я стал зелёным junior, все с чистого листа. Это был риск не только с точки зрения потерь по зарплате, но и по времени: набрать такой опыт, чтобы большую его часть выбросить в ноль. Но в целом, переходишь ли на новый язык в Армении или России — разницы нет.
Дмитрий Скрыпкин
ruHaskell, сообщество русскоговорящих Haskell-разработчиков
В 2014 году, когда я еще работал с C++, у меня и нескольких человек, с которыми мы тогда уже общались онлайн, появилась идея создать структурированное, живое сообщество вокруг Haskell. Я видел, что есть интересующиеся люди в чатах, есть некоторые сообщества, но большинство из них, как говорится, ни живые, ни мёртвые. Мы решили создать площадку, где любой, заинтересовавшийся функциональным программированием, сможет задать вопрос об этом языке, об этой парадигме, найти ответ, опубликовать статью. На данный момент наше сообщество — один из главных ресурсов как для русскоязычных Haskell-дискуссий, так и для поиска хаскельных вакансий в Рунете.

Для многих, кто сейчас работает с Haskell, наше сообщество стало дверью в удивительный мир функциональной парадигмы. Те, кто свободно владел английским, сразу выходили на англоязычные просторы и гораздо раньше понимали, что это перспективная технология. Нам же пришлось разрушать много мифов, которые в свое время, 10 и более лет назад, действительно были справедливы, но нынче уже потеряли актуальность. Нам пришлось многократно это доказывать и повторять. Один из самых устойчивых мифов гласит, что без высшего математического образования в мире функционального программирования делать нечего. И несмотря на то, что корни функциональной парадигмы действительно растут из математики, многие люди успешно применяют эту парадигму в каждодневной работе, не зная ни теорию категорий, ни теорию типов, ни даже смысл слова "эндофунктор".
География
Живя в Армении, я практически не чувствую профессиональных ограничений. Если мы говорим о ежегодных конференциях в таких городах, как Москва, Саратов, Минск, Казань, разница невелика — брать билеты из Москвы или из Еревана. А вот с московским Haskell-сообществом чувствую некую оторванность, мы видимся не чаще чем раз в год. Поэтому не так давно появились шальные мысли попробовать каким-то, пока ещё неизвестным для меня образом, начать говорить о функциональном программировании здесь, в Ереване. Я знаю, что в Ереване развиваются профильные сообщества. Например, вчера был мимоходом на митапе разработчиков на Swift (на котором, кстати, было не менее 60 человек!). И если уж развиваются сообщества по мейнстримным языкам, которые уже давно используются в бизнесе — почему бы не заикнуться о том, что есть не только эти технологии, есть нечто совершенно другое. Я знаю, что большинство конференций здесь перешли на английский язык или же изначально были англоязычными для докладчиков, но есть и такие, на которых можно выступить и на русском. Если появится возможность закинуть удочку в сообщества и показать, что существует иной подход к разработке, несущий свои уникальные преимущества — я непременно воспользуюсь этим.

Сегодня в Армении можно комфортно и безопасно жить, заниматься любимым делом, и получать за это хорошие деньги. IT развивается буквально лавинообразно. Я могу это легко доказать: если сравнить 2009 год и сейчас, сколько было конференций тогда и сейчас — это небо и земля. Сообществ почти не было, вакансий тоже не было. А сегодня — только посмотрите вокруг, найти работу в IT сфере в Ереване не просто возможно, но и легко.

Уже даже трудно сказать, к чему я не привык. Я ощущаю себя здесь как дома, и привык ко всему так, как оно есть. Приезжая в Москву, я воспринимаю, что приехал в гости, хотя это мой родной город. А возвращаясь в Армению, наша семья чувствует, что приезжает домой.

Также мой опыт показывает, что в Армении можно жить без армянского языка. Единственная трудность — иногда психологически дискомфортно, когда в твоем присутствии люди говорят о чем-то интересном, смешном или же серьезном, а ты ничего не понимаешь. Но в общем и целом, отсутствие у меня знания армянского языка не помешало прожить здесь уже почти десять лет, приобрести здесь недвижимость, бессрочно зарегистрироваться, получить права и купить автомобиль.
Дмитрий Скрыпкин
За годы жизни здесь я получал предложения по работе из США, Германии, Сингапура, Австралии, причем как по моему прежнему направлению С++, так и по Haskell. Имея эту возможность, мы сознательно отказались от этого, потому что не видим в этом никакой необходимости. В современной Европе и странах подальше есть, разумеется, свои плюсы, это правда, но есть и определенные минусы. И некоторые из таких минусов для нашей семьи являются неприемлемыми. Один из таких минусов — безопасность взрослых и детей. Это неправильно — жить в стране, в которой не можешь спокойно отпустить детей одних погулять. В Ереване мы совершенно спокойны.

За последние 20 лет многие страны изменились, и не все в лучшую сторону. А вот Армения стала приятным исключением. Многие люди, которые отговаривали нас от переезда сюда, помнили Армению 1998 года. Естественно я бы не хотел жить в Армении середины девяностых, время был очень трудное: были проблемы и финансового характера, и политического, и даже националистического. Но времена прошли, и Армения сегодня и тогда — это небо и земля. И если столько всего произошло за последние годы, то сколько же всего произойдет в ближайшие 5 или 10 лет!

Если вы не нашли ответа на свой вопрос, свяжитесь с нами по почте hi@itis.am, мы с радостью ответим.

Подпишись на рассылку со свежими вакансиями и получай до 1000$ за успешную рекомендацию