Перейти к содержимому

Как придумать пет проект

  • автор:

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

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

Пет-проекты — еще одна возможность для джуна получить реальный опыт работы. Это собственные проекты, которые иногда становятся глобальными сервисами (например, 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 и командной строкой
  • Выберите себе профессию или улучшите навыки

Pet-проекты: что это, зачем нужны и как их сделать. Идеи для пет-проектов в IT

Pet-проекты: что это, зачем нужны и как их сделать. Идеи для пет-проектов в IT

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

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

Пет-проект (pet — англ. «домашний питомец, любимец») — это проект, который разработчик делает для себя, в свободное от основной работы время. Многие популярные сервисы начинались именно так. В начале нулевых выпускник Стэнфорда Кевин Систром в свободное от работы время разрабатывал приложение Burbn. С его помощью можно было делать фотографии, отмечать геометки, а также делиться заметками. Позже Кевин познакомился с Майком Кригером, и они выложили приложение в AppStore под названием Instagram. А уже в апреле 2012 года Кевин и Майк продали свою разработку Фейсбук* за 1 млрд долларов.

«IT-специалист с нуля» наш лучший курс для старта в IT

В тех же нулевых студент СПбГУ Павел Дуров в свободное от учебы время создавал некоммерческие проекты, посвященные общественной и научной жизни университета: Durov.com и Spbgu.ru. В октябре 2006 года он зарегистрировал домен vkontakte.ru, а в 2008 году количество пользователей соцсети превысило 20 млн. Крупные компании часто поощряют внерабочую деятельность сотрудников. Например, в 2004 году в Google запустили «Правило 20%»: сотрудники могли определенную часть своего рабочего времени посвящать личным проектам. Именно так родились Gmail и Google News. Правда, был один нюанс: все разработки сотрудников являлись интеллектуальной собственностью компании. В 2011 году, после прихода Ларри Пейджа на пост гендиректора, сотрудники Google рассказали, что компания фактически отказалась от «Правила 20%». Правда, в самом Google заявляли, что по-прежнему выделяют сотрудникам время на внерабочие проекты.

Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам
4 490 ₽/мес 7 483 ₽/мес

vsrat_7 1 (2)

*деятельность компании Meta Platforms Inc., которой принадлежит Инстаграм / Фейсбук, запрещена на территории РФ в части реализации данной (-ых) социальной (-ых) сети (-ей) на основании осуществления ею экстремистской деятельности

Плюсы пет-проекта

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

Минусы пет-проекта

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

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

Основные шаги по созданию пет-проекта

Шаг 1. Продумайте идею (гипотезу) проекта, чему он посвящен, какие задачи решает. Про то, откуда брать идеи проектов, мы написали в следующей части.

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

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

1. Использовать существующие данные (кабинетные исследования):

  • готовые маркетинговые исследования в открытом доступе;
  • социальные сети конкурентов и статьи в медиа;
  • анализ поисковых запросов;
  • отзывы пользователей;
  • обращения клиентов в поддержку (если есть доступ);

2. Создать новые данные (полевые исследования):

  • глубинные интервью — интервью с потенциальным или действующим пользователем о его проблемах и способах решения;
  • экспертные интервью — опрос лидеров мнений в отрасли;
  • опрос пользователей;
  • фокус-группа — интервью сразу с несколькими представителями целевой аудитории.

Шаг 3. Сделайте MVP(minimum viable product, минимально жизнеспособный продукт) — это продукт (или набор действий), направленный на то, чтобы подтвердить ценность будущего продукта для потребителей.

Для чего нужен MVP:

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

Чтобы собрать обратную связь об MVP, можно провести разные виды тестов:

  • скетч-тесты быстрого опыта: создается прототип, который выглядит как продукт (или имитирует какие-то его функции), его передают пользователям для взаимодействия и записывают результаты наблюдений;
  • тесты «входной двери» — сбор предоплат/ценной информации. За доступ к услуге (или продукту), возможно, еще не созданной, взимается оплата или собираются заявки. Например, на некоторых посадочных страницах размещают информацию о еще не созданном продукте и оценивают количество обращений;
  • тесты, имитирующие работу сервера, — «ручные процессы». Используются, например, когда планируется автоматизировать какой-то процесс: сначала создают интерфейс, который для пользователей выглядит реально, но на самом деле процессы выполняют сотрудники вручную;
  • тесты «полного опыта» — сборка продукта из подручных средств. Тут продукт не разрабатывают с нуля, а используют готовые решения: Google Формы, конструкторы сайтов

Шаг 4. Получившийся кейс можно добавить в портфолио либо развивать дальше в полноценный продукт.

Как придумать идею для проекта

Отталкивайтесь от задач, которые хотите выполнить, и технологий, которые хотите изучить. А чтобы идея для проекта нравилась непосредственно вам, можете связать его с темой, которая интересна и важна. Если интересуетесь цифровой доступностью, можно продумать и реализовать идею сервиса для людей с ограниченными возможностями. А если хочется приблизить будущее — можно создавать необычные системы на микрокомпьютерах, например собственный «умный» будильник.

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

1. Таск-трекер

Для кого: веб-разработчики, в первую очередь frontend.

Срок разработки: от нескольких дней до месяца.

Создать таск-трекер — своего рода мем в сфере фронтенд-разработки. Сервис для отслеживания задач считается классической первой задачей. Сложность зависит только от программиста: можно сделать простой интерфейс, чтобы только заносить задания и помечать выполненными. А можно создать целое приложение, где получится указывать дедлайны, настраивать уведомления о сроках, задавать расписание для регулярных тасков и так далее. Даже простой трекер со временем можно усложнять и доделывать, так чтобы это был проект для программирования или других задач «на все времена».

удобный трекер задач для frontend pet project

2. Мини-игра

Для кого: веб-разработчики, геймдевы, геймдизайнеры.

Срок разработки: от нескольких дней до месяца.

Можно придумать проект в виде своей реализации известной игры, например, «змейки», «арканоида» или «тетриса». Есть и более необычные идеи: создать мини-игру для тачбара MacBook, клавиатуры с экраном или консоли. А если хочется чего-то посложнее и поинтереснее, можно экспериментировать с сюжетом, дизайном, игровыми механиками и многим другим. Это проект, который при желании можно дорабатывать и усложнять. Усложнение игр — задача для будущих геймдевов: веб-разработчикам достаточно создать классическую реализацию.

3. Домашняя цифровая система

Для кого: бэкенд-разработчики, системные администраторы, сетевые инженеры.

Срок разработки: несколько месяцев.

Речь не об «умных колонках», хотя их при желании тоже можно интегрировать в систему. Скорее, об инженерной или сетевой инфраструктуре. На что она будет способна — зависит от пожеланий конкретного разработчика. Вариантов много: например, поднять локальную сеть, чтобы любимая коллекция фильмов была доступна с любого устройства в квартире. Или купить и подключить датчики, чтобы отслеживать уровень влажности и температуру в комнате. Можно создавать целые «умные системы» вроде автополива. Для простоты новичок может воспользоваться готовыми плагинами для работы с разным «железом», но если хочется усложнить задачу — можно писать свои плагины и дополнения, дорабатывать систему.

4. Дашборд

Для кого: frontend-разработчики, fullstack-разработчики.

Срок разработки: от нескольких дней.

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

Пример дашбода для frontend, как pet project

5. Сервис для помощи студентам

Для кого: веб-разработчики, разработчики с уклоном в математику.

Срок разработки: от нескольких недель.

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

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

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

Мы спросили студентов Skillfactory, как они выбирали темы для своих проектов.

Евгений Титов

Курс: Fullstack-разработчик на Python
Работает системным администратором в компании, занимающейся угольной промышленностью
Pet-проект: Автоматизация печати пропусков

«Одна из моих рабочих задач — выпуск пропусков для сотрудников. Это целый процесс: нужно распечатать пропуск из 1С, наклеить на пластиковую карту и “прошить” в базе данных. Мой проект был сделан как замена 1C — я делал его в рабочее и свободное от работы время. Он брал данные для пропуска из корпоративного сайта, проще говоря — парсил, а потом выводил их в HTML-форму. Затем с помощью СSS подгонялся в нужный вид и выводился на печать.

Разработка позволила сэкономить лицензии 1С для компании. Кроме того, инструмент оказался удобнее, чем корпоративная программа, — им пользуюсь я и коллеги».

Используемые технологии: Для парсинга Евгений использовал библиотеки Request и BeautifulSoup4. Для хранения и быстрого доступа — систему управления базами данных Redis, для веб-интерфейса — фреймворк Flask.

Курс: Полный курс по анализу данных
Работает в техподдержке Санкт-Петербургского медицинского информационно-аналитического центра
Pet-проект:
Автоматизация отчетов

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

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

Используемые технологии: Форма сбора информации, созданная из таблицы в Excel; данные обрабатываются с помощью скриптов на Python; информация загружается в базу данных, развернутую на PostgreSQL, потом необходимые данные из базы выгружаются в файл с помощью скриптов на Python; Power BI строит дашборды за нужный период.

Анна Тищенко

Курс: Product Manager
Учится в Томском государственном университете систем управления и радиоэлектроники
Pet-проект: Сервис психологического тестирования

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

Используемые технологии: Frontend написан на бесплатном компиляторе Svelte, Backend — на Node.js, а база данных — на MongoDB.

Кирилл Ермаков

Курс: SQL для анализа данных
Работает бизнес-аналитиком мобильного приложения для банка ВТБ
Pet-проект: Чат-бот, заменяющий пейджеры в продуктовых маркетплейсах

«Обеды с единомышленниками рождают идеи. Одну из них захотели воплотить, посмотреть, что из этого получится. Мы решили разработать проект, где вместо физических пейджеров, которые уведомляют о готовности заказа, клиент подключается к боту в Telegram. Пока проект находится на этапе релиза MVP и проверки ключевых гипотез. Сейчас основная работа лежит на разработчиках, а в дальнейшем планирую уделять проекту по 4–8 часов в неделю. В будущем команда хочет расширить функционал: чтобы чат-бот мог предлагать клиентам скидки, рассказывать об акциях и собирать обратную связь».

Андрей Валент

Курс: Product Manager
Работает дата-инженером
Pet-проект: Айда! — сервис, который помогает искать студии, вечеринки, концерты и уроки танцев в Москве и Санкт-Петербурге.

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

Используемые технологии: VK Mobile APP — это платформа приложений внутри ВКонтакте, MongoDB, Python, Docker.

Делать проект в одиночку или с командой?

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

Анна Тищенко:

«Пишу сервис основном я одна, иногда помогает молодой человек — он программист».

Кирилл Ермаков:

«Я работаю в команде из пяти человек. Я выполняю роль Product Owner — владельца продукта, аналитика, финансиста. Еще я немного выполняю функции SCRUM-мастера. То есть организую работу команды, провожу ретро и планирования спринта, налаживаю рабочий процесс между бизнесом и разработкой. Со стороны бизнеса есть два человека, совмещающие еще больше ролей, и два разработчика: Android и backend».

Андрей Валент:

«Моя часть — это парсинг и база данных. Друг написал frontend и backend. Еще один человек тестирует сервис; был специалист, который занимался сайтом».

Как начать работать над pet-проектом?

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

Анна Тищенко:

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

Кирилл Ермаков:

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

Андрей Валент:

«Делайте, а там как повезет. В любом случае пет-проект — как котик. Он все равно милый и, скорее всего, вам уже нравится».

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

Как найти новые идеи для проектов, когда вдохновение закончилось

Автор делится своим опытом поиска идей для новых проектов, а также предлагает организовать community-driven репозиторий с разработками.

Максим Кузнецов
Senior Python Developer в Akvelon

Как мне известно из личной практики и практики коллег, часто после 8 часов кодинга на работе приходит мысль «А что бы я хотел написать такое, для души, да ещё бы и на чём-нибудь новеньком». Но явной идеи как всегда нет. Сегодня я хотел бы представить вам несколько способов, как можно побороть кризис идей и лишний раз размять мозги и пальцы.

Небольшой дисклеймер: я прекрасно знаю о существовании аналогов и готовых решений, и всё это напоминает производство велосипедов, поэтому попрошу вместо «Да есть же Х, зачем что-то писать» напишите, какой есть ещё вариант изучать новые языки и технологии без курения мануалов и решения вырожденных задач из учебника.

Шаг первый — выбираем технологии

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

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

Язык выбрали, вспомним про awesome curated lists. Гуглим, например, awesome python, находим ссылку на гитхаб. В этом списке обычно описаны библиотеки, разбитые на категории + крупные проекты, написанные на этом языке.

Проекты для новичков: советует эксперт

Шаг второй — ищем идеи

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

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

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

Чем хорош специалист в любом направлении деятельности? А кроме опыта? Верно, своими инструментами. Идея простая: написать свой toolbox, в который сложить все основные инструменты, какие только придут в голову, от простого конвертёра валют до сложных CLI утилит.

Смысл в том, чтобы объединить множество инструментов под единообразный вызов. Например, toolbox -c weather или toolbox -c ssh —comand rm -rf * —host SECRET_HOST —port 1234. Надеюсь, идея понятная. Также можно заложить множество различных фич, например, создание отложенных и «бесконечных» задач с обращением из консоли только за статусом, припилить alias’ы для очень длинных команд. Как можно заметить, идеи приходят в голову, пока я пишу этот текст.

Интересные варианты можете написать в комментариях. Я надеюсь, что мы сможем выкатить какой-нибудь community-driven репозиторий с разработками.

На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Как придумать пет проект

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

Чему вы научитесь:

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

2. Боты

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

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

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

* Продукт Meta, деятельность признана экстремистской, запрещена на территории России.

3. Трекеры

Трекеры бывают разные. Трекер расходов покажет, сколько вы потратили. Биткойн-трекер отслеживает текущий курс биткоина. Фитнес-трекер указывает суточное потребление калорий. Трекер отношений нужен для отслеживания вашей социальной жизни (темы разговоров, события, настроение и т. д.). Все они могут иметь интеграцию с календарем и другие встроенные функции.

Чему вы научитесь:

Создавать приложение, которое содержит различные сведения о состоянии. А поскольку данные будут меняться, они должны иметь функциональность CRUD.

4. Генераторы

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

4.1. Генератор пиксельной графики

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

Помните Microsoft Paint? Можно сделать нечто подобное, но более пиксельно! Добавьте возможность впоследствии сохранить свою работу в формате .jpeg или .png .

4.2. Генератор случайных API

Веб-сайт, который случайным образом генерирует API в зависимости от вопросов, которые вы задаете или данных, которые вводите, с возможностью экспорта данных в различные типы файлов (CSV, JSON, GraphQL и т. д.).

4.3. Генератор тем для поддержания беседы

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

4.4. Генератор рандомных плейлистов

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

4.5. Платформа генератора брендинга

На основе полученных ответов из теста, платформа создает цвет бренда, набор случайно сгенерированных логотипов SVG, рекомендации по типографике и т. д.

5. Игры

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

Вы можете взять в разработку любую мини-игру будь то 2D или 3D (тетрис, змейка, аркады). Воссоздать популярную карточную игру, такую ​​как блек-джек и покер. А можете создать собственную с уникальным сюжетом и геймплеем.

Чему вы научитесь:

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

6. Мессенджеры и соцсети

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

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

Чему вы научитесь:

Как заставить людей общаться друг с другом с помощью такой технологии, как WebSocket API. Функции приложения можно расширить, добавив способ отправки медиафайлов, голосовых вызовов и других форм контента.

7. Учебники и журналы

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

8. Магазины

Сделайте имитацию интернет-магазина на одном из популярных фреймворков (Opencart, Shopify и пр.), который показывает сетку продуктов с указанием описания и цены товара и кнопкой добавления в корзину.

9. Поисковик

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

Создайте платформу для поиска разработчиков в Twitter или LinkedIn по технологическому стеку с фильтрацией по основным качествам и навыкам.

Разрабатывая проект, вы узнаете, как получать данные из API и отображать их на странице, научитесь обходить DOM и использовать карты, сортировку и фильтры для изменения данных внутри массива объектов.

10. Портфолио

Создать себе портфолио – священная обязанность каждого начинающего (и не только) разработчика. Грамотный дизайн, простая структура, ненавязчивая подача информации, несколько ссылок на лучшие проекты и форма для обратной связи в конце заставят любого работодателя пригласить вас на собеседование.

11. Клоны известных сайтов и приложений

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

12. Ежедневник (Todo list)

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

Самый популярный пет-проект среди новичков – это приложение для планирования личных дел, заметок и прочих записей с подгрузкой календаря и цветными стикерами.

13. Библиотеки

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

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

14. Тесты, викторины, анкеты

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

15. Гайд-сайты

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

Чему вы научитесь:

Вы узнаете, как создать интерактивный веб-сайт.

16. Проекты с Arduino и Raspberry Pi

����️ 16 универсальных идей для пет-проектов вне зависимости от языка

Raspberry Pi – это линейка компактных но и довольно мощных одноплатных компьютеров, применяемых для разработки «умных» вещей и устройств IoT.

Если вы «на ты» с электроникой и железом, то эта категория пет-проектов прекрасно вам подойдет.

Пет-проекты от «Библиотеки программиста»

  • �� Создаем рекрутинговый портал на Django: часть 1, часть 2, часть 3
  • �� Django с нуля. Пишем многопользовательский блог для клуба любителей задач Python: часть 1, часть 2, часть 3
  • �� Создаем аналог LiveLib.ru на Flask: часть 1, часть 2
  • �� Flask за час. Создаем адаптивный сайт для GitHub Pages: часть 1, часть 2
  • �� Как сделать сайт на Python за 5 минут с помощью SSG-генератора Pelican
  • �� Пишем Тетрис на Python с помощью библиотеки Pygame
  • ��️ Пишем кейлоггер на Python для Windows за 5 минут
  • �� Моделируем игру в кости на Python с помощью метода Монте-Карло
  • �� Raspberry Pi начеку: делаем за час охранную систему с помощью датчика расстояния и камеры
  • �� Переносим треки из Яндекс.Музыки в Spotify с помощью Python

Материалы по теме

  • �� 40 проектов на Python для новичков и продвинутых разработчиков
  • �� 6 проектов на Python, которые можно завершить за выходные
  • 11 проектов, которые должен разработать каждый питонист
  • Идеи для проектов для практики навыков программирования
  • 6 open-source проектов для практики новичка
  • 8 идей проектов для практики веб-разработки

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

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