История о том, как я стал Computer Vision датасаентистом

Увидел тут пост о том, как нелегко работать в IT, почитал комментарии и решил, что хочу поделится своим опытом вхождения в сферу.

Если кратко, то для успешного перепрофилирования, необходимы следующие вещи (ИМХО):

  1. Бешенное желание.

  2. Английский

  3. Возможность уделять этому очень много времени.

  4. Щепотка удачи.

А теперь много текста.

Бешенное желание.

На дворе 2017 год, мне 26 лет. В целом, моя жизнь меня вполне устраивает. Я работаю экономистом, параллельно занимаюсь небольшим бизнесом по госзакупкам. Денег вроде хватает, но их количество сильно зависит от того, насколько много я работаю. Но я себя люблю, поэтому сижу и смотрю турнир по Dota 2. На сцене появляются какие-то люди, которые заявляют, что сделали каких-то ботов с каким-то искусственным интеллектом (что это?!) и сейчас профессиональные игроки будут рубиться с ними. Не утомляя подробностями скажу, что увиденное меня поразило. Я сидел и думал о том, что эти люди - счастливейшие из людей, они получают деньги за то, что делают такие чудеса, да еще и в моей любимой игре. Долго ли коротко, но эта мысль не давала мне покоя около года, и я понял, что раз она меня не отпускает, то нужно действовать.
В то время еще не было засилия всевозможных курсов, и одним из немногих мест, где за мои кровные деньги готовы были меня обучить всему-всему, стал факультет (с невероятно громким названием) Искусственного интеллекта от Geekbrains. Тут я делаю оговорку, что это не реклама, а скорее антиреклама, о чем позднее я поведаю.

Английский. Время.

Обучать меня они планировали полтора года, но я в целом не сильно спешил, поэтому согласился. Сильно не размусоливая, скажу следующее:

  1. Курсы нужны, если вам самим сложно себя организовать. Это какое-никакое расписание, сроки сдачи домашних заданий и тд.

  2. Учиться приходилось много. Оценить, конечно, сложно, но думаю, что часов по 15-20 в неделю я тратил. На протяжении года.

  3. Качество материала оставляет желать лучшего. Понимаешь это гораздо позже, когда сам начинаешь понимать, что вообще происходит. Практически все, что мне давали, было в интернете в гораздо лучшем виде. Вот тут спасибо английскому, который я каким-то чудом выучил чуть ранее, на урвоне, достаточном для понимания литературы. Для понимания этого пункта достаточно ,как мне кажется, одного примера : когда я разбирался в одной из основных тем, градиентном спуске, на котором основано все современное обучение нейросетей, в материалах к уроку я нашел 1 абзац явно английского текста, переведенного гугл переводчиком на русский язык. На Medium`e я прочитал серию из трех невероятно крутых статей с кучей гифок, которые супер доступно объясняли эту концепцию. Почему нельзя было просто перевести этот материал и давать его свои ученикам - для меня загадка (халтура).

Тут нужно сказать еще про одну великолепную вещь: Kaggle. Если коротко, то это портал, где проводятся соревнования по машинному обучению, но не какие-то абстрактные олимпиадные задачки, а вполне себе интересные и боевые задачи от супер крутых компаний. Участие в них бесплатное, за первые места дают деньги, у каждого соревнования есть чат, где люди делятся своими идеями, кодом и тд. Организаторы соревнований имеют возможность получить крутое решение малой кровью(бюджетом), крутые чуваки со всего мира - посоревноваться и подзаработать, а такие как я - получить возможность практиковаться и получать опыт и знания от лучших умов в профессии. Этим я и занимался. Надо сказать, что я с детства очень много времени проводил за компьютерными играми (Вов, дота), и эти задачи стали моей новой любимой игрой. Если раньше я ночами рубился в комп, то теперь стал искать морских звезд на подводных снимках, считать пасы в матчах немецкой футбольной бундеслиге и еще много много всяких прикольных вещей.

Так пролетели почти полтора года. Я медленно приступил к поиску работы. Было страшно приступать, пугала мысль о том, что я ничего не знаю, никому не нужен. Ну и на своем месте работы я работал больше 7 лет, по сути, не зная других компаний и того ,как все устроено в других местах.

Щепотка удачи.

Я с опаской лазил по ХХ, скролил вакансии, даже откликнулся на три. Вот тут произошло то самое везение и меня позвали на интервью. Я около недели судорожно пытался выучить ,все, что когда-либо слышал, мало спал и очень нервничал, так как это было мое первое серьезное собеседование в жизни (на первую работу я попал после практики, так что там по сути не было ничего страшного). В общем пришел я на это собеседование, в брюках и рубашке, сел на кожаный диван, и, наверное, целую вечность отвечал ну кучу и кучу вопросов. Встал мокрый с головы до ног, пожал всем руки и вышел. Через пять минут мне позвонил будущий начальник, спросил, далеко ли я ушел, сказал подождать его у офиса, спустился и предложил мне работу. Как мне сказали: "Мы искали людей без опыта, на небольшие деньги, но с желанием. Нам показалось, что у тебя его предостаточно, какое-то небольшое понимание есть, ну еще ты играешь в футбол и не упал в обморок от летающего по офису полуметрового дилдо, так что мы решили, что ты освоишься =)"

Сказать, что я был удивлен - ничего не сказать. Я буквально не мог в это поверить недели две-три, до того момента ,как пришел на первый рабочий день (я, кстати , на него опоздал, так как до 4 утра отмечал это событие с коллегами на прошлой работе, но благо пропустил я только лекцию по ТБ и пожарке, так что не сильно и страшно).

Потом события развивались стремительно, сначала ничего не понимал, потом разобрался в одном подходе к задачам детектирования объектов на изображениях, потом много читал, потом много писал, потом много читал, и много писал, ну вы поняли. Потом начал думать ,что ничего не знаю и нек умею, решил попробовать сменить работу.

Резюмируя все это полотно: за три года удачно прошел с десяток собесов, три раза сменил работу, дико доволен. Сейчас занимаюсь спортивной видео-аналитикой, пытаюсь научить компьютер искать ключевые события в футбольных матчах (считай смотрю футбол целыми днями, и это ли не сказка?).

Ну и теперь ответ на тот самый пост про сложность работы в IT.

Работать приходится много, но в другом ключе. Нет такого, что у тебя 12 часовая смена и вот это вот все. Но вот эта система с дедлайнами и прочим заставляет тебя круглыми сутками думать о своей задаче, как ее решить и что делать, если не сможешь . Ну и потом сутками сидеть ее делать =). Но люди на скорой тоже сутками впахивают, на вахтах и шахтах отдают здоровье. Так что не сказал бы, что сложнее, чем везде.

Тебе действительно приходится много всего изучать. То, что было актуально год-два назад, сейчас не актуально. Если нужно внедрять свои решения на девайсы - разбирайся в С++, твой питон тебе не поможет. Сравнивая со своей старой работой, где нужно было знать с пяток законов, пару раз разобраться в том, как формировать все эти планы и тд - это небо и земля.

Условия труда шикарные. Никакими печеньками и смузибарами никого не удивишь тут. К 9 приходить никуда не нужно, есть работа, есть срок - главное сделай. Никто не заставит тебя ити на митинг или концерт (мама у меня всю жизнь в школе работает) или ходить в свой выходной по району и высматривать дроны. Зарплаты это отдельный разговор, мне до сих пор неловко озвучивать свои пожелания по зп.

В общем, жизнь кардинально изменилась и явно в лучшую сторону. Мне, как человеку, который был и по другую сторону баррикад - смешно читать про то, как сложно работать в IT.

А всем, кто не может решится и попробовать, помните: "не Боги горшки обжигают", если вы будете действительно чего-то хотеть и прикладывать усилия, то все у вас получится, я уверен.

Всем доброй ночи.