logo

Зарплаты на рынке больше $6 тыс., мало конкурентов. Как я стал эрлангистом: история разработчика BetInvest

В 2000-х годах приложение для обмена сообщениями ejabberd привлекло многих IT-специалистов к языку программирования Erlang. Одну из первых версий своего чата Facebook построил именно на ejabberd.

Тогда программист Сергей Костюшкин тоже увлекся Erlang. Сегодня он возглавляет направление Erlang-разработки в BetInvest. Она делает платформу для букмекерской компании Favbet.

В партнерском материале с Favbet Сергей рассказал MC.today о том, в чем Erlang превосходит другие языки, как его выучить и зарабатывать больше $6 тыс. в месяц.

Партнер проекта?

Как я стал Erlang-евангелистом

Компьютеры и программирование заинтересовали меня еще в школе. Я окончил техникум в Днепре, поступил на вечернее отделение в вуз и параллельно занимался своим стартапом – районным интернет-провайдером. Тогда я много думал о технологиях и мало о прибыли, поэтому стартап не выгорел. Зато я получил опыт программирования на Bash, Ruby, Perl.

Сергей Костюшкин

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

Однажды я узнал о «проблеме 10 тысяч соединений». Это когда компьютер, который в теории может обслужить 500 тыс. соединений, на самом деле выдерживает всего 10 тыс.

Одним из немногих приложений, которые решали эту проблему, был jabber-сервер ejabberd. И он был написан на Erlang. ejabberd в 2001 году начал разрабатывать украинец Алексей Щепин.

Я изучил основы Erlang по примерам кода на официальном сайте языка. Без книг и руководств освоил язык на 30%. В 2009 году вышло первое пособие создателя языка Джона Армстронга Programming Erlang. С его помощью изучил остальные 70%.

Первым местом работы с Erlang для меня стал «ПриватБанк». Там в начале 2010-х тоже столкнулись с «проблемой 10 тысяч соединений», когда разрабатывали чат для клиентов «Приват24». Увидели, как легко с проблемой справился ejabberd, и решили использовать Erlang в других проектах.

Когда я откликнулся на вакансию «ПриватБанка», был уверен, что у компании много крутых эрлангистов. Но оказалось, что я стал первым, кого взяли на позицию Erlang-разработчика. 

Я понял, что этому языку нужно обучать других. Посчитал, что в родном Днепре – городе, где делали космические ракеты, – должна быть сильная школа программирования. На первых порах идею Erlang-курсов в «ПриватБанке» не поддержали. Но я снял офис сам и начал вести бесплатные уроки. В итоге за десять лет курсы окончили более 500 человек.

Сергей Костюшкин

Преподавание сделало меня известным, и я получил приглашение провести курсы в BetInvest. А через два с половиной года мне предложили возглавить направление Erlang-разработки.

Зачем Erlang нужен букмекерской компании

В 2000-х Favbet был небольшой букмекерской компанией, которая работала с клиентами только через кассы. А в начале 2010-х она начала разрабатывать онлайн-платформу.

Сначала платформа была написана на языке PHP. А когда нагрузки стали расти, команда перешла на Erlang. Мы знали, что у популярной британской компании Bet-365 самые большие нагрузки среди букмекеров. И она переписала свою платформу на Erlang. BetInvest сделали так же.

Смотреть вакансии в BetInvest

Благодаря Erlang букмекерская платформа, которую разработали в BetInvest, может обслуживать в разы больше пользователей, чем конкуренты, на одинаковом числе серверов. Это работает и наоборот: при одинаковом с конкурентами числе пользователей платформе нужно меньше серверов. А еще нужно меньше инженеров, чтобы обслуживать платформу.

Платформа Favbet состоит из разных сервисов, которые работают как одно целое. Один из самых загруженных сервисов – система учета денег клиентов. Люди вносят деньги на личные счета, делают с них ставки. И система должна вести учет средств на счете каждого человека.

Этот сервис выдерживает нагрузки в несколько тысяч операций в секунду. А разрабатывают и поддерживают его всего пять эрлангистов.

Сергей Баснин, лидер одной из команд эрлангистов BetInvest:

В 2019 году я окончил курс Сергея Костюшкина и пришел в компанию. Руководитель сразу направил меня в команду, которая занималась сервисом для обработки платежей.

Спустя полгода ее лидер перешел на другую роль и место предложили мне, потому что я был в курсе всех проектов команды. Так быстро я занял должность тимлида.

Сергей Баснин

