Стажування в SAP, Dev Challenge та робота в Exabeam – інтерв’ю з Зіновієм Зубко

Стажування в штаб-квартирі SAP в Німеччині, друге місце в Dev Challege та робота у стартапі з кібербезпеки Exabeam – про це розпитали у Зіновія Зубко, Scala Developer’а Exabeam.

 


Як і чому ти потрапив в IT?

Я закінчив УФМЛ (український фізико-математичний ліцей), і вступаючи на факультет кібернетики в Шевченка, вже відразу знав, що хочу бути розробником і творити інформаційно-інноваційний прогрес. Наприкінці першого курсу, вирішив що треба сконцентруватись на певній мові програмування для початку. Оскільки вирішив, що хочу зробити конкуренцію мільярдам інших програмістів на Stack Overflow, я обрав Java. На початку третього курсу влаштувався Java розробником в продуктову компанію Proizd.UA, яка займається розробкою сервісу для продажу залізничних квитків. На четвертому курсі отримав пропозицію на стажування в SAP, в їх штаб-квартиру в Німеччині.

Звичайно, час проведений в Німеччині був дуже класним, але спокійне та розмірене життя не для мене (сміється). Також проект в SAP дав мені розуміння наступної мови програмування, з якою вирішив продовжити свій шлях – Scala. Цього разу мені пощастило більше – я отримав пропозицію від компанії Daxx приєднатися до проекту Exabeam як Scala Developer.

 

Як ти отримав стажування в SAP?

Я потрапив через німецьку програму, яка відбирала студентів з різних сфер, від програмування і фізиків, до менеджерів і аграрників. Першими двома етапами були мотиваційний лист та інтерв’ю з організаторами програми. Якщо вони були пройдені успішно, програма закидала твоє резюме в компанію, яку ти хотів. Найцікавішим кандидатом для мене був SAP, і мене подавали в їхній BigData відділ, продукт SAP HANA Vora. Оскільки хайп взяв своє, ще перед цією програмою я почав цікавитись BigData – технологіями та підходами. Тому розуміння того, що я зможу запускати Hadoop кластера не тільки локально для обробки 1 GB, мотивувало мене добре підготуватись до інтерв’ю, та після роботи до ночі вирішувати задачі на leetcode.

Я потрапив у Spark Team. Також, відразу дізнавшись, що буду програмувати на Scala, вирішив за місяць до стажування почати своє знайомство із  нею. Все, що я знав про Scala до цього, був тільки цей мем:

SAP Vora – це альтернатива Apache Spark, яка краще інтегрована з поточними сервісами SAP, а Spark Team займається написанням інтеграції між кластерами Spark i Vora. Іншими словами, клієнти, в яких вже був налаштований процес за допомогою Spark, могли легко перейти на Vora. В моєму проекті в SAP я мав написати бібліотеку на Scala, для імпорту даних з Apache Hive до SAP Vora. Тому я дуже ціную цей досвід, адже довелось досить глибоко розібратись з Apache Hive.

Крім професійного досвіду, за час стажування ми декілька разів орендували машину і вирушали в подорожі, адже SAP відшкодовувати значну частину оренди машини. За ці три місяці, ми побували в Німеччині, Швейцарії, Ліхтенштейні, Люксимбурзі, Нідерландах та, в захваті після фільму “Дюнкерк”, на декілька годин заїхали до Франції на місця де проходила “Дюнкерська евакуація”. Це було легко, адже в ЄС ти можеш не помічати як перетинаєш кордон та змінюєш країну за країною. Тому подорожі також можуть бути мотивацією, щоб подаватись на стажування саме в Європу.

 

Що було після повернення в Україну? Чому обрав Exabeam?

Повернувшись до України, я вирішив, що хочу працювати зі Scala та системами, які важко запустити на своєму ноутбуці. Після того, як розібрався з університетом, запустив джина і вже через кілька тижнів в мене були пропозицій від кількох компаній, серед них і пропозиція від компанії Daxx з проектом Exabeam. В Exabeam я відразу йшов на Scala позицію, і продукт Exabeam також звучав мега цікаво.

Останнє інтерв’ю було із СТО проекту, і це було одним із вирішальних критеріїв. Адже, коли ти знаєш, що співбесіду буде проводити людина, яка має кілька дипломів закінчила Stanford та останні 20 років працювала EVP – це показує, що компанія має серйозні наміри і досить ретельно підходить до підбору кандидатів.

