Меня зовут Игорь и я миддл PHP-разработчик, работаю в Neti с осени 2021 года. Разрабатываю бэкенд: пишу серверную логику, API, занимаюсь оценкой проектов и ревью чужого кода. Расскажу про пет-проекты на примере собственного и о том, при каких условиях пет-проекты приносят реальную пользу.
Наш пет-проект поможет восстановиться после инсульта
Параллельно с работой мы с товарищем разрабатываем грантовый проект в сфере телемедицины. Веб-приложение Aphasia Soft Rehab (сокращенно ASR) для помощи людям, восстанавливающимся после инсульта, придумал мой товарищ Игорь Гимаздинов. Он презентовал проект на студенческом форуме и получил деньги на реализацию, а я решил помочь с разработкой.
Целевая аудитория — три группы людей:
- Пациенты с афазией, B2C-сегмент;
- Реабилитационные центры — B2B-сегмент;
- Частные логопеды, физиологи — B2C-сегмент.
По статистике, примерно у трети пациентов, которые перенесли инсульт, развивается речевое расстройство — афазия. Человек не может назвать слово из группы предметов — говорит его неправильно или не помнит. Литература по этому расстройству в основном не декомпозирована по целевым группам. Составители упражнений часто не учитывают среду, в которой находится человек — его род деятельности, доход, бытовые задачи.
Цель нашего проекта — не просто составить комплекс упражнений, а подобрать их индивидуально, распределив пациентов по группам.
Если человек всю жизнь чинил двигатели, нет смысла показывать ему сценарии из жизни людей, работавших в больнице. Он не сможет назвать вещи оттуда. Если показывать предметы из его собственной жизни, например, гаечный ключ и спрашивать, что это такое, нейронные связи смогут подсказать ответ с большей вероятностью и человек сможет вспомнить название.
ASR — тренажёр для людей, которые восстанавливаются после инсульта. Приложение предлагает пациентам специализированные упражнения, исходя из его бэкграунда. Автоматизированная система позволяет пациентам держать постоянную связь со своим врачом. В приложении будет единая база пользователей, к каждому из которых прикреплен свой врач. Доктора будут предлагать упражнения, вести график, давать рекомендации. Пациентам предстоит выполнять эти упражнения в течение двух лет. Это время врач будет собирать статистику, отслеживать динамику и корректировать лечение.
Фокус группа пациентов и база логопедов формируется по сарафанному радио. В дальнейшем, после подтверждения бизнес-гипотезы и работоспособности разрабатываемых упражнений, будет сформирована собственная база логопедов для приложения — они будут создавать новый контент. А клиенты будут привлекаться через специализированные интернет-форумы, сообщества и инструменты таргетированной рекламы
Работа над собственными проектами — это свобода
Работа над проектом занимает у меня пару часов в день. Я выделяю под задачи обеденный перерыв на работе, а оставшееся доделываю вечером или в выходные. Совмещать нетрудно, я привык к такому режиму.
На коммерческих проектах в компании мы используем технологии, которые подходят под требования клиентов. Вне работы можно экспериментировать на свой страх и риск, самостоятельно принимать все решения и внедрять интересные технологии.
Сейчас в рабочих проектах нет запроса на использование нейросетей, а в рамках пет-проекта мы пытаемся с помощью ИИ генерировать ситуативные сценарии упражнений. Пока не получилось, но мы пробуем!
Проект по афазии самописный, и я не использую каких-то новых библиотек, но много занимаюсь тестированием. Ещё у меня появилась возможность внедрить в этот проект методологию разработки через тестирование (TDD — test driven development). Наш проект несложный, в нём нет каких-то новых архитектурных решений, но это достижение мне будет приятно отразить в портфолио.
Пет-проект косвенно помогает основной работе — прокачиваешь скиллы, например, улучшаешь качество и скорость разработки. Есть и минусы: переработки и усталость. Но мне нравится думать, что я делаю полезную вещь и помогаю людям.
Пет-проекты вредят джунам
У работы без команды есть свои особенности. Над нашим проектом трудится два человека: я занимаюсь разработкой и тестированием, товарищ — аналитикой и прочими вопросами. Из-за того, что нас так мало, многие процессы буксуют. Нужно долго думать, что и как делать, перечитывать и переписывать документацию, прежде чем что-то внедрять.
Моё мнение: джунам на таких проектах делать нечего. У них ещё нет опыта работы с нормальным кодом и поэтому писать его они не могут. Посмотреть видео-курсы для этого недостаточно. Сначала нужно набраться опыта в реальных проектах с опытной командой, понять, что и как должно работать. И только набив шишки в коммерческой разработке, стоит делать что-то своё.
Альтернативный вариант — влиться в хороший опенсорс-проект, чтобы избежать ужасных практик.
Те, кто делает маленькие проекты ради оттачивания навыков, обычно не публикуют получившиеся результаты. Винчестер может быть завален проектами, но разработчик понимает, что смысла публиковать их нет — как эскизы в художественной школе или прописи в начальной.
Пет-проекты — хороший способ набить руку, потренировать навыки. Потому что читать и смотреть про технологии и не закреплять это на практике — бесполезно. Это касается любого обучения — хоть программирования, хоть игры на гитаре. Но гораздо интереснее заниматься пет-проектом, который имеет какое-то отношение к реальности и приносит пользу людям.
Заключение
- Пет-проект может быть попыткой опробовать новую технологию, или проектом со смыслом и реальной ценностью для людей. Второе — сложнее, и не подходит новичкам.
- Собственный проект даёт свободу — вы можете экспериментировать, использовать новые технологии, пробовать необычные архитектурные приёмы или подходы к разработке.
- Джунам, прежде чем разрабатывать сложный проект с нуля, лучше влиться в тщательно выбранный опенсорс, чтобы попрактиковаться писать качественный код.
Никита
Огонь! Особенно хороша мысль про джунов — казалось бы. На самом деле я знаю нескольких, которые бы с тобой не согласились. Но это и правда так. Сначала нужно набить руку, получить основные навыки, а только потом идти в соло-данжен.