Как начать делать «осознанные» pet-проекты

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

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

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

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

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

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

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

  1. Учебный

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

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

  2. Личный

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

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

  3. Командный

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

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

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

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

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

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

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

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

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

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

Что ты такое?

d4970d7d6613154538c44e079be1b0fe.png

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

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

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

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

План

87de6c0d3e2e3a7b5d10e57c5139a46c.png

  1. Портфолио

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

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

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

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

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

    • резюме;

    • навыки;

    • отзывы;

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

    • блог;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

© Habrahabr.ru