Також підкупив той факт, що Exabeam – стартап Кремнієвої долини і частина команди знаходиться в Сан-Матео, Каліфорнія, а це те, чого я також хотів від майбутньої роботи. У випадку з Exabeam, стартап не означає, що цій компанії рік і ми працюємо за воду. В нас культура стартапу, ми розвиваємося шаленими темпами.  Exabeam увійшов в топ 10 стартапів 2018 року та розширює команди в кожній із локацій.

 

Розкажи про Exabeam?

Exabeam займається кібербезпекою, а саме розробкою платформи, яка аналізує поведінку користувачів в системі та виявляє можливі її взломи. На пальцях, це працює так: якщо уявний програміст Василь, працюючи в уявній компанії, об 11 ранку намагається запушити код в master, то система виявить, що тут щось не так, адже цей програміст зазвичай ще не працює, бо перші кілька годин він грає в теніс та перевіряє пошту. Ця платформа складається з трьох основних систем – AA (Аdvanced Аnalitycs – виявляє, що Василя хтось хоче підставити), IR (Incident Responder – реагує на “підставу”) та проект, на якому я працюю, – DL (Data Lake – система, що зберігає , агрегує та обробляє всі дані, зібрані про Василя).

Іншими словами, кожного разу, коли Василь робить git push origin/master -force, система, перебуваючи  в повному розпачі, все ще буде про це знати. Оскільки це кібербезпека, ми не маємо доступу до даних наших клієнтів, тобто, ми продаємо клієнтам фізичні сервера, де вже встановлене наше програмне забезпечення. Оскільки клієнт сам обирає характеристики машин, і, звичайно, ніхто не хоче платити більше, то “залізо” підбирається досить критично . Тому це той проект, не соромлячись, можна назвати highload, адже 1% запитів має значення, та потребує підвищеної надійності.

 

Які задачі стоять перед тобою зараз?

Як я й казав, Exabeam – стартап, а це означає що з’являються нові бізнес вимоги, які ми з командою імплементуємо. Адже, кожний продукт повинен вирішувати проблеми користувачів, а не проблеми розробників, типу вийшов ангуляр версії 100500, а давайте все перепишемо, бо щось 100499 версія вже не трендова.

Водночас, ми приділяємо досить багато часу покращенню існуючих фіч та нашої інфраструктури, роблячи її більш гнучкою та відмовостійкою. Звичайно, бізнес це головне, але якщо в Exabeam ти маєш класну ідею, що може покращити продукт,  та можеш її обгрунтувати, її візьмуть до розгляду. Працюючи перші місяці, я знаходив моменти, де і як систему можна покращувати, запропонував і обґрунтував написання внутрішнього модуля. Отримавши час на PoC (proof of concept), я зробив презентацію, її схвалили, і вже в наступному спринті ми будемо це реалізовувати. Звичайно, я не буду казати, що проекти ідеальні, і не доводиться резолвити “hadoop dependencies”, але це означає, що є над чим працювати і що покращувати, проявляючи себе та приносячи користь компанії.

 

Які були найскладніші задачі, які довелося вирішувати тобі і твоїй команді?

Важко навести щось конкретне, адже майже кожного дня вирішуєш цікаві та водночас складні задачі. Значна частина складності полягає в тому, що якщо в якогось клієнта щось не спрацювало, то ти не можеш запитати приклад даних і тд, адже, як я й сказав, все, що розроблено – встановлюється на машинах клієнта і ми не маємо доступу до них. Тому це інколи виглядає ось так:


Це вносить свої корективи в розробку, ми маємо робити її досить безпечною та приділяти увагу кожній деталі.


Окрім роботи якось проводите час з командою?

Дуже класно! При виборі компанії, для мене важливим критерієм були відносини в команді та й в компанії в цілому. Моя перша компанія Proizd.UA була невеликою (6 людей) і заклала ідею того, що в компанії ви можете бути не тільки колегами, а й друзями. Тому дуже тішуся, що не помилився і цього разу . Влітку, в будні дні перед роботою ми часто їздили плавати на SUP boards. Також, разом з колегами відкрив для себе сквош, тому намагаємося  декілька разів на тиждень грати, адже за 5 хв від офісу є SportLife, що робить заняття спортом (при бажанні) ще легшим. Ходимо на конференції, або просто буває увечері виходимо в бар та обговорюємо баги гугла та як би ми його краще переписали:) А взагалі, я й ще й досі здивований, адже при тому, що в офісі знаходиться ~40 людей, всі люб’язні і досить добре комунікують.

 

