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

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

Pet-проект — это небольшой личный проект в любой отрасли для портфолио или собственного удовольствия.

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

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

Такой подход совсем неправильный.

Какие бывают pet-проекты?

  1. Учебный

    Pet-проект для освоения новой технологии или закрепления полученных знаний.

    Мотивация: буст для профессионального развития.

  2. Личный

    Pet-проект для решения личной задачи.

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

  3. Командный

    Pet-проект с однокурсниками, друзьями или open-source проекты.

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

  4. Трудоустройство

    Pet-проект, который стал им после того, как ты выполнил тестовое задание.

    Мотивация: прямо пропорциональна желанию устроиться на работу. Если выполнить ТЗ не получилось, важно доделать проект позже, потому что ТЗ содержит востребованные на рынке технологии и направлено на решение типовых задач. Есть вероятность, что:

    • это поможет будущему работодателю оценить наличие тех самых навыков, которые ему нужны;

    • в следующий раз будет легче выполнять аналогичные задания.

    Важный момент: на создание ТЗ компании тратят деньги, поэтому им точно не понравится, если выложить решение их ТЗ в открытый доступ, поэтому нужно следовать нескольким правилам:

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

    • в идеальном мире можно написать нанимающему менеджеру о планах добавить проект в портфолио и скинуть отредактированную версию ТЗ, чтобы HR убедился, что реализация не заставит компанию создавать новое ТЗ. Это поможет оставить положительное впечатление у HR'а и принесет плюсик в карму.

Что ты такое?

Что я называю "осознанными" pet-проектами? Помимо того, что у pet-проекта должна быть какая-то концепция и проблема, которую он решает, он должен еще и быть масштабируемым.

Очевидно, что только со знанием верстки выполнить интересный для работодателей с точки зрения Frontend разработки pet-проект выполнить не получится. Но это не значит, что сначала нужно набраться знаний, а потом приступать к "осознанным" pet-проектам.

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

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

План

  1. Портфолио

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

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

    С помощью представленных проектов работодатель получает полную информацию об опыте и профессионализме кандидата.

    Портфолио может включать в себя:

    • примеры работ или проектов;

    • резюме;

    • навыки;

    • отзывы;

    • сертификаты/дипломы;

    • блог;

    • ссылки на соцсети и платформы, подтверждающие профессиональные достижения или знания (например, платформы для решения задач leetcode, codewars и т.д.).

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

    Несколько советов при создании портфолио:

    • работодателю будет интересен стек, который используется в его команде, поэтому поиск по ключевым словам, фильтр или система тегов - отличная идея;

    • содержание портфолио будет часто обновляться, поэтому было бы круто обновлять данные без необходимости лезть в код;

    • отзывы - можно попросить однокурсников или наставников первыми оставить отзывы, чтобы раздел не оставался пустым;

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

    Если для полноценной реализации портфолио не хватает навыков, можно ограничиться версткой, а в качестве базы данных создать отдельный файл с массивом, в котором будет храниться примитивная база данных (БД). БД можно редактировать ручками, пока не появятся знания для создания CRM системы (но верстку СRM системы лучше подготовить сразу).

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

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

  2. Второй и последующие pet-проекты

    Портфолио готово и ждет все нового и нового наполнения? Отлично, самое время начать разрабатывать то, что интересно работодателям.

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

    Нравится е-комм? Отличный вариант - платформы для продажи товаров или услуг.

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

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

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

Заключение

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

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

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


  1. Emelian
    28.09.2024 11:08

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

    Вот, «благодаря этой статье», я «эффективно написал pet-проект», в виде обучающей программы «L'école, v. 1.00» и выложил ее на сайты http://lecole.free.nf/ и https://polezp.narod.ru/ . И что, для поиска работы мне осталось сформировать только свое «портфолио»? Бэкграунд, вроде бы, не самый худший: два очных полных высших образования, включая мехмат МГУ (математика) и двадцать лет работы по собственной учетной системе на производственном предприятии. Есть у меня шанс найти работу :) ?


  1. sfirestar
    28.09.2024 11:08

    А это точно осознанные pet-проекты?


  1. Altair4717
    28.09.2024 11:08

    Мда. Я, наверное, никогда не пойму в чём смысл подобных статей.

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

    Как такое вообще возможно? У меня были разные pet-проекты, но ни разу не было ситуации, когда я над чем-то работаю, но не понимаю зачем и для чего.

    pet-проект превращается в ракету, которая точно никогда не взлетит

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

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

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

    самое время начать разрабатывать то, что интересно работодателям.

    Самое смешное, что именно после этой строчки идёт перечисление максимально не осознанных pet-проектов, половина из которых никогда не будут завершены из-за возможности расширить их до бесконечности :) Но это ладно. Не надо делать проекты под абстрактного работодателя. Вот просто не надо. Работодателям интересен в первую очередь опыт коммерческой разработки, если его много, то там уже никакие pet'ы не нужны, офферы будут приходить просто на нормальное резюме. Если же его нет вообще, то pet'ы хорошо, но финальное решение по вашей кандидатуре всё равно будет от выполненного тестового задания (которое, кстати, далеко не всегда является отражением реальных потребностей бизнеса, они существуют для другого) и пройденных интервью, а не от того, насколько ваш зверинец близок к их направлению.

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