Мой путь в data science
3 месяца назад в одном из комментариев я упомянул, что нахожусь в процессе трудоустройства в дата-саентисты из совершенно другой области деятельности. Около 20 человек попросили рассказать об этом подробнее, когда закончится мой испытательный срок. Вот он заканчивается, но мне уже сказали, что я прошел, так что вот рассказ.
## Немного предыстории.
Я работал с 2013 года на одном месте, а с 2015 года я стал занимать низкую руководящую должность и это было плохо. Напрягали и снизу и сверху, из-за чего процесс выгорания занял гораздо меньше времени, чем можно предположить. Фирма занималась разработкой систем автоматизации химических предприятий, а начальствовал я в сборочном цехе, а значит занимался не только руководством, но и складом, и сборкой, и погрузками-разгрузками, и в командировки ездил, и снег зимой чистил. Интеллектуального развития минимум, зато смог отладить процесс так, что стало появляться много свободного времени, которое я тратил на просмотр пикабу и прочего. И вот, в октябре 2019 я решил, что хватит растрачивать свой потанцевал и надо заняться чем-то интересным. Я вспомнил о том, что в 2015 году я проходил профориентационный тест на hh и он мне показал склонность к аналитике. Тогда я на это дело забил, какая еще аналитика с отверткой в руках, а теперь, в 27 лет, вспомнил и решил посмотреть, что есть в этой области и увидел дата сайенс.
## Процесс обучения
Стоит отметить, что с айти я косвенно сталкивался и исключительно в личных интересах. Как-то ковырял ардуино недолго, еще однажды решил изучать программирование и прошел курс по с++, там была самая база, но курс очень хороший (я даже пытался изучать более углубленно, но тогда застрял на указателях и не осилил). Еще упомяну, что по специальности, которую я получил аж в 2013, я сервисник транспортных и технологических машин и оборудования. В институте на программировании мы разве что оттачивали навык подсчета открывающих и закрывающих скобочек.
Так вот вернусь к октябрю прошлого года, когда 7 числа я открыл курс на степике по введению в машинное обучение (чуть ниже я прикреплю ссылки на некоторые полезные курсы и ресурсы), прочитал описание, увидел, что необходимо предварительно изучить, закрыл курс и начал по списку: python, алгоритмы, статистика, анализ данных и т.д. Только к новому году я дошел до курса по введению в МО и прошел он, после этой базы, как по маслу, а там пошли уже и нейросети.
Многие не верили, что за 3-4 месяца можно освоить профессию. Так вот мой вам ответ - и правда нельзя. Но я прикладывал очень много усилий. Как уже упоминал, у меня было некоторое количество свободного времени на работе, которое я полностью тратил на обучение. 3 месяца я совершенно не просматривал развлекательный контент: ни кино, ни сериалы, ни пикабу - я приходил с работы, и часов до 10 учился. Даже с женой чуть конфликтовали из-за этого. Весь декабрь я провел в командировке, там мы не напрягались, но на режимном заводе особо не поучишься, поэтому мой распорядок дня в декабре выглядел так: в 6:30 просыпался и учился, пока все спали, после работы быстро ел, купался и до вечера снова упарывался. Очень уж увлекло. Вот, например, моя новогодняя фотка:
По поводу ресурсов: в качестве старта мог бы порекомендовать пройти вводный бесплатный модуль яндекс практикума. Там все просто и понятно рассказывается, но, на мой скромный взгляд, довольно не структурировано и скучно. Поэтому однозначно я рекомендую курсы на степике, которые и бесплатны, и дадут необходимую базу для осмысленного гугления. В таком порядке я их проходил:
1. https://stepik.org/course/67
2. https://stepik.org/course/512
3. https://stepik.org/course/217
4. https://stepik.org/course/1547
5. https://stepik.org/course/76
6. https://stepik.org/course/129
7. https://stepik.org/course/724
8. https://stepik.org/course/524
9. https://stepik.org/course/2152
10. https://stepik.org/course/4852
11. https://stepik.org/course/8057
Это база, по МО еще очень хороший курс на курсере, но там много математики:
https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie/
А потом можно и нейросети посмотреть:
https://stepik.org/course/54098 - курс просто огонь, но он специализирован.
Важно так же учитывать, что умение работать в jupyter notebook оказалось не единственным важным умением для работы вообще: обязательно нужно понимать хотя бы как работают базы данных и уметь делать запросы и аггрегировать данные. На практике оказалось, что БД +- sql-образные, и научившись запросам в MySQL, нет проблем научится в Clickhouse, несмотря на разные архитектуры. Поэтому вот:
https://stepik.org/course/2614
Еще оказалось, что на новой работе все на линуксе. Мне, как виндоводу, оказалось полезно это:
Ну и какой смысл в моих ноутбуках, если я не умею делиться ими:
https://stepik.org/course/3145
Что еще можно сказать по обучению... Обязательно нужно закреплять полученные знания на практике: освоив какую-нибудь крупную тему, я заливал свой говнокод на гитхаб для портфолио (да, уже сейчас я вижу, что он говнокод). И несомненно нужно хоть немного знать английский.
## Собеседование и увольнение.
Так вот к февралю я уже кое-чему научился и решил наудачу сделать новое резюме. В резюме указал все честно, что я щегол, но все равно набрался наглости разослать резюме по 2-м фирмам с просьбой выслать мне тестовое задание, которые нашел в соседнем городе (30 км между городами). В своем городе ничего не было, та еще деревня. По второй вакансии мне сразу отказали, да и по первой тоже, сказав, что кандидат уже есть, да и джун я несчастный, но тестовое могут прислать, мало ли. Тестовое я сделал (необходимо было проанализировать временной ряд с явно выраженной сезонностью и сделать предсказания) и отправил с той же надеждой, типа мало ли. И вот 2 недели тишины. В один из дней на меня наезжала бухгалтерия по поводу беспорядка со спецодеждой, я в сердцах воскликнул, как меня достала эта работа, и тут же (через 2 часа, на самом деле) мне поступил звонок с приглашением на пообщаться. Формулировка та же: ничего не обещаем, но мало ли. Естественно, я поехал.
На собеседовании было неплохо и все по делу. Тестовое оказалось сделано необычно, с изюминкой, видимо это и понравилось. На технические вопросы я ответил (в основном мы общались по нейросетям, потому что я упомянул, что использовал их для своего проекта. Но т.к. всем известно, что для "import keras" много знаний не надо, меня спрашивали по их структуре: что такое функции активации, какие я знаю, почему они должны быть дифференцируемы и т.д.). По итогам собеседование мне сказали, что они еще подумают и через пару дней предложили должность. Естественно, я согласился) Тем более, что стартовую зарплату мне предложили такую же, как я получал на должности начальника на старой работе, но это говорит не об огромных зп в айти, а о мизерных зарплатах в моей "деревне", поверьте.
Увольнение проходило не так уж гладко, потому что много на мне завязано было, но отпустили с миром, за что большое спасибо.
## Новая работа
Новая работа - это жесть. Мне было очень тяжело первое время: непрерывное гугление и чтение документаций, теперь минимум 8 часов в день я непрерывно думал и голова болела каждый вечер. В конце недели я видеть компьютер не мог и ни о каком продолжении саморазвития по выходным я даже думать не хотел - вообще к компьютеру не подходил. Но самое сложное оказалось сидеть: болит не только спина, это лечится упражнениями, но даже жопа. Но ничего, за пару месяцев натер трудовой мозоль.
Не могу сказать, что я ворвался как по маслу в новую работу, было и недопонимание, и притирка к коллегам, да и просто знаний не хватает. Но отмечу, что провал в знаниях у меня больше в сторону программирования и прочих скиллов, связанных с расширением айтишного кругозора, а вот сами алгоритмы МО мне вроде неплохо даются. К тому же, контора занимается защитой трафика, поэтому мне приходится узнавать много об этом тоже: протоколы, атаки, api и т.д. В общем, обучение не прекращается никогда и за 3 месяца испытательного срока я уже научился никак не меньшему, чем за время самостоятельного обучения.
Новая работа нравится и о старой вспоминаю с легким содроганием.
Еще забавный момент. 16 марта я вышел на работу, а с 18 нас отправили по домам на удаленку. Вот до сих пор на ней сижу, в офисе был всего 4 раза за все время)
Вроде все. Вот пара пруфов для скептиков.