Интересные свойства Erlang

  • Процессы Erlang умеют «общаться» друг с другом. Если что-то «полетит», один процесс сообщит другому: «Я сломался». И тогда другие процессы перезапустят его. Разработчик может вносить изменения в программу, не отключая пользователей. Они даже не заметят сбой в системе.
  • Защищает системные данные от взлома. Проблемы с безопасностью чаще всего возникают в тех языках, где программисты работают с оперативной памятью напрямую. Например, в C, C++, Java. У Erlang же есть виртуальная машина (виртуальный компьютер, который работает внутри другого компьютера. – Прим. ред.), и она берет эту работу на себя. Поэтому Erlang-разработчик не работает с оперативкой. И у злоумышленника к ней тоже нет доступа, а значит, нет доступа к данным.

Смотреть вакансии в BetInvest

Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp
Erlang Community MeetUp

Что в Erlang может удивить

  1. Синтаксис очень отличается от синтаксиса других языков. Он не похож на синтаксис Java, Python или Ruby. В этих языках операции, которые нужно выполнять много раз, зацикливаются. В Erlang вместо этого нужно написать маленькую программу, которая запускает сама себя. Это называется рекурсией, и новичкам она дается тяжело.
  2. Это язык только для backend-разработки (внутренняя архитектура программы, которая скрыта от пользователя. – Прим. ред.). Это значит, что результат работы не виден на экране: это не кнопки, не меню.
  3. Не подходит для сложных математических вычислений. Математика в этом языке работает медленнее, чем в других языках. Поэтому Erlang – не лучший вариант для криптографии: блокчейна, майнинга криптовалют.

Язык, о котором мало кто знает

Erlang все еще редкий язык программирования, хотя ему больше 30 лет. Его создали в 80-х годах в компании Ericsson специально для телекома. В 2010-х годах он пережил новое рождение: тогда его начали использовать крупные компании, такие как Facebook и WhatsApp.

Сегодня на Erlang пишут мессенджеры, чаты, в том числе в компьютерных играх, стриминговые сервисы (сервисы потоковой видеотрансляции. – Прим. ред.), банковские сервисы и сервисы для букмекерских компаний.

Erlang-разработчиков в Украине немного – около 300 специалистов. Поэтому им важно делиться опытом работы с редким языком. BetInvest поддерживает независимое сообщество эрлангистов, устраивает для них профессиональные встречи.

У украинского сообщества эрлангистов есть Telegram-канал. В нем новички могут задать вопросы опытным разработчикам.

Где можно выучить Erlang

Сейчас освоить Erlang проще, чем 13 лет назад: есть учебники, онлайн-курсы. Но, на мой взгляд, лучше изучать его в аудитории с преподавателем. Так быстрее разберетесь со сложностями.

Курсы по Erlang я веду до сих пор, но сейчас только для компании BetInvest. Мы планируем поэкспериментировать с форматом: человек сможет приходить в офис BetInvest, получать видеолекции, домашние задания, отдавать их на проверку и задавать уточняющие вопросы. Лучших ребят компания будет брать на работу.

Смотреть вакансии в BetInvest

Яна Рыбальченко, Erlang-разработчик в BetInvest:

Яна Рыбальченко

Когда-то я использовала языки программирования как гимнастику для мозга. Я работала DevOps-инженером – устанавливала и настраивала приложения на серверах. Упражнения в программировании на редких языках не помогали в рабочих обязанностях. Зато помогли осознать, что мне хочется сменить профессию с DevOps на разработчика.

Муж-эрлангист посоветовал выучить Erlang, и я записалась на курсы Костюшкина. Женщине, которая только начинает карьеру разработчика, трудно получить работу. А после курсов можно было претендовать на место разработчика в BetInvest. Опыт в DevOps мне помог: я уже знала, как устроена внутренняя, невидимая пользователю, часть интернет-магазина, а сейчас сама разрабатываю эту часть.

Сколько может зарабатывать эрлангист

В Украине эрлангисты зарабатывают до $6,5 тыс. Специалисты с опытом от пяти лет в других странах получают до $10 тыс. Вакансий на DOU, Djinni, Work.ua не так уж и много, но хорошего Erlang-разработчика работа найдет сама. А искать, скорее всего, будут в LinkedIn.

Смотреть вакансии в BetInvest

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

Фото: Александр Козаченко, Марина Оверчук

Партнер проекта?

Смотреть вакансии в BetInvest

Ваша жалоба отправлена модератору

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

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