Когда у меня просят совет о том как попасть в data science, я советую стать разработчиком программного обеспечения. Это мое мнение. Я бы хотел услышать контраргументы в комментариях.
Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это самая сексуальная профессия 21 века, но это не значит, что нужно игнорировать отличную, высокооплачиваемую профессию разработчика.
Часто недавние выпускники и люди, меняющие профессию, спрашивают меня как попасть в data science. Я советую им стать разработчиками вместо этого.
Имея опыт в обеих сферах, я попытаюсь убедить вас, что я прав.
Вакансий на должность разработчика на порядок больше, чем вакансий на должность data scientist.
Ниже представлена пара скриншотов с результатами запросов на вакансии “data scientist” и “software engineer”.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/6f3/f28/429/6f3f28429f22c5e7a842772a202d13b9.png)
google: data scientist usa indeed
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/406/bb2/82f/406bb282f2d4bd837521800371164598.png)
google: software engineer usa indeed
7616 вакансий в data science по сравнению с 53893 вакансиями в сфере разработки ПО. Это данные по Америке, но я думаю в других странах будет похожий результат.
Согласно Glassdoor, data scientists зарабатывают больше, но у меня есть неподтвержденная гипотеза, что в data science в среднем больше сеньоров.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/397/5bc/3d5/3975bc3d5523aa4b98d79d2ff84e14a6.png)
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/386/d6c/167/386d6c167e70290ec2cf68eb205cd1b1.png)
Источник: www.glassdoor.ca
Если вам предлагают зарплату в размере 1 миллиона долларов в Open AI, берите.
У руководства часто нет понимания того, что такое data science. Также учитывая правила бизнеса, у руководства не всегда есть возможность строго следовать определениям ролей.
Это значит, что обязанности data scientist будут отличаться в зависимости от компании.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/844/a60/c7d/844a60c7d9f4d05cb9f5c9e541bb580f.png)
В то время как идеальный перечень ролей для разработчиков и data scientist существует, ему вряд ли будут следовать на практике. Особенно это касается стартапов, которые все еще выстраивают свою инфраструктуру.
Нанятые сотрудники работают над проблемами, которые нужно решить компании в данный момент, а не выполняют “роль”, для которой их нанимали.
Мои коллеги говорят, что многие data scientists в итоге пишут бэкенд как обычные разработчики. Я знаю других “data scientists”, которые рассчитывают финансы в excel. Это просто смешно.
Это суровая реальность, которая явно не совпадает с вашими ожиданиями, если вы выросли на соревнованиях Kaggle.
Многим компаниям не нужно так много data scientists как разработчиков. Другие компании нанимают своих первых data scientists прямо сейчас.
По этой причине многие data scientists в итоге работают одни, даже если сидят за тем же столом, что и разработчики.
Из-за этого трудно получить фидбек и мнение со стороны. Разработчики либо не понимают предиктивное моделирование, либо слишком заняты работой над другими проблемами.
Одно из преимуществ работы разработчиком в том, что ты всегда можешь сказать коллегам: “Мне кажется мы должны выполнить ABC с помощью XYZ. Что вы об этом думаете?”.
Приготовьтесь вести этот диалог с самим собой… или резиновой уточкой.
Приготовьтесь к неловким беседам с начальством, объясняя почему нельзя использовать то, на что вы потратили 2 недели.
Разработчики работают над решенными проблемами, а data scientists над нерешенными. В этом их принципиальное отличие.
Не беря в учет баги и зависимости, в большинстве случаев в разработке вы знаете выйдет ли что-нибудь хорошее из проекта еще до того как приступили к работе. Про машинное обучение нельзя сказать того же. Ты не узнаешь эффективна ли модель пока не построишь ее.
Даже во времена, когда каждая IT компания это компания с искусственным интеллектом, у большинства из них нет инфраструктуры для поддержки ИИ или даже необходимости в нем.
Глава data science отдела в успешном и быстро растущем стартапе недавно поделился со мной советом за чашкой кофе.
Сначала ты выясняешь в чем проблема, затем строишь инфраструктуру, потом приносишь все это data scientists. Это небыстрый процесс. (Я перефразировал)
Другая первоклассная data scientist в известной компании пожаловалась мне, что ее заставляли использовать модели искусственного интеллекта с большими данными на ноутбуке, а не в облаке.
Если вас взяли на работу и не дали вам конкретной проблемы для решения или компания просто еще не готова к data science, вам придется постараться, чтобы доказать свою ценность.
Стать джуном в разработке все равно, что получить магистра в сфере технологий. Вы узнаете всего понемногу.
Вы выучите базы данных, облачную технологию, развертывание, безопасность, способы написания чистого кода.
Вы узнаете как управлять процессом разработки, наблюдая за скрам мастером, сеньором или продукт менеджером.
Вы познакомитесь с менторством благодаря код ревью.
Если вы устроитесь в компанию со слаженной командой разработчиков, вы гарантированно быстро разовьете свои навыки и обзаведетесь хорошим бэкграундом в области разработки ПО.
За счет более всестороннего опыта с технологиями разработка ПО дает больше возможностей дать заднюю, если вы решили, что нужны перемены.
DevOps, работа с безопасностью, фронтенд, бэкенд, распределенные системы, бизнес-аналитика, инженерия данных, data science.
Я знаю множество разработчиков, перекочевавших в data science. Если вы просмотрите описание вакансий в сфере data science, то заметите что они сплошь состоят из основных навыков разработчика.
Если вы можете создать проект от начала до конца, вы можете сделать больше чем построить модель для Kaggel. Вы можете взять эту модель, запустить ее в производство, добавить авторизацию и Stripe и начать взимать плату с пользователей. Вот вам и стартап.
Я бы никогда не стал спорить с тем, что из data science некуда уйти. Принятие решений на основе данных это killer skill. Но чем больше мы будем зависеть от данных, тем востребованней будет этот навык в каждой профессии.
Чем более общедоступным и легким в использовании становится искусственный интеллект, тем чаще разработчики будут использовать его для решения своих проблем.
Я могу научить разработчика строить Sklearn классификаторы за один вечер. Значит ли это, что он сможет построить новый AlphaGo? Нет. Но это даст альтернативу тяжеловесному коду для ввода данных пользователя, построенному на условиях.
У data scientists есть особые знания статистики и интуиция касательно работы модели. Но у DevOps-ов и инженеров по безопасности тоже есть специализированные знания.
Опытный разработчик может примерять на себя любую роль быстрее, чем новичок будет ее осваивать.
Я не думаю, что нас ждет полное слияние data science и разработки. Однако есть ощущение, что data science может легко стать одной из областей разработки.
Как бы глупо это не звучало, я стал заниматься разработкой в 2014 году, потому что думал, что ИИ сделает все другие профессии ненужными.
Не считая отдельных сфер, ничего особо не изменилось, люди продолжают делать свою работу. Внедрение технологий это медленный процесс, а искусственный интеллект более узко-направленный, чем медиа пытается заставить вас думать.
В вопросе автоматизации разработки ПО машинное обучение и рядом не стоит с другими профессиями. До тех пор пока у нас есть стартапы, которые создают что-то вроде ИИ для автодополнения кода, написание кода сложно считать профессией. Профессия заключается в решении проблем с использованием технологий.
Оригинальность, вот что останется ценным и высокооплачиваемым навыком.
Во-первых, написанное субъективно. Во-вторых, я понимаю, что дал общую оценку data scientists, специалистам по машинному обучению и исследователям искусственного интеллекта. Но я думаю эти аргументы все равно стоит учитывать, это же ваша карьера.
Не воспринимайте слишком серьезно. Я бы предпочел, чтобы вы поисследовали эту тему и сделали свои собственные выводы. Это часть работы data scientist, в конце концов :).
Если уж на то пошло, нам платят за решение проблем.
![image](https://habrastorage.org/r/w780q1/webt/nk/j2/oz/nkj2oztxanscb6lhq19l-dfv2z8.jpeg)
Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя онлайн-курсы SkillFactory:
Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это самая сексуальная профессия 21 века, но это не значит, что нужно игнорировать отличную, высокооплачиваемую профессию разработчика.
Часто недавние выпускники и люди, меняющие профессию, спрашивают меня как попасть в data science. Я советую им стать разработчиками вместо этого.
Имея опыт в обеих сферах, я попытаюсь убедить вас, что я прав.
Вакансий на должность разработчика больше
Вакансий на должность разработчика на порядок больше, чем вакансий на должность data scientist.
Ниже представлена пара скриншотов с результатами запросов на вакансии “data scientist” и “software engineer”.
![image](https://habrastorage.org/getpro/habr/post_images/6f3/f28/429/6f3f28429f22c5e7a842772a202d13b9.png)
google: data scientist usa indeed
![image](https://habrastorage.org/getpro/habr/post_images/406/bb2/82f/406bb282f2d4bd837521800371164598.png)
google: software engineer usa indeed
7616 вакансий в data science по сравнению с 53893 вакансиями в сфере разработки ПО. Это данные по Америке, но я думаю в других странах будет похожий результат.
Согласно Glassdoor, data scientists зарабатывают больше, но у меня есть неподтвержденная гипотеза, что в data science в среднем больше сеньоров.
![image](https://habrastorage.org/getpro/habr/post_images/397/5bc/3d5/3975bc3d5523aa4b98d79d2ff84e14a6.png)
![image](https://habrastorage.org/getpro/habr/post_images/386/d6c/167/386d6c167e70290ec2cf68eb205cd1b1.png)
Источник: www.glassdoor.ca
Если вам предлагают зарплату в размере 1 миллиона долларов в Open AI, берите.
Нет споров на тему того, что такое data science
У руководства часто нет понимания того, что такое data science. Также учитывая правила бизнеса, у руководства не всегда есть возможность строго следовать определениям ролей.
Это значит, что обязанности data scientist будут отличаться в зависимости от компании.
![image](https://habrastorage.org/getpro/habr/post_images/844/a60/c7d/844a60c7d9f4d05cb9f5c9e541bb580f.png)
В то время как идеальный перечень ролей для разработчиков и data scientist существует, ему вряд ли будут следовать на практике. Особенно это касается стартапов, которые все еще выстраивают свою инфраструктуру.
Нанятые сотрудники работают над проблемами, которые нужно решить компании в данный момент, а не выполняют “роль”, для которой их нанимали.
Мои коллеги говорят, что многие data scientists в итоге пишут бэкенд как обычные разработчики. Я знаю других “data scientists”, которые рассчитывают финансы в excel. Это просто смешно.
Это суровая реальность, которая явно не совпадает с вашими ожиданиями, если вы выросли на соревнованиях Kaggle.
Data science обособлен
Многим компаниям не нужно так много data scientists как разработчиков. Другие компании нанимают своих первых data scientists прямо сейчас.
По этой причине многие data scientists в итоге работают одни, даже если сидят за тем же столом, что и разработчики.
Из-за этого трудно получить фидбек и мнение со стороны. Разработчики либо не понимают предиктивное моделирование, либо слишком заняты работой над другими проблемами.
Одно из преимуществ работы разработчиком в том, что ты всегда можешь сказать коллегам: “Мне кажется мы должны выполнить ABC с помощью XYZ. Что вы об этом думаете?”.
Приготовьтесь вести этот диалог с самим собой… или резиновой уточкой.
Data science это исследования
Приготовьтесь к неловким беседам с начальством, объясняя почему нельзя использовать то, на что вы потратили 2 недели.
Разработчики работают над решенными проблемами, а data scientists над нерешенными. В этом их принципиальное отличие.
Не беря в учет баги и зависимости, в большинстве случаев в разработке вы знаете выйдет ли что-нибудь хорошее из проекта еще до того как приступили к работе. Про машинное обучение нельзя сказать того же. Ты не узнаешь эффективна ли модель пока не построишь ее.
Компании не готовы к искусственному интеллекту
Даже во времена, когда каждая IT компания это компания с искусственным интеллектом, у большинства из них нет инфраструктуры для поддержки ИИ или даже необходимости в нем.
Глава data science отдела в успешном и быстро растущем стартапе недавно поделился со мной советом за чашкой кофе.
Сначала ты выясняешь в чем проблема, затем строишь инфраструктуру, потом приносишь все это data scientists. Это небыстрый процесс. (Я перефразировал)
Другая первоклассная data scientist в известной компании пожаловалась мне, что ее заставляли использовать модели искусственного интеллекта с большими данными на ноутбуке, а не в облаке.
Если вас взяли на работу и не дали вам конкретной проблемы для решения или компания просто еще не готова к data science, вам придется постараться, чтобы доказать свою ценность.
Разработка ПО дает более широкие знания
Стать джуном в разработке все равно, что получить магистра в сфере технологий. Вы узнаете всего понемногу.
Вы выучите базы данных, облачную технологию, развертывание, безопасность, способы написания чистого кода.
Вы узнаете как управлять процессом разработки, наблюдая за скрам мастером, сеньором или продукт менеджером.
Вы познакомитесь с менторством благодаря код ревью.
Если вы устроитесь в компанию со слаженной командой разработчиков, вы гарантированно быстро разовьете свои навыки и обзаведетесь хорошим бэкграундом в области разработки ПО.
Разработка ПО более гибкая
За счет более всестороннего опыта с технологиями разработка ПО дает больше возможностей дать заднюю, если вы решили, что нужны перемены.
DevOps, работа с безопасностью, фронтенд, бэкенд, распределенные системы, бизнес-аналитика, инженерия данных, data science.
Я знаю множество разработчиков, перекочевавших в data science. Если вы просмотрите описание вакансий в сфере data science, то заметите что они сплошь состоят из основных навыков разработчика.
- Опыт с SQL и Python, R или SAS
- Знакомство с AWS
- Знакомство c Linux
- Знакомство с экспериментальным дизайном для бизнес экспериментов
- Знакомство с DevOps системами, такими как GtLab
Если вы можете создать проект от начала до конца, вы можете сделать больше чем построить модель для Kaggel. Вы можете взять эту модель, запустить ее в производство, добавить авторизацию и Stripe и начать взимать плату с пользователей. Вот вам и стартап.
Я бы никогда не стал спорить с тем, что из data science некуда уйти. Принятие решений на основе данных это killer skill. Но чем больше мы будем зависеть от данных, тем востребованней будет этот навык в каждой профессии.
Машинное обучение станет инструментом разработчиков
Чем более общедоступным и легким в использовании становится искусственный интеллект, тем чаще разработчики будут использовать его для решения своих проблем.
Я могу научить разработчика строить Sklearn классификаторы за один вечер. Значит ли это, что он сможет построить новый AlphaGo? Нет. Но это даст альтернативу тяжеловесному коду для ввода данных пользователя, построенному на условиях.
У data scientists есть особые знания статистики и интуиция касательно работы модели. Но у DevOps-ов и инженеров по безопасности тоже есть специализированные знания.
Опытный разработчик может примерять на себя любую роль быстрее, чем новичок будет ее осваивать.
Я не думаю, что нас ждет полное слияние data science и разработки. Однако есть ощущение, что data science может легко стать одной из областей разработки.
Искусственный интеллект не заменит разработчиков
Как бы глупо это не звучало, я стал заниматься разработкой в 2014 году, потому что думал, что ИИ сделает все другие профессии ненужными.
Не считая отдельных сфер, ничего особо не изменилось, люди продолжают делать свою работу. Внедрение технологий это медленный процесс, а искусственный интеллект более узко-направленный, чем медиа пытается заставить вас думать.
В вопросе автоматизации разработки ПО машинное обучение и рядом не стоит с другими профессиями. До тех пор пока у нас есть стартапы, которые создают что-то вроде ИИ для автодополнения кода, написание кода сложно считать профессией. Профессия заключается в решении проблем с использованием технологий.
Оригинальность, вот что останется ценным и высокооплачиваемым навыком.
Заключение
Во-первых, написанное субъективно. Во-вторых, я понимаю, что дал общую оценку data scientists, специалистам по машинному обучению и исследователям искусственного интеллекта. Но я думаю эти аргументы все равно стоит учитывать, это же ваша карьера.
Не воспринимайте слишком серьезно. Я бы предпочел, чтобы вы поисследовали эту тему и сделали свои собственные выводы. Это часть работы data scientist, в конце концов :).
Если уж на то пошло, нам платят за решение проблем.
![image](https://habrastorage.org/webt/nk/j2/oz/nkj2oztxanscb6lhq19l-dfv2z8.jpeg)
Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя онлайн-курсы SkillFactory:
- Курс «Профессия Data Scientist» (24 месяца)
- Курс «Профессия Data Analyst» (18 месяцев)
- Курс «Python для веб-разработки» (9 месяцев)