iTechArt logo

Pet проект: что это за «зверь» такой и чем он полезен программисту

Development & QA

Pet проект – это индивидуальный или групповой проект, которым программист занимается в свободное от основной работы время, так сказать, для души. С его помощью можно дополнительно прокачивать навыки, а результаты – фиксировать в портфолио. Для джуниоров это ещё и неплохая возможность компенсировать отсутствие коммерческого опыта в резюме.

Иногда pet проекты ещё называют side проектами. Но суть остается одна: такого рода проект требует усилий, желания и свободного времени. Поговорили с нашими разработчиками о том, как искать идеи для pet проектов и их роли в профессиональном развитии.

Наши собеседники
Дмитрий Егоров.jpg

Дмитрий Егоров

Software Engineer iTechArt

Считает, что идеи side проектов находят авторов сами.

Антон Лазовский.jpg

Антон Лазовский

Team Manager iTechArt

Придерживается мнения «Чем больше делаешь, тем больше успеваешь»

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

ДМИТРИЙ ЕГОРОВ: Сканворды: игра в слова – игра для ios, разработка заняла примерно 4 месяца. Идея возникла в поездке где-то между Ивано-Франковском и Львовом. Перед поездкой, ради шутки, купил журнал со сканвордами. Я тогда много занимался решением алгоритмических задач, стало интересно, как они составляются. Оказалось, составление сканворда – это NP-полная задача, которую я решал с помощью backtracking с оптимизациями. Уже в процессе написания алгоритма подумал, что неплохо бы было проверить на реальных данных, например, в приложении на телефон. 

Вообще планов по этому проекту у меня много, например, хочу добавить статистику между пользователями, адаптировать под iPad, добавить темную тему… И Android версия в этом списке тоже есть, но пока все таки фокус на iOS. 

АНТОН ЛАЗОВСКИЙ: На данный момент в iTechArt у меня два внутренних side проекта (да, звучит весело): Trophy и квесты. Trophy – проект с достижениями сотрудников, по факту – игрофикация большинства рабочих процессов. В нем выдаются ачивки за участия и победы сотрудников в различных внутренних развлекательных и внешних спортивных мероприятиях, в тренерской жизни компании (менторы, лекторы, спикеры). Это делает удобным сбор информации для ежегодных награждений наших «активистов», а также многим добавляет мотивации попробовать себя в новых активностях. Проект был создан пару месяцев назад, и сейчас перешел в активную фазу :)

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

Еще когда-то side проектом была внутренняя платформа Students Lab, которая пару лет назад была создана для тестирования и обучения кандидатов на внутренних курсах, но сейчас она сильно разрослась, стала официальным внутренним проектом и полноценно используется рядом департаментов.

Зачем разработчикам вообще нужны pet проекты? Чему можно научиться, выполняя side проект?

ДМИТРИЙ ЕГОРОВ: Меня такого рода проекты многому научили. Например, тайм-менеджменту, ведь когда рассчитываешь только на свои силы, начинаешь эффективнее использовать время, а также расставлять приоритеты. 

АНТОН ЛАЗОВСКИЙ: Честно говоря, нельзя сказать, что side проект сильно отличается от коммерческого. На нем все еще есть ряд задач различной сложности, где надо использовать различные технологии. Так что тут, как и на любом коммерческом проекте – чем больше и чем сложнее задачи, тем быстрее на них развиваешься.

Как найти идею для side проекта?

ДМИТРИЙ ЕГОРОВ: Думаю, скорее идеи нас находят. Когда мы ложимся спать, гуляем или, как в моем случае, едем куда-то. Я, например, веду список, который периодически пересматриваю. Идеи из списка ценны тем, что проходят проверку временем. 

АНТОН ЛАЗОВСКИЙ: На самом деле тут все довольно просто. Можно просто идти по улице и случайно подумать, что «было бы здорово, если бы у нас было такое в компании». А в случае со Students Lab платформой это было даже необходимостью, ибо тогда было около 150 желающих на 8 мест в группу на курсы по Python. Очень сложно было в сжатые сроки оценить наличие базовых знаний у ребят, поэтому пришлось автоматизировать процесс в виде онлайн-тестирования по языку и близлежащим технологиям. Благодаря этим результатам получилось провести всего 14 собеседований и набрать группу.

В pet проекте ты «сам себе босс». Как в таком случае объективно оценить результат проделанной работы и готовить изменения?

ДМИТРИЙ ЕГОРОВ: Оценить результат можно по отзывам пользователей или по их retention. Я собираю аналитику через Firebase и AppsFlyer и слежу за ключевыми ивентами. С изменениями главное не впадать в перфекционизм и делать их небольшими итерациями.

Мне нравится делать все самому, смотреть на проект с разных сторон, заниматься дизайном всей системы, как говорят «носить много шляп». Насчет монетизации: я сейчас на этапе изучения аудитории, хочу понять кто и почему выбирает мое приложение. 

АНТОН ЛАЗОВСКИЙ: Тут тоже все просто – надо постоянно держать контакт с теми, кто просит какие-то обновления, и с пользователями. На основе фидбека приоритизировать задачи и побыстрее выполнять :)

Баланс между работой, side проектом и личной жизнью. Как ты его находишь?

ДМИТРИЙ ЕГОРОВ: Мне помогает планирование/тайм-менеджмент – обычно в воскресенье я расписываю что и в какой день надо сделать.

АНТОН ЛАЗОВСКИЙ: Обычно работа в конце дня плавно перетекает в side проекты. Больше всего времени забирали квесты, причем у всей команды ребят, с которыми их создаю. Если сначала работа идет плавно и размеренно, то ближе к дедлайну превращается в очень долгий хакатон. Тут мотивирующим фактором на будущее становятся теплые слова и благодарность ребят-участников уже после проведения) Баланс тут - штука переменчивая. Иногда все очень свободно и легко, а иногда – неделька-другая сильного загруза. К этому надо быть готовым, так как если берешься за side проект, то несешь за него ответственность перед другими, хоть и не все так заморачиваются, насколько я знаю. А вообще не зря говорят: чем больше делаешь, тем больше успеваешь :)

На твой взгляд, pet проекты добавляют веса в резюме? 

ДМИТРИЙ ЕГОРОВ: Думаю, интересно обсуждать их на собеседованиях, но мне пока не приходилось свой проект обсуждать на интервью.

АНТОН ЛАЗОВСКИЙ: Однозначно да, так как уже говорил, что они мало чем отличаются от коммерческих в плане задач и развития. Единственное, что для заказчика явно будет важным увидеть в резюме и коммерческие проекты, чтобы быть уверенным, что человек сможет занять не управляющую роль в команде, получать задачи, где разработчик далеко не всегда может повлиять на ее суть, и надо будет просто взять и сделать, что сказали.