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

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

Семь лет я счастливо пилил веб. Полгода я выгорал. Еще полгода восстанавливался, искал "путь истинный", и планировал как я буду феерично менять свою карьеру - переходить из софтварного инженера в рисерч. Прошло уже три месяца. По моим расчетам, такими темпами мою первую статью по 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. Буду рад любым мыслям и советам.

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

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

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

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

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

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

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

@mighty_conrad, Да, посты были бы полезны👍

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

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

  Развернуть 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 комментарий

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

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

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

  Развернуть 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 комментарий
Vladimir Zhura Security Research Team Lead 14 мая 2023

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

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

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

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

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

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

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

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

😎

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

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


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