Які перспективи розвитку Української команди Exabeam?

Український офіс шалено росте. Рік тому тут було ~5 людей, зараз маємо наміри до кінця року вирости до 50+. До нас часто приїжджають менеджери та інші розробники із США, останній раз до нас приїжджав  СТО, про якого я вже розповідав. Також майже кожного місяця Exabeam відправляє у відрядження до США розробників із України, щоб познайомитись із командою та просто відчути дух Кремнієвої долини.
Також цікавий факт, що в штатах Exabeam набирає розробників лише рівня Senior. А це не ті сіньйори, яких можеш зустріти в нас – коли ти за два роки вивчаєш фреймворк і, не знаючи що таке бінарний пошук, ідеш на senior позицію, щоб клепати форми на html (може це звучить грубо, але нікого не хотів цим образити). Тому той факт, що їм подобається наша робота, ідеї та якість коду, все-таки щось означає.

 

Як ти прийшов до свого рівня експертизи, якими порадами можеш поділитися?

ІТ сфера дуже стрімко росте та розвивається і тому ти повинен розуміти тренди, щоб розмовляти “на ти” з задачами та бізнесом. А щоб виходити із проектів на Java 4, потрібно натхнення, яке тебе буде мотивувати  продовжувати розвиватись. Тому я вважаю, що найголовніша риса, яка повинна бути присутня в ІТ – це наполегливість та мотивація, вона вирішує досить багато. Процитую слова мого колеги: “За 5 років 80% досвіду, який ти отримав, стає все менш і менш релевантним”. Але звичайно, це більше стосується технологій. Такі поняття, як алгоритми, структури даних, архітектурні рішення – живуть набагато довше.

Я ніколи не вважав, що мені недостатньо цієї мотивації. Починаючи свій шлях, я намагався набратися досвіду звідусіль, де міг його знайти. Спочатку я пройшов it-cluster, де брав участь в першому для мене колективному проекті, пройшов Java курси в NetCracker, брав участь в студентських стартапах, де дійсно платили водою. Дякуючи хакатонам, мав можливість спробувати розвивати свій власний проект. Я впевнений, що для розробника початківця хакатони є дуже важливими подіями. А ще на третьому курсі університету я взяв друге місце в DevChallenge 2017 в номінації backend та категорії pro, чим дуже пишаюся.

 

Розкажи більше про DevChallenge

Мені про DevChallenge розповіли друзі, які також перед цим брали у ньому участь. Коли дізнався більше, я зрозумів, що це найбільший конкурс по розробці в Україні, тому вирішив, що хочу проявити себе і спробувати позмагатись з іншими розробниками в моїй сфері. DevChallenge триває декілька місяців та складається з трьох етапів – кваліфікація, півфінал і фінал. На перших двох етапах у вас є тиждень на розробку, а в фіналі все відбувається протягом 6-8 годин.

У конкурсі є різні напрямками (в моєму випадку це був backend) та дві категорії: Standart  (junior-middle) та Pro (middle-senior). Звичайно, будучи студентом третього курсу, спочатку я збирався подавати свої рішення на Standart, але під час кваліфікації мені здалось, що я можу реалізувати весь функціонал та підходи, які вимагали в Pro. Тому, після кваліфікації мене відібрали в Pro і я продовжив участь в цій категорії. Під час цих місяців організатори постійно робили класні мітапи та конференції. На фінал приїхали компанії-партнери – Amazon та Facebook, але в моєму напрямку – backend, судді були з Amazon. Під час всього конкурсу мені доводилось швидко вчити та розбирати нові технології та архітектурні підходи, щоб розробляти сервіси максимально ефективно. Також класно те, що рішення мали бути не тільки готовим сервісом, а й з кодом, документацією, та поясненням чому ти вибрав саме ці технології та підходи. Тому я розумів, що не можу просто скопіювати код своїх друзів програмістів із Stack Overflow, та прикрутити це “як небудь”, хоч і було досить мало часу на вивчення нових фреймворків.

Насправді, я дуже вдячний організаторам чемпіонату  за чудову організацію, та звичайно, сподіваюся, що в майбутньому вже буду брати участь як суддя 🙂


 

До речі, відкриті вакансії Exabeam тут.

Share this article