Що має знаті Data Scientist. Аналіз вакансій в Україні та Каліфорнії
Ця стаття буде корисною насамперед тім, хто починає свій шлях у Data Science та хоче мати орієнтир, які технології є затребуваними на ринку праці. І допоможе не витрачати час на опанування навичок, яким, найімовірніше, не вдасться знайті застосування. Або навпаки: свідомо обрати шлях вузькоспеціалізованого експерта в технологіях, які трапляються рідко, проте спеціалісти в них на вагу золота.
У попередніх статтях цієї серії ми аналізували лише вакансії рівня Senior: iOS/js , 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 . Остання до високої зарплатні дає також 4-5% акцій у проєкті.
У Uklon діє 7-годинний робочий день і гнучкий графік.
DataArt запрошує працювати в будь-якому з центрів розробки компанії, які розташовані в різних країнах. Діє гнучкий графік і можливість віддаленої роботи.
Для роботи в Titanium Labs буде плюсом знання мови програмування Julia. У чому Julia переважає Python, можна прочитати тут .
Каліфорнія
Компанія Instagram готова прийняти на роботу Data Scientist з освітою в галузі політології або експериментальної психології. Для Warner Bros. диплом бакалавра політології також підходить .
Berkeley Lab потрібен Data Scientist зі спеціалізацією на біоінформатиці.
Думки технічних експертів
Ольга Мажара, викладачка дисципліни «Штучний Інтелект» у КПІ та Senior Java Developer в Intellias
Передусім будь-який Data Science Engineer має досконало розуміти проблему та галузь, в якій працює. І що глибше розуміння, то кращих результатів можна досягти. Знання конкретних технологій не зможе компенсувати незнання проблематики завдання. Стало вимогою і впевнене володіння англійською мовою. Що самостійніша роль у спеціаліста, то вищі вимоги до знання мови, адже необхідно багато спілкуватися як щодо проблеми, так і щодо представлення отриманих результатів.
Крім того, Data Science — це комбінація знань математики та програмування. Головні математичні підходи не змінюються роками, а їх знання дають змогу розуміти все те, що відбувається всередині ML-бібліотек, а отже, розуміти, як оптимально налаштувати алгоритм (підібрати навчальний набір даних, зверни гіперпараметри навчання тощо). Серед обов'язкових розділів математики: матричний аналіз, диференціальне та інтегральне числення, методи оптимізації, тензорний аналіз.
Щоб розібратися у технологічному стеку, варто звернути увагу на специфіку роботи Data Science Engineer, яка, своєю чергою, залежить від команди та проєкту:
- якщо йдеться про дослідницьку активність, то зазвичай у таких проєктах є добре підготовлені та структуровані набори даних, а на перше місце виходять знання в специфічній галузі. Дуже ймовірно, що доведеться зіткнутися з 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, Microsoft, Google Cloud)
Активно розвивається і в подальшому буде мати більший попит.
Domains/Business Knowledge
Оскільки завдання Data Scientist — вирішувати завдання бізнесу, важливо знати його специфіку. Доменні знання завжди дадуть вам величезну перевагу (наприклад, в FinTech, Gaming, Retail, Healthcare і інших сферах).
Soft skills
Цього пункту немає на діаграмі, але софт скіли не менш важливі в комплексі з пунктами 1-3.
- 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 із Лондона — про ринок Британії та майбутнє великих даних
Візуалізація даних:
Опубліковано: 04/06/20 @ 10:16
Розділ Різне
Рекомендуємо:
Кейс: Просування сайту побутової техніки Bosch і Siemens в топ 3
Кейс: Просування сайту побутової техніки Bosch і Siemens в ТОП3
Світло і тінь ІТ-реальності: як поєднуються РМ/ВА функції
Android дайджест #39: презентація бета-версії Аndroid 11, Studio 4.0, новий погляд на AlertDialog
Атоми, молекули та інша хімія. Огляд платформи Dell Boomi