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

ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity MeetUp
ErlangCommunity 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

 

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

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

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