Що має знати Data Scientist. Аналіз вакансій в Україні та Каліфорнії
Ця стаття буде корисною насамперед тим, хто починає свій шлях у Data Science та хоче мати орієнтир, які технології є затребуваними на ринку праці. І допоможе не витрачати час на опанування навичок, яким, найімовірніше, не вдасться знайти застосування. Або навпаки: свідомо обрати шлях вузькоспеціалізованого експерта в технологіях, які трапляються рідко, проте спеціалісти в них на вагу золота.
У попередніх статтях цієї серії ми аналізували лише вакансії рівня Senior: iOS/macOS, PHP, Java, Front-end, C++. Однак у Data Science позицій Senior надто мало, щоб їх могло вистачити для аналізу. Тому обрали Middle, Senior та Lead, які вимагали від 1 до 10 років досвіду в професії.
Вакансії України взяті на DOU, вакансії Каліфорнії — на LinkedIn. Усі вакансії були активні станом на 30 травня. З них відібрали 50 позицій від найбільш відомих та престижних компаній: по 25 в Україні та Каліфорнії. Раніше в цій серії ми аналізували всі вакансії. Однак досвід попередніх випусків показав, що на 25 вакансіях уже вимальовуються всі основні тенденції.
У дослідження потрапили вакансії таких компаній в Україні: A123Lab, Autodoc, Blackbird Lab, Brightgrove, CASAFARI, Ciklum, CHI Software, DataArt, Fozzy Group, Jooble, Kyivstar, lifecell, Lohika, MacPaw, Parimatch Tech, Proxet, Ring Ukraine, Sebale, Smart Capital Center, Surprise.com, Titanium Labs, Uklon, Unicheck, Windsor.ai, WIX.com, у Каліфорнії: Adobe, Amazon, Apple, Atlassian, Autodesk, Berkeley Lab, eBay, Facebook, Google, Grammarly, HP, Instagram, Netflix, NVIDIA, PayPal, Pinterest, Rakuten Viber, Roku, Sensor Tower, Slack, Snap, Tesla, TikTok, Warner Bros, Zoom.
Фундаментальна підготовка важливіша за знання інструментів
Серед інструментів аналізу даних і ML немає очевидних лідерів. 10 різних інструментів з різним призначенням так чи інакше трапляються у вакансіях. Це і середовище розробки Jupyter Notebook, і інструменти аналізу даних Pandas, NumPy та SkiPy, і інструменти ML, як-от SciKit-Learn і TensorFlow.
Про конкретні інструменти візуалізації даних у вакансіях зазначають украй рідко. Траплялися згадки Matplotlib, Tableau та ggplot, але частіше просто пишуть, що фахівець мусить вміти візуалізувати дані.
Загалом створюється враження, що роботодавці не надто вимагають знання конкретних інструментів, водночас до наявності фундаментальних знань ставляться прискіпливо. Так, знання алгоритмів ML вказують у 44% вакансій в Україні й 48% у Каліфорнії. Математичні навички згадують 32% вакансій в Україні та 40% у Каліфорнії.
Віджет з усіма вимогами у вакансіях Data Scientist
Велику роль відіграє наявність бази в програмуванні. В Україні це, як правило, Python. У Каліфорнії до нього додається R, згаданий там у 56% вакансій проти 20% в Україні. В окремих випадках потрібно знати C++, якщо робота пов’язана з комп’ютерним зором, або Scala, якщо треба працювати з Big Data. Також йдеться про Matlab і Java.
Для каліфорнійських вакансій Data Scientist характерний високий попит на магістерські дипломи. А ще є рекордна кількість згадок PhD як плюс, якщо порівнювати з вакансіями розробників. Це індикатор того, що велику увагу приділяють фундаментальній підготовці спеціаліста. Вона для роботодавців при наймі Data Scientist на першому місці.
Рівень володіння англійською
У 56% вакансій в Україні вказують знання англійської мови, причому в 48% це вимога і лише в 8% як плюс. Однак для тих, хто не володіє мовою на рівні Advanced, є гарна новина: цього здебільшого і не треба. Як правило, уточнюють, що потрібен рівень Intermediate або Upper-Intermediate. Загалом про рівень володіння англійською йдеться в 36% вакансій: у 20% потрібен Intermediate, в 12% Upper-Intermediate і лише в одній вакансії вказали Advanced.
А все-таки рівень володіння мовою впливає на зарплатню. Порівняймо компенсацію Data Scientist залежно від рівня англійської згідно з альтернативним зарплатним віджетом. На жаль, останні дані про зарплати були зібрані DOU ще до карантину, в грудні. Однак ці цифри вважаємо орієнтиром:
- Pre-Intermediate. 5 анкет. $1634 на місяць після податків.
- Intermediate. 29 анкет. $1475.
- Upper-Intermediate. 49 анкет. $2273 .
- Advanced. 15 анкет. $3643.
Різниця в річному доході спеціалістів з різним рівнем англійської є рекордною в Data Science. Порівняймо Advanced та Intermediate: (3 643 — 1 475) x 12 = $26 016 на рік.
Цікавинки, знайдені у вакансіях
Україна
В офісі MacPaw живуть два «антистресових» коти.
Компенсацію до 5 тисяч доларів пропонують відразу три компанії: Smart Capital Center, Sebale, A123Lab. Остання до високої зарплатні дає також
В Uklon діє
DataArt запрошує працювати в будь-якому з центрів розробки компанії, які розташовані в різних країнах. Діє гнучкий графік і можливість віддаленої роботи.
Для роботи в Titanium Labs буде плюсом знання мови програмування Julia. У чому Julia переважає Python, можна прочитати тут.
Каліфорнія
Компанія Instagram готова прийняти на роботу Data Scientist з освітою в галузі політології або експериментальної психології. Для Warner Bros. диплом бакалавра політології також підходить.
Berkeley Lab потрібен Data Scientist зі спеціалізацією на біоінформатиці.
Думки технічних експертів
Ольга Мажара, викладачка дисципліни «Штучний Інтелект» в КПІ та Senior Java Developer в Intellias
Передусім будь-який Data Scientist має досконало розуміти проблему та галузь, в якій працює. І що глибше розуміння, то кращих результатів можна досягти. Знання конкретних технологій не зможе компенсувати незнання проблематики завдання. Стало вимогою і впевнене володіння англійською мовою. Що самостійніша роль у спеціаліста, то вищі вимоги до знання мови, адже необхідно багато спілкуватися як щодо проблеми, так і щодо представлення отриманих результатів.
Крім того, Data Science — це комбінація знань математики та програмування. Головні математичні підходи не змінюються роками, а їх знання дають змогу розуміти все те, що відбувається всередині
Щоб розібратися у технологічному стеку, варто звернути увагу на специфіку роботи Data Scientist, яка, своєю чергою, залежить від команди та проєкту:
- якщо йдеться про дослідницьку активність, то зазвичай у таких проєктах є добре підготовлені та структуровані набори даних, а на перше місце виходять знання в специфічній галузі. Дуже ймовірно, що доведеться зіткнутися з Deep Learning та Reinforcement Learning підходами, а отже, знадобиться глибоке розуміння та вміння використовувати сучасні архітектури нейронних мереж;
- якщо йдеться про Startup, то зазвичай, окрім Data Science компетенцій, більшою мірою треба працювати над даними: збором, очищенням та попередньою обробкою. Зокрема, володіти методами та техніками аналізу викидів, заповнення пропущених даних, займатися базами та сховищами даних, готувати та розмічувати набори даних. Важливими є і навички з візуалізації та представлення результатів. Те саме стосується роботи у великій команді, коли Data Science інженери працюють над типовим запитом від замовника: існує величезний набір даних, який треба перетворити на business value.
У будь-якому разі набір технологій залежить від того, з якими даними доведеться працювати. Однак здебільшого всі перераховані активності з легкістю можна виконати за допомогою сучасних і швидких бібліотек для машинного навчання NumPy та SciPy, а також популярних фреймворків для Deep learning: TensorFlow, PyTorch та Keras.
Додатково для тих, хто бажає розвиватися в напрямі комп’ютерного зору, рекомендую поглиблювати свої знання в галузі згорткових нейронних мереж (convolutional neural network). Механізми їхньої роботи доволі прості, проте важливо знати всі архітектури та переваги. Для тих, кого цікавить робота з текстами та NLP, — рекурентні нейронні мережі (LSTM, GRU, attention models тощо). Інформацію про останні розробки у сфері варто шукати в наукових публікаціях від провідних компаній та інститутів світу.
Анастасия Головенко, Data Scientist в Beetroot
Чтобы стать востребованным на рынке Data Scientist, иметь перспективы роста и высокую зарплату, нужно:
Math
Математическая база, знание, понимание ключевых ML (+DL) алгоритмов, а также сфера на выбор:
- NLP
- Computer Vision
- Reinforcement Learning
- AutoML
Это наиболее популярные направления. Каждое имеет свой набор технологий, алгоритмов, моделей, задач, о которых нужно знать. Примитивные задачи вскоре будут решаться с помощью AutoML, и никто не будет нанимать Data Scientist для построения моделей предсказания. Поэтому, чтобы оставаться востребованным, стоит выбирать одно из 4 направлений.
Computer Science/IT
- Python 3 (R и Scala менее популярные и для более узкого набора задач, но, наверное, это может означать, что конкуренция на такие вакансии меньше)
- IDEs: Jupyter Notebooks, Google Colab, PyCharm
- Databases (SQL, NoSQL, GraphDBs)
- Cloud Technologies (AWS, Azure, Google Cloud)
Активно развивается и в дальнейшем будет иметь больший спрос.
Domains/Business Knowledge
Поскольку задача Data Scientist — решать задачи бизнеса, важно знать его специфику. Доменные знания всегда дадут вам огромное преимущество (например, в FinTech, Gaming, Retail, Healthcare и других сферах).
Soft skills
Этого пункта нет на диаграмме, но софт скиллы не менее важны в комплексе с
- English (!) — как еще читать те тысячи статей, которые выходят про state of art?
- Communication — общение с командой для получения представления о продукте, сбор данных/знаний, подтвердить свои концепции/модели, реализовать их для поддержки существующего продукта или создать новые, а также иметь навыки визуализации;
- Self-management — интегрированные в циклы разработки Аgile-исследования/разработка моделей;
- Leadership skills — не помешают, чтобы в перспективе стать тимлидом или возглавить R&D.
Что касается материала, то, опираясь на свой опыт, могу сказать так:
- Java, C++ имеют отношение к разработке, а не ДС.
- Matlab кем-то используется, но кто эти люди, я не знаю.
- Конкретные библиотеки перечислять нет смысла. Скорее всего Data Scientist будет использовать и Pandas, и NumPy, и Sklearn, и SciPy, и matplotlib, так что нужно понимать, что и где находится. Keras/TF vs PyTorch — уже больше дело вкуса и конкретно поставленных задач.
- Если в вакансии написано MS Excel, то скорее всего в компании его кто-то все еще использует. Поговаривают, что это тоже дейта сайенс, но тут человеку, который ищет работу, уже стоило бы задуматься (к перспективам и зарплате это отношения не имеет).
- В Big Data — Spark всё же наиболее популярный. SAS — немного устарелый и используется в фармацевтике (насколько я знаю).
- Базы данных — это индивидуальный выбор компании. Data Scientist нужно понимать основные виды и отличия.
- Любые скиллы и знания в разработке — это плюс.
Антон Тарасов, Senior Machine Learning Engineer в Intellias
Згадую анекдот про те, що Data Scientist — це спеціаліст, який програмує гірше за девелоперів, знає математику гірше за математиків і комунікує гірше за бізнес-аналітика.
Якщо відкинути жарти, то щоб бути хорошим Data Science спеціалістом, треба на високому рівні знати як програмування, аби опрацьовувати дані та імплементувати моделі, так і математику, щоб глибоко розуміти, яким чином працюють моделі та що ж за дані опрацьовуєш. А ще добре комунікувати, щоб розібратися у проблемах бізнесу й розв’язувати саме їх.
Науковець у сфері даних, як і науковий співробітник в інших галузях, займається дослідженнями та висуває гіпотези. Намагаючись передбачити щось за допомогою машинного навчання чи досліджуючи дані в пошуках інсайтів, треба валідувати свої припущення щодо природи даних і результати побудованих моделей. У цьому, крім глибокого знання Machine Learning алгоритмів, допоможуть знання зі статистики, теорії імовірності, математичного аналізу, лінійної алгебри та дискретної математики. Окремо варто згадати Natural Language Processing та Computer Vision домени, які нині бурхливо розвиваються.
Стосовно технологій та навичок програмування, актуальними для Data Scientist’a будуть навички візуалізації, обробки даних, роботи з базами даних і побудови алгоритмів машинного навчання. Найбільш активною у сфері є ком‘юніті розробників на Python. Як новинки, так і класичні методи мають свої реалізації цією мовою програмування. Вона дає змогу швидко експериментувати та операціоналізовувати готові моделі. Корисними будуть такі технології:
- Jupyter — допомагає швидко досліджувати дані та моделювати. Нещодавно Google навіть відкрив можливість безкоштовно, щоправда, обмежено використовувати ресурси, щоб створювати, запускати та ділитись Jupyter Notebooks colab.research.google.com;
- NumPy, Pandas — це де-факто стандарт для роботи з табличними даними та векторними обчисленнями;
- Scikit-Learn, XGBoost — за їх допомогою можна в кілька рядків коду натренувати велику кількість моделей;
- PyTorch, TensorFlow — ці бібліотеки від Google та Facebook дають можливість реалізовувати та використовувати готові моделі на базі нейронних мереж;
- Matplotlib, Seaborn, Plotly — допоможуть візуалізувати дані;
- Flask — мікрофреймворк, який допоможе операціоналізувати вашу модель і зробити для неї REST API, що зможуть використовувати інші розробники.
Звісно, технології будуть різнитись від проєкту до проєкту, але це той базис, який стане в пригоді для багатьох Data Science завдань. Окрім використання готових реалізацій, спеціаліст має вміти реалізувати алгоритм самостійно, озброївшись пейпером і бібліотекою, що дасть можливість використовувати базові обчислення.
Але не тільки hard skills важливі. Якщо для участі в Кaggle-змаганнях чи дослідницької роботи можна сфокусуватись на суто технічних навичках, то для успішної проєктної роботи треба розуміти завдання бізнесу та якісно комунікувати із замовником. Якщо вимоги та очікувані результати розуміють неправильно, це негативно впливає на стосунки з клієнтом. Тому Data Scientist має вміти чітко донести інформацію про те, що стосується опрацювання даних, оцінки складності завдання, можливих ризиків, пов’язаних з якістю та кількістю даних, як і де ще їх можна дістати, а також впродовж роботи демонструвати результати так, щоб це було зрозуміло й без його експертизи. Успішна комунікація вбереже час і гроші на завдання, яке не потрібно було вирішувати, і сфокусує на тому, що можна досягнути.
Що ще почитати
Раджу почитати інші статті, що виходили на DOU, на тему Data Science:
- Мапа розвитку в Data Science, або Як стати дослідником даних
- Як безкоштовно вчитися на магістратурі з Data Science у Європі. Досвід українки
- Senior Data Scientist із Лондона — про ринок Британії та майбутнє великих даних
Візуалізація даних: Ігор Яновський