logo

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

Зарплати на ринку вищі за $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

У 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

 

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

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