Что такое пет проект в программировании
Перейти к содержимому

Что такое пет проект в программировании

  • автор:

Pet-проекты: зачем они нужны, и стоит ли тратить на это время в 2020 году + опрос

Личные проекты для разработчиков и инженеров – важная и интересная тема. В интернете есть множество упоминаний того, как такие проекты приводят к масштабным достижениям – так было в случае нобелевских лауреатов по физике Андрея Гейма и Константина Новоселова, чей эксперимент первоначально состоялся вечером в пятницу, когда ученые по традиции тестировали различные безумные на первый взгляд идеи.

Многие компании также пытаются стимулировать такую активность работников – в Google было правило 20%, которое привело к рождению Gmail, AdSense и Google News, а в Twitter инженеры получали неделю свободную от обычных обязанностей для экспериментов – найти вакансии от столь же продвинутых компаний можно через бота @g_jobbot.

Да что далеко ходить – недавно мы делали вебинар с Android-разработчиком Дмитрием Рязанцевым (вот его статья про работу на Toptal) – запущенную им игру Draw and Ride скачали 250,000 раз, а начиналась она именно как pet-проект. Звучит вдохновляюще, но насколько подход pet-проектов актуален в конце 2020 года? Считают ли до сих пор инженеры наличие таких проектов важным для себя и профессионального развития? С какими проблемами сталкиваются те, кто ими занимается? В новой статьей мы решили найти ответы на эти вопросы.

Зачем нужны pet-проекты: аргументы «За»

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

Pet-проекты приносят удовольствие и позволяют развиваться

Разработчик из Лондона Чанна Джайамуни (Channa Jayamuni) в своей статье на LinkedIn так описывает пользу pet-проектов:

Разработка софта – отнюдь не самая увлекательная профессия до тех пор, пока вам не дали поработать над любимыми задачами. Если вы не работаете в Google или в похожей продвинутой компании с интересными проектами и низким уровнем стресса, то вряд ли ваша работа сплошь состоит из таких задач. В большинстве случаев разработчик может ожидать получить смесь из унылой рутины и относительно неплохих задач. Далеко не всем везет работать с новейшими технологиями в профессиональных средах, чтобы оставаться на острие развития отрасли просто выполняя рабочие обязанности.

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

Личные проекты помогают найти лучшую работу

Многие руководители прямо заявляют о том, что наличие портфолио собственных проектов у инженера – один из ключевых пунктов при найме.

Так директор компании-разработчика открытой NoSQL базы данных RAVENDB Айенде Райен (Ayende Rahien) говорит о том, что при поисках разработчиков смотрит на наличе страсти к работе. По мнению топ-менеджера, у специалистов, которые не могут найти время на развитие собственных проектов, такой страсти нет, они не собираются выходить за рамки рабочих обязанностей. Нанимать таких разработчиков в небольшую команду может быть не лучшей идеей.

Хотите найти работу, на которой пригодятся полученные в ходе запуска pet-проектов навыки? Используйте наш бот @g_jobbot. Его просто и быстро настроить: нужно указать свою сферу и стек технологий, желаемую зарплату, локацию или «релокейт». Подходящие вам варианты будут приходить в Телеграм.

image

Компаниям выгодно стимулировать эксперименты сотрудников

Майк Миллер (Michael Miller) работает на позиции Engineering Manager в Bloomberg LP и считает, что компании должны официально позволять ведущим специалистам развивать свои проекты в рабочее время, и что такой подход может быть отдельной HR-плюшкой для талантливых работников:

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

Что может пойти не так

Несмотря на очевидные плюсы, существует и целый ряд трудностей при работе над дополнительными проектами вне работы. Кто-то называет эти трудности мифами, как инженер Twitter Аннель Де Джагер (Annelle De Jager). Тем не менее, вот как выглядит этот список:

Нехватка времени

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

Отношения с друзьями и семьей

Пункт частично вытекает из предыдущего. Если у человека есть семья и друзья, а он в какие-то моменты делает выбор не в их пользу, а в пользу написания кода – помимо работы! – но за который ему даже с высокой вероятностью не заплатят – это может выглядеть странно и даже вызывать обиды.

Негативные эмоции в случае неудачи проекта

Как и любой стартап, pet-проект может «не полететь», или специалист может увлечься другой технологией и захотеть попробовать что-то сделать с ее использованием. В таком случае текущий проект придется забросить или убить, это может быть психологически непросто. Ситуация усугубляется, если проект уже привлек первых пользователей, тогда неудача становится публичной. Такой негатив в дополнение к сложностям на основной работе нужен далеко не всем.

Что в итоге: немного статистики и опрос

Мы решили прояснить отношение разработчиков к ведению pet-проектов в текущих условиях удаленки и глобальной пандемии. Поэтому мы опросили знакомых инженеров из таких компаний как Gett, «Лаборатория Касперского», Uber, Smartcat и др. и задали им вопросы о том, развивают ли они pet-проекты и с какими трудностями сталкиваются при этом. Вот главные выводы по итогам опроса:

  • Инженерам нравится заниматься своими проектами. Мы опросили пару десятков человек, и только четверо заявили о том, что не ведут никаких хобби-проектов от автоматизации собственных рабочих задач, до телеграм-ботов и робототехники.
  • Изучение новых технологий – один из основных приоритетов. Наиболее частый ответ на вопрос «Зачем?» заключается в изучении новых технологий и профессиональном развитии.
  • Дополнительный заработок – важный стимул. Половина опрошенных заявили, что серьезно рассматривают или задумываются о том, чтобы начать зарабатывать на своих pet-проектах.
  • Самое главное – удовольствие. Инженеры хотят получать удовольствие от работы, и pet-проекты дают им это.

UPD: как к pet-проектам относятся читатели на Хабре

Первые данные нашего опроса позволили нам собрать вот такую интересную статистику. Итак, большинство читателей Хабра ведут pet-проекты:

При этом только треть опрошенных думают заработать на своих хобби-проектах:

Если вы ведете свои pet-проекты, укажите в боте @g_jobbot информацию о своих проектах, чтобы получать вакансии с учетом использованных в них технологий. Новая работа – отличный способ «монетизации» хобби!

Мы будем обновлять информацию по мере поступления новых голосов!

Ведете ли pet-проекты вы? Если да, то зачем? Участвуйте в нашем опросе – соберем предпочтения аудитории Хабра, обновим статистику в посте и сделаем графики предпочтений русскоязычных инженеров!

Что такое пет-проект и где искать идеи: опыт студентов Хекслета

Что такое пет-проект и где искать идеи: опыт студентов Хекслета главное изображение

Пет-проекты — еще одна возможность для джуна получить реальный опыт работы. Это собственные проекты, которые иногда становятся глобальными сервисами (например, Gmail и AdSense когда-то были пет-проектами), но чаще помогают в процессе саморазвития и закреплении изученного материала. Придумать идею для собственного проекта бывает не просто. Для вдохновения рассказываем о пет-проектах наших студентов: от аналога Trello до программы для интерактивного дисплея на клавиатуре.

Что такое пет-проекты

Это собственные проекты, которые в первую очередь нужны для саморазвития. Они не ограничены ничем — ни сроками, ни форматом, ни технологиями. Программист может самостоятельно выбирать, с какой задачей работать и какой процесс в своей повседневной жизни автоматизировать. Пет-проект не может быть хорошим или плохим — вне зависимости от сложности и качества кода это ценный опыт и возможность отвлечься от рабочей или учебной рутины.

Пет-проекты полезны и для студентов, которые только изучают программирование, и для разработчиков с опытом.

Бесплатные курсы по программированию в Хекслете

  • Освойте азы современных языков программирования
  • Изучите работу с Git и командной строкой
  • Выберите себе профессию или улучшите навыки

Для студентов

Программистам важно на практике применять знания, полученные во время обучения. Если заниматься только чтением практики, просмотром туториалов и решением задач, времени на освоение выбранной темы понадобится намного больше. Закреплять знания лучше на реальных задачах — и пет-проекты для этого отлично подходят.

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

Для разработчиков

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

В некоторых крупных компаниях существует практика поощрения собственных проектов сотрудников. Например, введенное в 2004 году Google «Правило 20%» позволяло разработчикам тратить пятую часть рабочего времени на пет-проекты. Так появились Gmail и AdSence. Стоит отметить, что в случае с Google такая политика предполагала, что все разработки становятся интеллектуальной собственностью компании.

Где взять идеи для проекта

Универсальный ответ на этот вопрос — попробовать автоматизировать процессы или решить проблемы, с которыми приходится сталкиваться каждый день. Однако на практике поиск идей может оказаться не самой простой задачей.

Мы попросили студентов Хекслета рассказать о своих пет-проектах: вероятно, эти кейсы помогут вам придумать идею для собственного проекта.

Рустем Тарасевич, JS/TS-разработчик

В моем GitHub репозитории около 10 пет-проектов. Первые три — помидорный таймер, сервис для составления списков задач и приложение погоды — своего рода Hello, World в портфолио каждого начинающего фронтенд-разработчика. Не буду останавливаться на них подробно, а расскажу про более сложные проекты.

Чат для комьюнити. Упрощенный аналог чата комьюнити Хекслета в Slack, который я сделал в качестве четвертого, финального учебного проекта. Приложение представляет собой чат с входом по регистрации и отдельными комнатами для обсуждений. Сообщения в нем можно редактировать и удалять.

На проект я потратил больше двух недель — за это время успел разобраться в вебсокетах, интернационализации, кастомных хуках, Redux Tool Kit и другими технологиями.

Трекер задач. Идею для этого проекта я взял из книги Fullstack React with Typescript. На русский язык она не переведена, так что во время чтения подтянул английский до уровня B1\B2.

Проект похож на доску Trello: это канбан-доска с возможностью перетаскивать задачи курсором (Drag and drop). Для реализации этого функционала я использовал библиотеку React-DND, а стэйт-менеджмент написал с помощью Redux Tool Kit, самостоятельно типизировал логику с помощью документации. Это потребовалась, поскольку в оригинале предполагалось реализовать приложение на чистом Redux.

В ходе проекта я также изучил библиотеку styled-components , которая позволяет писать стили компонентов прямо в tsx-файле.

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

Читайте также: Как сохранять фокус на протяжении всего обучения: советы от Хекслета

Иван Иванов, разработчик на С++

Свой первый проект я сделал около семи лет назад, когда самостоятельно учил C++. Тогда я купил игровую клавиатуру Logitech с черно-белым экраном и столкнулся с тем, что для нее доступно очень мало программ. Я решил сделать свою программу, которая будет выводить на экран сообщения из Skype (на тот момент главной платформы для общения геймеров, по аналогии с Discord) и позволит отвечать на них, не сворачивая окно с игрой.

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

Для работы над проектом я изучил API Windows, которое использовал Skype, и API клавиатуры — это была библиотека на языке C, с которым я раньше не сталкивался. Нужно было разобраться, как подключать C-библиотеки и использовать их в программах, написанных на C++, и как работать с пиксельной черно-белой пиксельной графикой.

Результат работы я выложил на американский форум LogitechFans, где было самое большое сообщество пользователей таких клавиатур. На форуме получил фидбэк и несколько установок программы. На тот момент решение было уникальным, по крайней мере в сегменте бесплатных — единственный аналог стоил достаточно дорого. Исходный код проекта можно посмотреть здесь .

Константин Мамонтов, PHP-разработчик

Мой пет-проект — интернет-магазин, точнее, интернет-склад. Он не решал никакую конкретную проблему и всегда был некоммерческим. Его целью было закрепление знаний и поиск подводных камней при разработке подобных продуктов.

Основа проекта — база данных, написанная на моем основном языке PHP. В процессе работы над складом я изучил JavaScript для создания пользовательского интерфейса и добавил формы приема заказа и регистрации через Bootstrap.

Этот опыт пригодился мне на собеседовании, которое благодаря курсам и проекту я прошел почти моментально, и во время выполнения тестового задания. В результате я нашел первую работу PHP-программистом на Laravel.

Бесплатные курсы по программированию в Хекслете

  • Освойте азы современных языков программирования
  • Изучите работу с Git и командной строкой
  • Выберите себе профессию или улучшите навыки

Как собрать пет-проекты для первого портфолио

Разбираемся, где искать идеи для пет-проектов, как их создавать и какие из личных проектов стоит добавить в первое портфолио.

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

Что такое пет-проект

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

Opera 57 получила «умные» новости и рекомендации от Netflix

Хороший пет-проект можно добавить в портфолио — он продемонстрирует работодателю практический опыт соискателя. Многие компании сами поощряют пет-проекты сотрудников. Например, Google позволяет работникам уделять часть рабочего времени личным проектам. Именно из пет-проектов родились Gmail и Google News. А Twitter проводил Hack Week — неделю, когда сотрудники могли отвлечься от рабочей рутины и поэкспериментировать.

Где искать идеи

Разработчик может попробовать автоматизировать процессы или решить проблемы, с которыми приходится сталкиваться каждый день. Также помощью пет-проекта он может практиковать новые навыки, полученные во время учебы. Пет-проектами могут быть, например, сайты, чат-боты, алгоритмы, программы для заметок, to-do листы.

Мы попросили студентов и экспертов онлайн-школы анализа данных SkillFactory рассказать, где они искали идеи для своих пет-проектов.

Меня не устраивало звучание фабричных колонок, я хотел добиться качественного звука. Нашел пару неплохих динамиков, но конструкция корпуса имела недостатки. Тогда я изучил теорию и выяснил, что нужно оптимизировать вещественную часть комплексного интеграла по замкнутому контуру. Изменение формы и размеров замкнутого контура и есть аргумент задачи оптимизации. Результат расчетов я потом воплотил в дереве. И слушаю музыку до сих пор.

Геннадий выпускник курса Data Science

Я обновлял свое резюме, чтобы понимать нюансы рынка. Смотрел ролики и читал HR-статьи про IT. И в одной из статей я увидел несколько советов для тех, кому трудно составить резюме. Автор рекомендовал задать друзьям, семье, знакомым и коллегам вопросы из списка. Они отвечали на вопросы и человек получал внешнюю обратную связь. Так у меня возникла идея обработать эту обратную связь с помощью Python-библиотеки Pandas

Степан студент курса Data Scientist

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

Максим Пикалов гейм-девелопер, ментор курса SkillFactory

С чего начать работу над пет-проектом и какие инструменты использовать

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

Затем проведите исследование и проверьте гипотезу: определите, на кого рассчитан сервис, соберите обратную связь у однокурсников или коллег.

Следующий шаг — выпустите MVP (minimum viable product, минимально жизнеспособный продукт) — прототип c минимальным набором функций.

И, наконец, соберите фидбек у пользователей и на основе отзывов доработайте проект.

Для реализации пет-проекта подойдут все ресурсы с документацией, ролики на YouTube. Многое зависит от уровня знаний человека. Если есть классный опыт и знания, можно пробовать собирать команду и начинать делать сложный проект. Начинающим разработчикам я бы посоветовал брать посильные задачи. Реализовывать небольшие проекты, которые при желании можно потом развить. Либо можно подключиться к чужому проекту и выполнить там реализацию какого-то компонента. Также полезно поучаствовать в open source проектах.

Сергей Рудик Lead QA Engineer @ Delivery club

Подход у каждого свой. Я стараюсь сделать как можно быстрее первый рабочий прототип, а потом на него наращивать всю остальную функциональность.

Максим Пикалов гейм-девелопер, ментор @ SkillFactory

Как собрать пет-проекты для первого портфолио 1

Пет-проекты начинающего разработчика порой могут рассказать о его навыках больше, чем резюме. Если вы сделали хороший пет-проект и защитили его на собеседовании, то сможете получить оффер даже не имея опыта. Мы выделили несколько видов пет-проектов, которые можно добавить в портфолио.

Пет-проекты, сделанные под конкретную сферу

Определитесь со сферой, в которой вы хотели бы работать. Это может быть, например, финтех, фудтех, e-сommerce или что-то еще. И добавьте в портфолио проект, которые покажет работодателю, что у вас есть понимание индустрии.

Пет-проекты, демонстрирующие нужные для вакансии навыки

Изучите требования к вакансиям и определите для себя стек технологий. Например, работодателю нужно знание определенных фреймворков. Допустим, у вас проект на Flask, а в вакансии требуется знание Django. Разберитесь, и создайте проект на этом фреймворке.

Пет-проекты с понятной структурой

Для работодателя важен не столько результат пет-проекта, сколько поэтапный план его реализации. Подойдите к проекту максимально скрупулезно: пропишите требования, сделайте спецификации. Протестируйте свой продукт. Так вы продемонстрируете работодателю, что разбираетесь в циклах разработки и готовы по ним работать.

Командные пет-проекты

Разработка — это, прежде всего, командная работа. Найдите единомышленников и создайте пет-проект вместе. Так вы не только попрактикуетесь в технологиях, но и покажете, что у вас хорошие софт-скиллы и вы умеете работать в команде.

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

Сергей Рудик Lead QA Engineer @ Delivery club

Полезные ресурсы для тех, кто хочет создать свой пет-проект

Product Hunt — платформа, на которой разработчики делятся новыми проектами. Здесь можно найти идеи для своего пет-проекта.

Тренды GitHub — помогут понять, какие проекты сейчас пишут разработчики и какой стек использует

Exploding Topics — рассылка c набирающими популярность проектами

AppMagic и App Annie — сервисы для мониторинга рынка мобильных приложений. Можно искать сервисы по ключевым словам и просмотреть лидеров в разных категориях

Dribbble и Behance — площадки для дизайнеров. Тут можно найти красивые референсы для дизайна интерфейса

Искать команду для совместного пет-проекта можно на Хабре, Reddit или Quora.

Что такое Pet-проект и зачем он зерокодеру

Пет-проекты могут быть разными — это может быть небольшое решение на уровне гугл-таблицы или полноценное приложение, которым будут пользоваться другие люди.

Пет-проект — это такой проект, который ты придумываешь сам и ведешь в свободное время. Это инициатива, за которую ты берешься бесплатно, потому что тебе интересно. Называние «пет» (от английского «pet») — означает домашний питомец, любимец.

Пет-проекты могут быть разными — на что только хватит фантазии. Это может быть небольшое решение на уровне гугл-таблицы или полноценное приложение, которым будут пользоваться другие люди. Такие проекты полезны для саморазвития, но самое важное — он должен приносить пользу и удовольствие лично тебе.

Пет-проект могут создавать не только зерокодеры, но и редакторы, продакты, инженеры — все, у кого есть идеи и интерес.

Если вы еще не начали карьеру в IT, приходите на наш бесплатный вебинар, чтобы узнать, как начать зарабатывать с помощью зерокодинга и нейросетей!

Зачем нужен pet-project?

Пет-проект будет полезен в разных ситуациях. Ты можешь решить какую-то насущную проблему и помочь себе и окружающим. Например, оптимизировать часть процессов на работе или создать чат-бот для выбора блюда на ужин.

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

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

Если ты решил сделать пет-проект

Если ты задумал создать пет-проект, сначала определись, для чего он тебе. Хочешь попробовать новый инструмент, прокачать навыки или развлечься в свободное время? Это поможет сузить круг вариантов. Опирайся на собственный опыт: подумай, с какими неприятными вещами ты сталкивался на этой неделе? А с какими сталкиваешься регулярно? А можно ли это исправить? Если решишь эту проблему для себя, то сможешь помочь и еще кому-то — возможно появится перспектива для дальнейшего развития пет-проекта.

Например, ты хочешь правильно утилизировать мусор, но пока разберешься, что куда сдавать, вся мотивация пропадает. Было бы удобно на одной карте собрать все пункты приема отходов: в каких ближайших супермаркетах можно сдать батарейки, куда отвезти лампочки, а где принимают пластик. Где можно сдать ненужную одежду или утилизировать старый холодильник. Поиск таких мест по обычным картам — муторное занятие. Одна понятая «ресайкл-мап» хотя бы в пределах твоего района может облегчить жизнь и соседям.

Бонус: реальная история

Когда мы готовили эту статью, мы искали, кто сможет рассказать о своем пет-проекте. Мы задали вопрос в чате https://t.me/zerocoders — самом крупном русскоязычном сообществе зерокодеров. Нам ответил Артем Бобков — зерокодер, создатель приложения Sewing House, и согласился поделиться своей историей:

«Я давно мечтал о своем IT продукте, который был бы успешным для меня и полезным для людей. Я 10 лет проработал в швейной индустрии и знаю проблемные места, которые можно решить с помощью технологии. Так родилась идея о создании швейного маркетплейса. Это место, где основатели брендов текстильной индустрии смогут быстро находить надежные контрактные производства, чтобы отшивать свои коллекции. А сами производства будут получать новых клиентов. Так появился Sewing House.

Я начал работу в июне 2022 года, у меня была идея, представление о желаемом продукте и план реализации. Провел CustDev — исследование, которое помогает протестировать идею и выявить потребности аудитории. Для разработки выбрал конструктор Adalo. Эта платформа интуитивно понятная, но я не имел представления, как выстраивается логика приложения. Поэтому я пошел учиться и сразу практиковался на своем пет-проекте. Сейчас проект на этапе тестирования MVP!»

Создавать мобильные приложения мы учим на курсе «Зерокодер мобильных приложений». После обучения вы сможете самостоятельно собирать мобильные приложения на заказ или для реализации своих идей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *