Читать первым в Telegram-канале «Код Дурова»
Pet-проекты помогают начинающим и не только специалистам отработать навыки, собрать портфолио и благодаря этому найти работу. В статье разберёмся, какие бывают pet-проекты, какие у них есть достоинства и недостатки и как их создавать.
Что такое pet-проект и для чего он нужен
Pet-проект (от англ. pet, «домашний питомец») — это тренировочный проект, которым специалист занимается в свободное время. Их можно создавать в любом направлении: дизайн, разработка, аналитика, маркетинг и пр.
Например, программист может создать мобильное приложение для маникюрного салона своей мамы. Аналитик — построить систему анализа своих тренировок, чтобы понимать их эффективность. Тестировщик — протестировать функционал интернет-магазина, где покупает корм своему коту. А дизайнер — создать брендинг для овощной палатки около дома.
Цель pet-проекта ограничивается только воображением и задачами его создателя. Благодаря pet-проектам новички и матёрые специалисты отрабатывают профессиональные навыки, пробуют применять новые технологии и инструменты, собирают портфолио, чтобы показывать его будущим работодателям.
Вот какие у pet-проектов есть недостатки и преимущества:
Виды pet-проектов
Pet-проекты классифицируются по разным параметрам — например, по числу участников или по целям.
По числу участников pet-проекты бывают:
- Командные. Над одним проектом трудятся несколько человек. Например, когда студенты делают совместный проект в рамках курса или друзья-разработчики загорелись одной идеей и реализуют её совместными усилиями.
- Личные. Над проектом работает один человек, который всё делает сам: определяет тему, подбирает технологии, устанавливает сроки, находит нужные ресурсы.
В зависимости от цели pet-проекты помогают:
- Решать личные задачи. Допустим, если разработчик увлёкся инвестициями и создал чат-агрегатор новостей о бизнесе и экономике. Множество популярных сервисов сперва были личными проектами, например, операционная система Linux — программист Линус Торвальдс изначально не создавал её для коммерческих целей.
- Тренироваться. Новички на учебных проектах практикуются — на курсах могут создавать и по десять проектов, условия которых похожи на реальные задачи бизнеса. Продвинутые специалисты при помощи pet-проектов осваивают новые технологии или разрабатывают новые функции, чтобы усовершенствовать IT-продукт.
- Устраиваться на работу. Чтобы решить, стоит ли нанимать человека, работодатели часто смотрят портфолио соискателей — так они могут оценить навыки потенциального сотрудника. Pet-проекты приходят на помощь, если человек только начинает работать в какой-то области и реальных кейсов у него ещё нет.
Pet-проекты можно создавать не только одному, но и в команде. Такие проекты часто превращаются в бизнес-партнёрство.
Идеи для pet-проектов
Чтобы создать pet-проект, можно подсмотреть идеи стартапов из разных стран и переработать их под себя. А можно поискать проблему в своём окружении — подумать, что ежедневно усложняет жизнь людям вокруг, и попытаться придумать pet-проект в помощь.
Вот какие проекты может создать дизайнер:
- прототип IT-продукта: сайта, мобильного приложения или автомобильного бортового компьютера;
- анимированный логотип или ролик-заставку канала на YouTube;
- фирменный стиль, который включает в себя логотип, шрифты, цвета, сувенирную продукцию;
- дизайн презентации стартапа для привлечения инвестиций.
В анализе данных можно сделать такие pet-проекты:
- визуализировать информацию из общедоступных баз данных, например, из «Росреестра»;
- настроить парсинг данных из подходящих вакансий, чтобы информация собиралась и структурировалась автоматически;
- исследовать открытые данные, например, объявления об аренде недвижимости.
А вот какие проекты может создать начинающий разработчик:
- калькулятор — приложение для расчёта платежей по ипотеке или калькулятор калорий;
- календарь — например, обычный, который будет показывать рабочие дни, выходные и праздники. Ещё вариант — календарь распродаж и сезонных акций;
- бот, который будет составлять меню, находить и бронировать билеты, обучать иностранным языкам;
- трекер — чтобы отслеживать курс валют, физическую активность или сон;
- мини-игра — это может быть змейка, покер или даже стратегия с собственным сюжетом;
- веб-сайт или мобильное приложение — можно создать макет интернет-магазина или ресурс, который будет предлагать подборки фильмов;
- мессенджер — вдруг получится сделать будущего конкурента Telegram или Slack;
- социальная сеть — можно сделать внутреннюю корпоративную сеть или соцсеть любителей чего бы то ни было.
Примеры успешных pet-проектов
1. FreeCodeCamp
FreeCodeCamp — это открытая образовательная платформа для обучения веб-разработке. Изначально проект был создан Куинси Ларсоном как pet-проект, целью которого было помочь людям освоить программирование и найти работу в IT-сфере. На платформе представлены тысячи учебных заданий и проектов, охватывающих HTML, CSS, JavaScript и другие технологии. Сегодня FreeCodeCamp имеет большое сообщество и помогает миллионам людей по всему миру развивать свои навыки программирования и строить карьеру в технологии.
2. Slack
Slack начал свою жизнь как побочный продукт. Изначально он был разработан командой компании Tiny Speck, которая работала над игрой Glitch. Во время работы над игрой разработчики создали внутренний инструмент для общения и управления проектами. Когда стало ясно, что Glitch не оправдает ожиданий, команда решила сосредоточиться на своем внутреннем инструменте, который со временем превратился в Slack. Сегодня Slack является одним из ведущих корпоративных мессенджеров, используется в тысячах компаний по всему миру для организации командной работы и обмена информацией. Его успех подчёркивает важность экспериментов и адаптации идей в процессе работы над проектами.
3. Habitica
Habitica — это игровое приложение для формирования привычек, где пользователи могут превратить выполнение ежедневных задач в увлекательную RPG. Проект начинался как личный инструмент для управления задачами, созданный Тайном Ксандером, но его игровой подход привлёк внимание многих пользователей. Вскоре проект вырос в полноценное приложение, где пользователи могут вместе выполнять задачи, прокачивать персонажей и взаимодействовать в рамках сообщества. Habitica — отличный пример того, как pet-проект может найти свою аудиторию и вырасти в успешное приложение.
4. Home Assistant
Home Assistant — это система автоматизации умного дома с открытым исходным кодом. Проект был создан Паулем Ставелссом как pet-проект для управления собственными умными устройствами, но благодаря открытой архитектуре и поддержке большого числа устройств он быстро привлёк внимание сообщества. Home Assistant позволяет объединить управление всеми устройствами умного дома в одном интерфейсе и автоматизировать различные процессы — от освещения до безопасности. Проект активно развивается и поддерживается сообществом энтузиастов по всему миру.
5. Linux
Linux был создан Линусом Торвальдсом в 1991 году как хобби-проект, когда он учился в Хельсинкском университете. Изначально это было небольшое операционное ядро для персональных компьютеров, вдохновлённое системой Minix. Линус решил поделиться своим кодом с сообществом разработчиков, что позволило другим людям участвовать в его улучшении. Со временем проект Linux превратился в одну из самых популярных и широко используемых операционных систем в мире, став основой для многих серверов, смартфонов (Android) и встраиваемых систем. История Linux демонстрирует, как открытые pet-проекты могут стать масштабными благодаря поддержке сообщества и открытой модели разработки.
Как создать pet-проект: пошаговая инструкция
Тренировочный проект создаётся в три этапа:
- Выдвигают гипотезу. Перед созданием pet-проекта следует продумать его концепцию и представить, какую проблему пользователей он будет решать.
- Проводят исследование. Затем нужно проверить гипотезу: изучить похожие продукты и отзывы пользователей, почитать исследования рынка.
- Разрабатывают MVP. На следующем этапе создаётся Minimal Viable Product, или минимально жизнеспособный продукт, проще говоря, тестовая версия. Здесь пора показывать продукт реальным пользователям, собирать фидбэк, исправлять ошибки и дорабатывать функционал.