Максим Ильин изучал программирование в университете, но тогда ему не очень понравилось. Поэтому он восемь лет проработал в продажах, пока не надоело. В это время приятель посоветовал ему прочитать книгу с Erlang. Это была любовь с первого взгляда.

Сейчас Максим – Head of Engineering Core Services в компании Favbet Tech. Он пишет на Erlang уже 12 лет и ничего не собирается менять. Чем интересен именно этот язык, сколько платят за его знания, и какие у него перспективы развития в Украине, Максим Ильин рассказывает в партнерском материале с Favbet Tech.

Почему Erlang? Перспективы развития и применения на рынке

Erlang – это функциональный язык программирования . Ее разработала в 1987 году компания Ericsson для использования в сфере телекоммуникаций. Впоследствии Erlang приобрел популярность и в других сферах, поскольку он ориентирован на разработку высоконагруженных систем, а также очень хорошо работает с параллельными процессами.

Рассмотрим, что это значит, на примере сферы iGaming.

Через минуту платформа Favbet обрабатывает сотни тысяч операций – например, ставок. Каждую нужно проработать: рассчитать, сохранить в базу данных, отправить нотификации другим компонентам платформы. Так что можем говорить о высокой нагрузке, поскольку есть большое количество событий


Новички быстро растут, зарплаты доходят до 276 тыс. гривен. Erlang-разработчик - о своем развитии и карьере

Максим Ильин

Head of Engineering Core Services в компании Favbet Tech

В банкинге так же: каждый платеж – это отдельная операция или событие. Таких событий очень много, и все они обрабатываются параллельно. Похожая ситуация в домене телекоммуникаций, а также интернете вещей (IoT).

Среди мировых продуктов Erlang написана серверная часть WhatsApp, бэкенд чата Facebook, сервисы SMS и аутентификации T-Mobile. В Украине продуктов в указанных доменах меньше, хотя язык использует, например, PrivatBank. Но чем больше будет украинских цифровых банков, мессенджеров и смартдевайсов, тем популярнее будет Erlang. Перспективы для развития: некоторые стартапы, такие как Pibox, Scrapinghub, Klarna и многие другие выбрали для себя этот язык уже на старте.

Как работает Erlang: преимущества и недостатки языка

Favbet Tech использовали Erlang еще тогда, когда написанные на PHP и Python системы показывали слабый результат под увеличивающимися нагрузками. На этот язык переписали 90% core-сервисов. Благодаря этому серверные ресурсы стали тратить в 10, а иногда в 20 раз меньше. Также стали быстрее реализовываться новые компоненты платформы. Как это стало возможным?

Erlang построен на взаимодействии между процессами. У него есть внутренне реализуемая виртуальная машина с уникальной фичей, которая называется «модель актеров» легковесные процессы, которые могут хранить, вычислять и обмениваться информацией», — объясняет Максим Ильин.

Результат: программы получаются достаточно легковесны. То есть, не тратят много ресурсов сервера и могут быстро обмениваться данными и обрабатывать их – в параллельных потоках. Это стало еще более актуальным при появлении мультиядерных процессоров.

Более того, в последних версиях Erlang добавили интеграцию JIT-компилятора. Это увеличило производительность его и без того достаточно эффективной, виртуальной машины на 30-40%.

Кроме того, Erlang – высокоуровневый язык программирования, так что и программы на нем можно писать быстрее и дешевле. Таким образом, имея одинаковое число пользователей с конкурентами, Favbet Tech использует меньше серверов и меньше инженеров для их обслуживания.

Но, конечно, этот инструмент – не панацея для всего. Например, Favbet Tech оставили интеграции с внешними платформами, написанными на PHP, Python и NodeJS. Нагрузка пока там такова, что использовать Erlang нет смысла. Кроме того, Erlang используется только для бэкенда.

Еще язык не подходит для сложных математических вычислений. Для таких задач лучше использовать C++ или Rust, также закрывающие потребности низкоуровневой разработки: реализацию драйверов, сложных математических вычислений и т.д. В зарубежных компаниях часто ищут специалистов, имеющих опыт работы с Erlang в сочетании с низкоуровневыми языками, такими как Rust и C++.

Трудно ли выучить Erlang

У Максима Ильина есть техническое образование, но, по его словам, оно ему не очень помогло в изучении Erlang. Скорее, пригодилось то, что парень в целом ориентировался в технологиях. В частности, он имел представление о том, как работает операционная система или база данных. Так что Максим считает, что язык можно овладеть с нуля, даже самостоятельно, поскольку в интернете много доступной информации. Начинать можно с официального сайта Erlang, где есть примеры кода.

Впрочем, самостоятельное изучение может растянуться на годы, а вот советы опытных коллег значительно ускорят этот процесс. Именно поэтому Favbet Tech запустил свои курсы для новичков.

Favbet Tech набирали студентов-эрлангистов. Но тогда набор был скорее по необходимости: не хватает специалистов на рынке – пора запускать курсы. Сейчас планируют делать это регулярно. Favbet Tech уже разрабатывает программу нового потока, которая включит больше практики и будет рассчитана на три месяца вместо двух.  

Сначала курсы были безвозмездными, но поскольку многие бросали их после 1-2 занятий, в Favbet Tech стали брать небольшую плату – для мотивации.

Мотивация – немаловажный фактор и при отборе студентов. Больший шанс попасть на обучение для того, кто смог самостоятельно овладеть какими-то бесплатными курсами или читал книги на тему.

Конечно, если у человека есть хотя бы начальный опыт программирования на другом языке, это преимущество – ему будет проще в учебе. Легче всего будет перейти в профессию специалистам из другого бэкенда языка, таких как PHP, Go или Java. Условный синьор бэкенд разработчик может светиться в Erlang на мидл-позицию после пары месяцев обучения, поскольку у него будут практические знания по архитектуре и алгоритмам.

Новички быстро растут, зарплаты доходят до 276 тыс. гривен. Erlang-разработчик - о своем развитии и карьере

Максим Ильин

Head of Engineering Core Services в компании Favbet Tech

Новички же с нуля обычно дорастают до джуна примерно за год, а до мидла за 4-5. Но бывают исключения. Например, у Favbet Tech были два очень мотивированных студента, ставших мидлами за 2 года, а начинали с трейни. Сейчас они продолжают развиваться в компании.

Erlang-команда Favbet Tech и сколько может зарабатывать эрлангист

На работу в Favbet Tech после внутренних курсов попадают от 5% до 10% студентов. Когда отбирают людей, смотрят:

  • выполнены все домашние задания и насколько качественно;
  • или заинтересованный человек в технологии и развитии.
В прошлом году благодаря курсам наняли около 10 новых людей. Сейчас в Favbet Tech 40 специалистов по технологии, распределенных по 7 направлениям: платежным системам, ставкам и т.д.

Иерархия стандартна: есть тимлид, опытные и новички. Из любопытного: количество новичков преобладает, их около 70%. Новички могут довольно быстро расти, так как они могут работать с разнообразными платформами, а опытные регулярно делятся своим большим опытом разработки высоконагруженных систем.  

Кстати, в Telegram есть украинское сообщество эрлангистов, где тоже можно общаться с разработчиками, имеющими достаточно разнообразный опыт.

Из-за дефицита специалистов у Erlang-специалистов есть возможность получить больше среднего ценника на рынке, говорит Максим. По данным DOU, медиана для Senior Developer составляет примерно 187 тыс., вместо этого синьор-эрлангист может дойти и до $7000, что составляет примерно 276 тыс. гривен в месяц. Мировые компании оценивают эрлангистов еще выше: по результатам опроса StackOverflow в 2023 году, Erlang стал вторым наиболее высокооплачиваемым языком программирования, со средней годовой зарплатой в $99 492, что составляет примерно 3 млн 931 тыс. гривен.

Новички быстро растут, зарплаты доходят до 276 тыс. гривен. Erlang-разработчик - о своем развитии и карьере

Визуальное оформление статьи осуществлено командой  ITC.UA

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: