Мой план смены карьеры: Ода лени на пути из SWE в AI рисерчеры

 Публичный пост
14 мая 2023  2860

Семь лет я счастливо пилил веб. Полгода я выгорал. Еще полгода восстанавливался, искал "путь истинный", и планировал как я буду феерично менять свою карьеру - переходить из софтварного инженера в рисерч. Прошло уже три месяца. По моим расчетам, такими темпами мою первую статью по AI за меня напишет мой несуществующий ребенок через 30 лет (а потом с облегчением прострелит себе голову, не справившись с грузом комплексов, которые на него воодрузил родитель). Ниже расскажу о своем оригинальном плане по переходу из веба в AI, порефлексирую на тему того, что пошло не так, представлю вам новый мега-ультра-план обреченный на успех. Поехали!

Что было в прошлой серии

Пилил веб на удаленке в Воронеже. Переехал в Лондон в FAANG. Познакомился поближе со своим непомерным эго. Выгорел на пути из сеньки в стаффа. Переосмыслил ценность денег и свое понятие успеха. Решил переходить в рисерч в AI.

План А

Самым простым способом сменить направление деятельности в большой компании - сменить команду. Самый простой способ влиться в AI команду для SWE - RAISE. Это специальная программа для переселенцев из свофтварных инженеров в ML/AI.

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

После завершения очередного раунда увольнений я в очередной раз пнул менеджера RAISE (про себя пообещав всенепрменно как-нибудь напоить его кофе с кексами за терпение). Как вы могли догадаться, программа приостановила деятельность на этот год.

План Б

Всегда можно найти команду и вне RAISE. Я читал несколько историй о том, как ребята находили позиции SWE в ML командах и потихоньку брали все больше и больше ML тасок и проектов.

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

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

Реальный мир : эго - 1 : 0.

План В

У меня же есть резюмеха, которая сверкает лычками из FAANG! Откроем-ка LinkedIn.

И осознаем, что никто снаружи не горит нанимать чувака не по профилю, который клятвенно обещает обучаться на месте.

Реальный мир : эго - 2 : 0.

План Г

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

Из доступного мне по деньгам и адекватного по качеству нашел целый 2 варианта:

  1. Классный ШАД.
  2. Чуть менее классный OMSCS, который я уже почти закончил, но по специальности Computing Systems (восполнял пробелы в фундаментальных знаниях по CS оставленные в бурной молодости).

Можно, конечно, в полете развернуться на 180 и начать брать курсы по ML в рамках OMSCS, но у меня за три года уже успела скопиться некая усталость от того, что я все никак не могу закончить начатое дело. Остается ШАД.

Плюсы ШАД:

  1. Структурированная программа
  2. Коллектив мотивированных студентов
  3. Топовые преподаватели, которые дают живую обратную связь.
  4. Палка над головой в виде дедлайнов.

Минусы ШАД:

  1. Можно обделаться и не пройти отбор.
  2. Я не хотел ждать осени для начала учебы.
  3. Отсутствие гибкости. Свой текущий универ я закончу только в декабре. Есть опасения, что в случае совпадения дедлайнов я просто помру от нагрузки от работы и двух программ.
  4. Не очень понятно как скажется на резюме любая аффилиация с Яндексом в условиях войны.

Если бы я смог самостоятельно закрыть плюсы от ШАД, но не было бы никакого смысла туда идти.

  1. Структурированная программа Она лежит в отрытом доступе. Можно брать и делать.
  2. Коллектив мотивированных студентов Увы, не заменим. С другой стороны, учитывая, что у меня есть фулл-тайм работа, вряд ли бы я смог этой плюшкой полноценно воспользоваться.
  3. Топовые преподаватели, которые дают живую обратную связь. На мою внутренюю спам-рассылку отвечали в основном короткими отписками, но была пара добрейших людей, которые дававли развернутые ответы и искренне хотели помочь мне в моем переходе. К одному из них я и пришел и попросил быть моим ментором. Это закрыло потребность в живой связи от преподавателя.
  4. Палка над головой в виде дедлайнов Хотелось верить, что ежемесячная отчетность ментору послужит хорошей мотивацией не пинать писюны вместо обучения.

Сам план:

  1. Самостоятельно пройти фундмамент по математике и ML
    1. Прочесав реддит и посмотрев на программу ШАД, для себя я определил несколько направлений:
      1. Матан
      2. Линейная алгебра
      3. Матстат
      4. Классическое машинное обучение
      5. Компьютерное зрение
      6. Natural Language Processing
  2. Раз в месяц встречаться с ментором и обсуждать непонятные моменты
  3. После освоения фундамента, брать основополагающие научные статьи и пытаться воспроизводить их эксперименты. В парраллель, предложить научным командам внутри компании поработать у них бесплатно в свободное время.

Прошел месяц. За это время я с трудом закончил по одному юниту из курсов по математике. Я, конечно, могу найти кучу оправданий в виде неожиданного аврала на работе, каких-то личностных переживаний, но ближе к моей цели меня это не сделает.

План Д

Что же пошло не так с планом Г?

  1. Программа? Чек.
  2. Коллектив? Минус.
  3. Преподаватель? Чек
  4. Дедлайны? Плюс-минус.

Итого, имеем два потенциальных кандидата на фикс: коллектив и дедлайны.

Отчасти потребность в коллективе закрываются различными онлайн сообществами (боже, храни реддит). Однако, найти такой коллектив, который захочет идти именно по моей программе, с курсами, которые закрывают именно мои пробелы в знаниях возможным не представляется. А кто обещал, что будет легко?

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

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

Во времена универа я увлеченно играл на барабанах, писал музло, мнил себя куртецким композитором, и думал, что стану настоящей рок-звездой. Ну, а кто не без изъяна?

Как оказалось, есть целое движение "learning in public". В целом, оно скорее про то, чтобы пользоваться техникой Фенймана и объяснять сложные концепции простыми словами. Тем не менее ничего н6е мешает использовать ту же концепцию для того, чтобы публично огласить свои планы и дедлайны. И чувствовать за них ответственность. Цитируя великих, позитивная мотивация явно не мой конек.

Именно за этим я здесь. За этим написал эту огромную портянку текста. Я хочу с вами поделиться своими конкретными дедлайнами, и подписаться под их выполнением.

Что учить

  1. Матан
    1. Лекции профессора Леонарда.
    2. Calculus: An Intuitive and Physical Approach
    3. Дополнительные задачки для самостоятельного решения из учебников по Calculus на openstaxю
  2. Линейная алгебра
    1. Лекции MIT
    2. Introduction to Linear Algebra by Strang
    3. Linear Algebra and Its Applications by David Lay
  3. Матстат
    1. Гарвардский курс
    2. Книга от автора курса
    3. Introduction To Probability by Bertsekas
  4. Обозорный курс по математике для ML
  5. Классическое машинное обучение
    1. Яндексовый учебник
    2. Курсы Andrew Ng
  6. Компьютерное зрение (TBD)
  7. Natural Language Processing (TBD)

Как учить

Буду руководствоваться двумя принципами:

  1. Pay yourself first. Я наиболее продуктивен утром, пока у меня свежая голова. Значит самое продуктивное время я буду посвещать учебе. Работу я буду делать уже после того, как сделал хоть что-то полезное для своего долговременного развития. После работы буду добавлять учебные часы по самочувствию.
  2. Spaced repetition. Для того, чтобы информация усваивалась как можно эффективнее и оставалась в памяти как можно дольше, я буду повторять пройденную информацию из другого источника на следующий день. Например, я проходу условную тему A по Calculus по лекциям профессора Леонарда. На следюущий день я буду читать эту же тему в книге. Через неделю я буду прорешивать несколько примеров по теме.

Формат отчетности

  1. Публичные заметки по пройденным темам в Obsidian.
  2. Еженедельные отчеты в онлайн дневнике.
  3. Ссылка на Google Sheet с актуальным прогрессом по плану.

Дедлайны

  1. До конца июня пройти Calculus 1-3, освоить текущий план по матстату, закончить курс по математике для ML, завершить первый юнит по линейной алгебре.
  2. До конца августа завершить курс по линейной алгебре и пройти курс по классическому машинному обучению.

Что дальше

В зависимости от того вывезу ли я учебу, понравится ли мне воспроизводить опыты из whitepapers, да и просто того насколько мне удастся договориться с внутренней леньюи внутренней жабой, хочу поробовать к новому году собрать какое-то портфолио из сделанных проектов и уйти на PhD.

С жабой придется договариваться потому что PhD в UK оплачивается ниже минимальной зарабтной платы. Типичная стипендия - 20к в год в Лондоне.

Если вам близка тема преодоления себя и борьбы с ленью, если вы так же как и я хотите попробовать учиться на публике, то буду рад пригласить вас записаться в лист ожидания платформы по публичному обучению. Я скоро выкачу MVP. Честно-пречестно!

Не переставайте мечтать! Жизнь у нас одна. В наших собственных руках наполнить ее приключениями и не дать погаснуть огню в глазах.

P.S. Буду рад любым мыслям и советам.

Аватар Андрей Гончаров
Андрей Гончаров @aigoncharov
ML-падаванСколтех
📍Москва, Россия

ℹ️ Играл рокешник по подвалам -> кодинг-мартышка в FAANG -> ML-падаван в Сколтехе
🎓 ВГУ -> Georgia Tech -> Сколтех
📌 Воронеж 🇷🇺 -> Лондон 🇬🇧 -> Москва 🇷🇺
📝 Пишу про жизнь, карьеру, всякое личное и не очень и, временами, техническое на русском и на английском
❤️ Музыка (🥁 -> 🎹+🎙), попиздеть за жизнь философия, Толстой с Достоевским, Есенин, качалочка и калистеника, бокс, походы, сноуборд, бег, велосипедирование, селфхостинг и опенсорс
📬 Телега, LinkedIn, Github, Twitter, Insta, VK

Связанные посты
20 комментариев 👇

Примерно с той же целью, свичнутся в ML, я пошла учиться на бакалавратуру на специальность 'Econometrics and data science' во Vrie Universiteit в Амстердаме. Я точно знаю что моей внутренней мотивации и знаний не хватит на то чтобы учится в одиночку по своему плану.
Учеба по графику, с четко обозначенными сроками и экзаменами не даёт расслабиться.
Но мне ещё очень повезло учиться вместе с мои другом. Один тот факт что есть человек с которым можно вместе тупить над нереально сложной задачей, даёт мотивацию учится и не бросать.

  Развернуть 1 комментарий
Vladimir Zhura Head of Department | Offensive Security 14 мая 2023

Тоже захотел начать проводить AI рисерчи.
План у меня всего один, зато уже в процессе реализации. Объединяю инфобез с ИИ, сотрудничая с командой коллег датасатанистов, и пытаюсь взять под контроль соотношение ИБ и ИИ рисерчей.

  Развернуть 1 комментарий

Привет, у меня та же проблема, но отмазок еще меньше, чем у тебя. Учился в бакалавриате и магистратуре на Data Science (математика, физика, etc в том числе). Собирался после учебы идти работать в Data Science, но подвернулась возможность начать в Data Engineer. Решил, что без дата инжиниринга никакой дата саенс не заведется, потому решил поработать дата инженером. Дальше пошел СТО в начинающий стартап (не взлетел), где выучил backend, frontend и mobile разработку. Потом позанимался своими проектами и в итоге устроился на должность ML Engineer, но на деле у меня 1% ML и 99% технической работы (фулстэк, девопс, «сделай чтоб работало»). А я хочу заниматься NLP (еще до хайпа с LLMs). Вот сижу и пытаюсь пинать свою компанию, чтобы мне дальше побольше проектов с ML. И они даже не против, но это в духе «разбирайся сам», а я уже устал разбираться сам, хочется мощных коллег, которые хорошо объяснят (таких нет).

  Развернуть 1 комментарий

@Zigger, вполне рабочая схема. Но отсутствие коллег с опытом - это прям очень и очень сложно в начале.

  Развернуть 1 комментарий
Nikolay Babakov Natural Language Processing, XAI (PhD candidate) 14 мая 2023

Аспирантура кмк самый надежный но не самый выгодный и не самый быстрый путь. И аспирантура это уже и есть ресерч, в который не то чтобы сильно сложно попасть.

Те цифры которые назвал по UK это конечно больно. Но это не приговор. Есть более вменяемые по зп позиции (но конечно не сравнимы с индустрией как правило)

И кстати ты по какому ии ресерчу загоняешься?
Если NLP то вот есть ресурс куда много разного PhD постят - Corpora List

Также гипотетически можно напроситься к действующим аспирантам/профессорам на совместный запил чего либо. С тебя так сказать работа за идею, с них консультации и дальше решение вопросов по орг взносам за публикацию. В итоге всем профит.

Я вот будучи в Испании дописываю примерно в таком же режиме статьи из сколтеха. Если вдруг твои ИИ интересы сонаправлены с NLP или объяснимым ИИ, то можем тоже колаб замутить подобный)

  Развернуть 1 комментарий

@NiGuLa, как раз в аспирантуру местную я и хочу пойти. Как я читал на реддите конкурс достаточно большой.
А какие есть более вменяемые PhD позиции в UK?
Я пока еще даже не личинка рисерчера, а только тот кто в стороне пускает слюни. Я думаю мне станет намного понятнее, что именно мне интересно псоле того, как закончу все курсы из плана и повторю хотя бы несколько экспериментов из вайтпейперов.
С моего дивана мне было бы интересно посмотреть какие варианты мотивации можно было бы прикрутить к LLM, чтобы они сами эволюционировали и развивались.
Еще я совсем не представляю как сейчас работает мультимодальность. Чрезвычайно интересно эту штуку поковырять.
Спасибо за ссылку и поддержку!

  Развернуть 1 комментарий

@aigoncharov, в UK не знаю. Но опять же сходи на Corpora List, поскроль че там предлагают. По Европе точно есть относительно вменяемые позиции и не всегда надо быть семь пядей, хотя какая-то публикация конечно не помешает для увеличения проходимости.

  Развернуть 1 комментарий

а не могли бы вы побольше рассказать о мотивации смены карьеры? это связано с бумом гэпэтэ или просто всегда вас интересовало?
я это к тому, что сам сейчас сомневаюсь, как оставаться востребованным, будучи хоть и инженером, но работающим над вещами, которые вполне себе могут по тех заданию сокрыться в черной коробке от AI и работать точно так же.

  Развернуть 1 комментарий

@arkadzirakouski, tldr; мне стало скучно делать веб.
Подробно писал об этом в своем прошлом посте.

  Развернуть 1 комментарий
Evgenii Kochanov Анализирую данные 15 мая 2023

Мысли и советы от уже вкатывавшегося в DS/ML (в клубе есть пара постов от меня на тему) - я бы начал подобный переход с практики, а теорию бы нахватывал только в тех местах, в которых начинаю чувствовать, что вообще не дорубаю.
Для входа в "общий" ML - https://www.udemy.com/course/python-for-data-science-and-machine-learning-bootcamp/
Далее можно уже погружаться прицельно в нейрнонки, типа того же https://course.fast.ai/. Ещё вариант - http://neuralnetworksanddeeplearning.com/index.html, там первые две главы показательны в плане того, нужно ли подтягивать матан-линалгебру. Если всё оказалось понятно, и смог воспроизвести примеры, то точно можно не дрочить себя отдельными курсами по "математике", а сразу заниматься практикой по максимуму.

После того, как получил "общий кругозор" по всему, что есть сейчас в ML/DL, можно выбирать "специализацию", и максимально упарываться уже по ней - распознавание картинок, NLM/LLM, генеративные сети - это всё, по сути, отдельные направления, не особо свзяанные друг с другом, и в каждое из них можно зарыться до конца карьеры :)

  Развернуть 1 комментарий

Привет, как прогресс?

  Развернуть 1 комментарий

@Zigger, отвратительно. По ряду разных причин (которые конечно же будут всегда) я еще даже не закончил курс математики. Надеюсь теперь добить математику до конца лета, и взяться за сам ML с осени.

  Развернуть 1 комментарий

ИМХО, стоит начать с ML сначала, а потом браться за математику. Машинное обучение - очень инженерная дисциплина, особенно state-of-the-art.

Если посмотреть на ту же эволюцию компьютерного зрения: окей, мы сделали локальный слой-фильтр, почему-то названный свёрткой (convolution layer), дали на клык всем старым методам (AlexNet). Что произошло дальше? Пикрил.

Весь датасаенс после крупного прорыва.
Весь датасаенс после крупного прорыва.

Больше слоёв, ещё больше слоёв, переделанная структура слоя свёртки, и каждый апгрейд нейросеток - практическое решение задачи, которая стояла здесь и сейчас. And here we are now.

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

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@mighty_conrad, да-да, вот тебе плюс, надо бы написать.

  Развернуть 1 комментарий

С аспирантской стипендии скорбей всего не платятся налоги. Поэтому 20k это как после налогов. Не густо но и не так пусто как если бы это была зарплата.

  Развернуть 1 комментарий

@aigoncharov можешь, пожалуйста, дать апдейт? интересный план у тебя получился, интересно как спустя год ты на него смотришь? Вижу, что в гугль шитс ты перестал заносить данные в июле 2023 года, тогда и закончил обучение по плану?

  Развернуть 1 комментарий

@atsyplenkov, конечно!
1 Это был чересчур амбициозный план. Математика за такое время не учится. По крайней мере мной :) Мне кажется, что более реалистичный таймлайн и программа здесь. Этот курс я у них не проходил, но пользовался задачниками.
Хорошие материалы для обучения предложены здесь.
2 Меня накрыло разводом и всякими последующими экзистенциальными кризисами, так что я с осени 2023 занимался чем угодно только не учебой. Когда очнулся к зиме, то понял, что дело дрянь, и перекатываться получается как-то хреново.
Итак, на дворе январь или даже февраль. Ныть, конечно, дело благодатное, но не очень полезное. Вспомнил, что вообще-то у меня был всем охуенный план Г - поступить куда-то. Охуенный всем кроме времени начала набора на программы. И если раньше казалось, что это терять целый год, то теперь стало казаться, что "Ааааа! У меня всего несколько месяцев на подготовку! Все пропало".
Свято уверовав в то, что коллектив и окружение решают я решил готовиться и поступать в ШАД или AI Masters.
3 Несколько недель я спустя задался вопросом: как я буду совмещать будущую учебу с работой? Эго нашептывало сладостную песню о том, что и все получится, и как я в лучших голливудских традициях буду все героически преодолевать (а в конце заиграет такая эпичная спокойная музыка, а меня покажут умудренным опытом старцем).
Пока эго рисовало молочные реки глас рассудка валялся в истерическом припадке. Во-первых, я только-только последние полгода занимался походами, боксом, музыкой и кучей других интереснейших вещей, но не учебой. Намекает на мои текущие возможности совмещать серьезную интеллектуальную деятельность в работой. Во-вторых, во время обучения в Georgia Tech я мог комфортно брать ровно один курс в семестр в параллель с работой. Это меньше нагрузки ШАДа. А ведь я еще хотел позаниматься рисерчем! В-третьих, мне уже сейчас ботать вышмат для поступления давалось с большим трудом. С чего бы дальше стало легче?
4 Что имеем на данном этапе? Оставаться в вебе не хочется. Подготовка к поступлению в ШАД идет со скрипом. Не понятно как потом учиться. Из 4 всадников апокалипсиса светлого будущего (сон, спорт, работа, учеба) мне надо было выбрать 3. Отказаться от спорта и сна - верный путь поехать кукухой. Методом исключения получается так, что надо отказываться от... работы? Почему-то раньше мне это в голову совсем не приходило.
5 Подсчитав финансы, прикинув, что мне реально нужно для жизни (оказалось, что очень и очень не много), понял, что если доработаю до конца лета, то смогу в том же Лондоне потом минимум год (а то и два!) не работать. Но если уж мы начали задаваться неортодоксальными вопросами, то зачем останавливаться? Почему именно Лондон? Что если поехать куда-то в существенно более дешевое место?
Не буду утомлять дальнейшей долгой цепочкой размышлений. Перейду сразу к выводам - решил поступать на одну из топовых технических программ в магистратуру в России (смогу хвастать потом, что дважды магистр xD) - ШАД + ВШЭ, ИТМО, Сколтех. В параллель пробовал пройти на программы альтернативного образования - ШАД и AI Masters.
6 Ура! Финальный пункт с результатами!
Поступил в магистратуру по Data Science в Сколтех. Уволился с работы. На момент написания этого поста сижу в квартире через дорогу от красивейшего кампуса и через пару часов отправлюсь на оргсобрание перед началом первого учебного года.

  Развернуть 1 комментарий

@aigoncharov, класс! спасибо за такой подробный ответ))
удачи тебе в маге Сколтеха.
А OMSCS в GA Tech ты закончил уже?

  Развернуть 1 комментарий

@atsyplenkov, Спасибо! OMSCS закончил 🙂

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб