О пет-проектах знают на Хабре многие. У кого-то такой проект крайне сложный, у кого-то попроще. И разрабатываются такие проекты с разной целью — от just for fun до обучения или доказать самому себе — «Я могу». На самом деле, пет-проекты — отличный вариант для практического обучения начинающих программистов. Да и опытные профессионалы, освоив новую технологию, тоже часто делают на базе полученных знаний что-то новое, чтобы закрепить в памяти и получить новый навык. Но максимальный профит от домашних проектов всё же получают новички. Кстати, эта статья — именно для начинающих разработчиков.

Почему пет-проект — хороший вариант для обучения?

Дело в том, что большинству работодателей, за малым исключением, нужны программисты с опытом, пусть и начинающие. Если опыта нет, в плане работы над какими-то проектами в компании, то пет-проект может послужить дополнительной строкой в разделе «Опыт» своего портфолио. При этом сделать можно практически любой проект, соответствующий профилю специалиста, — от чат-бота до 3D-модели.

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

Кроме портфолио, проект поможет закрепить полученные из книг/YouTube/курсов и форумов знания. Если это первый или второй ваш проект, то отдельные кусочки теории начнут постепенно складываться в единое целое, после чего станет понятно, где и как применять всё это на практике.

Как начать работу?

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

Далее нужно на бумаге или в электронном виде расписать свою идею подробно.

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

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

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

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

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

Можно также попробовать поработать в команде — снова-таки, это если проект комплексный. Разработали веб-сервис? Друг-дизайнер может продумать и реализовать удобный интерфейс к нему.

Какими могут быть пет-проекты?

Как и говорилось выше, в принципе, любыми. Но лучше всего сделать что-то такое, что можно «потрогать».

Мини-игра

Какая-то небольшая игрушка с интересными особенностями — отличный вариант для разработчика игр либо для фронтендера. Это может быть тетрис, змейка (сделайте её огнедышащей, например), шахматы и т. п.

Специфический сервис

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

Можно также разработать калькулятор для расчёта заработной платы сотрудников в компании, куда вы планируете устроиться.

Интернет-магазин

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

Приложение для нумизмата или библиофила

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

В конечном итоге вы получите море удовольствия от финального результата, ведь сможете увидеть итог всей работы, поймёте, как реализовать различные фичи и возможности.

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

Комментарии (8)


  1. saipr
    05.09.2023 07:16
    +2

    Честно не знал, что разрабатываемые мною в своё удовольствие различные проекты (простенький SVG-редактор на tcl/tk или вполне серьёзный удостоверяющий центр и утилита для работы с электронной подписью) это пет-проекты. А это именно так, следуя из определения пет-проекта:


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

    Спасибо автору за подсказку.
    Но вот тут готов поспормть с автором:


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

    С моей точки зрения, регулярно — это не значит каждодневно сидеть за компьютером над своим проектом. Иногда полезно, остановиться и просто обмозговать что сделано, что может пределать и т.д. На это может уйти и не две недели. Озарение может прийти в любой момент и тогда пора возвращаться к проекту.


    1. saboteur_kiev
      05.09.2023 07:16
      +1

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

      Это следует из слова pet. Хобби-проект, личный проект.

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


  1. PrinceKorwin
    05.09.2023 07:16

    Свой пет-проект это хорошо. Сейчас главное не начать/продолжить контрибутить в чужой "пет"-проект. За это теперь может прилететь :(


    1. Filipp42
      05.09.2023 07:16

      Не могли бы вы рассказать, от кого и за что именно может прилететь?


      1. PrinceKorwin
        05.09.2023 07:16
        +3

        https://habr.com/ru/news/757744/


  1. LyuMih
    05.09.2023 07:16

    Хорошо, когда пет проект имеет законченную форму.
    Лучше выпустить без "кучи" фич, поставить точку и двигаться дальше, чем взяться за 10 проектов и перегареть на каждом.
    Делайте маленькие пет проекты)


  1. kwazar1471
    05.09.2023 07:16

    Поддерживаю автора. Спасибо. Проходя онлайн-обучение по основам баз данных и SQL запросам одним из способов реализовал пет-проект. В процессе испытывал творческие муки)


  1. MainTrain
    05.09.2023 07:16

    Если вдруг у вас идей ноль или они вам е очень нравятся, то можно обратиться к ИИ. Тот проект который делаю я мне показался не в полной мере раскрывает знание основ, базовые умения и т.п. Написал Chat-GPT 3,5 такой запрос:

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

    Может кому то поможет преодолеть кризис идей и получить толчок.