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

Введение

Этот пост в блоге посвящен моему опыту внештатной работы в области машинного обучения (ML) и обработки данных (DS). Я работаю полный рабочий день инженером по машинному обучению и специалистом по данным около 8 лет (с 2015 г. по настоящее время). За это время я также работал над несколькими долгосрочными (> 4–6 месяцев) внештатными проектами в области машинного обучения в качестве подработок.

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

Еще одна побочная работа, которую я выполнял, — это так называемые экспертные консультации. За последние 2 года я сделал более 20 из них, в основном для компаний, занимающихся исследованиями рынка, а также для инвестиционных фирм, которые заинтересованы в сфере машинного обучения. Я поделюсь этим опытом в продолжении поста.

График, рабочая нагрузка и почасовая ставка

За свою 8-летнюю карьеру в сфере ML/DS я работал над 4 внештатными проектами. Здесь я делюсь графиком, средним количеством часов, которые я работал над каждым проектом, а также ставкой, которую я взимаю.

  1. Первый внештатный проект по машинному обучению, над которым я работал, был в 2017–2018 годах. Проект длился более года, я работал около 20 часов в неделю; обратите внимание, что эти часы были сверх моей полной рабочей нагрузки. Поскольку я только начинал свою карьеру в машинном обучении, почасовая ставка, которую я брал, составляла 35 долларов.
  2. Второй проект, над которым я работал, был в 2018–2019 годах, это 6-месячный проект, где я работал около 20 часов в неделю. За это время я считал себя немного более опытным, и моя почасовая ставка была принята в размере 65 долларов.
  3. Третий проект был с 2021 по 2022 год, это тоже 6-месячный проект, и я работал около 10-15 часов в неделю; моя почасовая ставка составляла 75 долларов.
  4. Последний проект, над которым я работал, был в 2022–2023 годах, этот проект был короче, около 4 месяцев, и моя почасовая ставка составляла 100 долларов.

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

Тайм-менеджмент

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

Подход, который я использовал для управления своим временем, заключается в том, чтобы планировать рабочее время заранее и стараться строго ему следовать. Не то чтобы это также зависело от места работы и от того, насколько гибкий график работы у меня был на моей штатной должности. Для моего первого внештатного проекта как полный рабочий день, так и неполный рабочий день были гибкими с точки зрения рабочего места и рабочего времени. У меня были офисные помещения в обоих местах, к счастью, они были очень близко друг к другу (5 минут пешком). Например, я планировал проводить 4 часа каждую пятницу после полудня в своем рабочем офисе на неполный рабочий день для личного общения и встреч. С понедельника по четверг я работал по 2–3 часа каждую ночь, а также по 4–6 часов в выходные дни над своим внештатным проектом (всего около 20 часов в неделю). Я старался следовать этому расписанию, насколько это было возможно, но время от времени случались неожиданности и неопределенности, поэтому мне также приходилось динамически корректировать его.

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

Прозрачность и преимущества

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

Более того, я был универсальным специалистом по машинному обучению, поэтому работа над разнообразными проектами важна для меня, чтобы стать эффективным в своей работе. Например, моя основная работа была связана в основном с данными изображений, а моя внештатная работа была в основном связана с НЛП (обработкой естественного языка). Если бы я работал только над проблемами компьютерного зрения, у меня было бы меньше возможностей тестировать современные модели НЛП с реальными наборами данных. Другой пример: моя постоянная работа использовала либо AWS (Amazon Web Services), либо GCP (Google Cloud Platform); благодаря своей внештатной работе я познакомился с Microsoft Azure.

Ожидания

Одна из самых сложных вещей во фрилансе ML — управлять ожиданиями клиента с точки зрения производительности модели. Машинное обучение отличается от разработки программного обеспечения тем, что вы не можете пообещать клиенту, что создадите самую эффективную модель с точностью 99 %, не просмотрев сначала данные. Исходя из своего опыта, я обнаружил, что лучше всего заранее знакомить клиентов с этой темой в самом начале разговора. Еще я разделил работу на этапы, например, первый этап фокусируется только на разработке модели, а второй этап — переход к развертыванию ML, а начало работы второго этапа зависит от успеха первая фаза.

Клиенты

Я получил своих клиентов в основном через свою личную сеть, то есть LinkedIn, бывших коллег и людей с встреч, а также мое сообщество Slack. Я использовал Upwork, и получил от него один ML-проект, но после этого он кажется не очень эффективным, в основном из-за низкого качества проекта. Я и раньше обращался в Топтал, но в итоге не прошел собеседование, которое на тот момент было немного медленным и долгим.

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

Предложение и ТЗ

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

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

Поскольку мне помогали многие друзья в моей сети и из сообщества ML в моем фрилансерском путешествии, здесь я делюсь шаблоном, который я использовал для составления SOW, в качестве отдачи. P.S. В настоящее время вы, вероятно, можете попросить ChatGPT написать это для вас.

Заключение

Фриланс на неполный рабочий день был для меня хорошим способом монетизировать мой опыт в машинном обучении, что дало мне дополнительные деньги для оплаты отпуска и ремонта дома. Есть лучшие способы получить дополнительный доход в качестве профессионалов ML / DS, потому что фриланс фактически отнимает ваше время, чтобы отдохнуть и расслабиться; Это не для всех. Что касается меня, мне нравилось работать над этими оплачиваемыми сторонними проектами, чтобы улучшить себя, чтобы стать лучшим инженером по машинному обучению / исследователем данных; они также заставили меня столкнуться с различными проблемами машинного обучения. Я могу полностью прочитать об опыте людей в других областях машинного обучения в Интернете, но я обнаружил, что как специалист общего профиля, я действительно могу добавить новые навыки машинного обучения, когда я работаю на практике.

Примечание: этот пост изначально был опубликован на сайте блога SylphAI.