Для чего разработчики делают пет-проекты
Pet-project — это индивидуальный (реже групповой) проект, который вы делаете ради себя, с особой старательностью и заботой, он создается дома вне остальной деятельности, характеризующийся как исключительно личный фаворит программиста. Работа над пет-проектом может длиться неделями, месяцами и даже годами: по мере того, как у автора появляется свободное время и новые идеи.
В качестве проектов подобного рода могут создаваться:
- веб-сайты, блоги;
- игры;
- полезные приложения для мобильных устройств;
- утилиты для компьютерного ПО;
- программы дополненной реальности;
- софт для робототехники;
- чат-боты и т.д.
В каждом случае требуются различные знания, и, соответственно, эти виды проектов имеют разные уровни сложности. Чем хороши пет-проекты? Почти все люди на планете любят собственные хобби и то, что они от них получают. Вот и подобные проекты — это определенный вид хобби, который так же как и остальные приносит человеку, занимающемуся этим, удовольствие. Вам это интересно, и вы идете к реализации определенной идеи, не завися при этом от какой-либо организации или определенных людей.
Чему можно научиться, выполняя пет-проект
Заниматься пет-проектом можно и нужно уже на стадии обучения, т. к. помимо образования работодатели даже у новичка хотят видеть хотя бы базовые навыки. Наши учебные курсы предусматривают не только теоретическую, но и практическую часть. Но чтобы полученные знания надолго закрепились в голове, их нужно постоянно применять в деле. К тому же пет-проекты могут служить хорошей основой для первого портфолио.
- Тест на знание основ HTML
- Тест на знание основ PHP
- Тест на знание ООП в PHP
Кроме того, делать первые шаги в профессиональной среде, даже если вас уже взяли в команду разработчиков, может быть непросто. Зачастую у новичка боязнь предложить неверное решение, которое он не сможет реализовать, тем самым подведя команду, не позволяет в полной мере раскрыть его потенциал. Работая над своим проектом можно совершать ошибки, пробовать что-то новое, искать пути решения разных задач. Таким образом начинающий разработчик выработает полезную профессиональную привычку – постоянно генерировать новые идеи. К тому же, самостоятельный поиск и анализ больших объемов новой информации – то, без чего невозможно реализовать ни один проект, будь он коммерческим или «домашним».
Создание пет-проекта поможет также формулировать задачи (пусть и самому себе), выработать самодисциплину. Вы можете также получать обратную связь от пользователей вашего продукта. А если найдете единомышленников для группового проекта, то усовершенствуете навыки командной работы и управления проектом. Таким образом, вы попробуете себя не только в роли разработчика, но и в качестве менеджера, заказчика, тестировщика и т. д.
Пет-проекты могут быть полезны не только новичкам, но и разработчикам с опытом. Как правило, в профессиональной деятельности специалисту приходится сталкиваться с одним конкретным видом задач (верстка веб-страниц, разработка игр и приложений, создание ботов для соцсетей и алгоритмов для создания персонифицированной email-рассылки или что-то еще). Пет-проект поможет расширить свою профессиональную сферу, поддерживать другие навыки на нужном уровне, тем самым повышая свою привлекательность для других работодателей. Также «домашний» проект – отличный способ освоить новые инструменты программирования и работы с данными.
Опытные разработчики сайтов и приложений так же вносят удачные пет-проекты в портфолио. Кроме того, в разных международных компаниях из-за требований политик конфиденциальности зачастую запрещается демонстрировать фрагменты кода в портфолио. Чтобы наглядно продемонстрировать свои практические навыки будущим работодателям, разработчик может создать аналогичный пет-проект, где будут представлены самые яркие решения.
Что должен уметь новичок для создания пет-проекта
Чтобы правильно развивать свой пет-проект и вынести из него много опыта и знаний для себя, важно обучаться на верных источниках. Для создания пет-проектов полезно освоить следующую «базу»:
- верстку HTML-страниц;
- язык программирования PHP;
- язык запросов SQL;
- JavaScript
Также нелишним будет освоить фреймворк и объектно-ориентированное программирование. Мы поможем с изучением всех этих направлений. Однако разработчику, берущемуся за пет-проект, нужно настроиться на постоянный процесс обучения. Та или иная задача требует индивидуального решения, которое редко находится в готовом виде и в свободном доступе. И чем больше практических навыков есть у разработчика, тем легче ему находить такие решения самостоятельно.
Как приступить к работе и правильно оценить результат
Некоторые берутся за пет-проект исключительно с целью его монетизации, и это не совсем правильно. Конечно, коммерчески удачные продукты – главное признание для специалиста. Но настоящий разработчик должен получать удовольствие от процесса написания кода и поиска решений для самых разных задач, ведь это помогает расти в профессиональном плане.
К выбору тематики и концепции пет-проекта нужно подходить осознанно. Проанализируйте, что бы вы хотели изучить и отработать на практике, а не работайте с уже имеющимися у вас навыками и инструментами. И главное – результат пет-проекта должен приносить практическую пользу, иначе сложно будет оценить ваши старания. Например, это может быть приложение для планирования вашего дня или изучения иностранных языков. Создайте что-то, чем бы сами с удовольствием пользовались. Это поможет нацелиться на создание коммерчески удачных проектов в будущем (а некоторым разработчикам все же удается монетизировать и сами пет-проекты). Для получения объективной оценки можно предложить протестировать разработанный продукт друзьям и знакомым, а также интернет-сообществу, при этом не забудьте получить обратную связь. Чтобы быть уверенным в непредвзятости оценок, можно создать лендинг и настроить на него рекламу, чтобы пользователи могли познакомиться с вашим продуктом и оставить комментарии. Это также даст вам представление о том, интересна ли случайным пользователям Сети ваша идея. Затем останется внести правки, доработать интерфейс и функционал. В ходе взаимодействия с реальными пользователями, со временем вы начнете лучше понимать целевую аудиторию.
О чем еще нужно знать
Всё бы ничего, вы и получаете удовольствие, и независимы, без дедлайнов и жестких рамок, и делать можете проекты хоть бесконечность — казалось бы, идеальная картина. Но именно с этого момента начинается черед минусов.
Если в ходе работы автор «домашнего» проекта не может найти решение какой-то проблемы, ему практически некуда обратиться за помощью. Это сильно приостанавливает продвижение проекта и может привести к тому, что разработчик просто потеряет интерес к создаваемому продукту.
Также главный минус подобного рода проектов в том, что очень часто их создатели предпочитают остаться на данном уровне надолго и не стремятся к большему, по сути, не выбиваясь из ряда авторов максимально малоизвестных игр и программ, а иногда и вовсе забрасывают начатое под предлогом того, что им это уже больше и не нужно. Если, конечно, вашей целью не было создать действительно распространенный и полезный проект, то данная ситуация идеально вас устроит. Однако тем, в чьих мечтах было помочь своим творением максимальному количеству людей и прославиться, как Стив Джобс, стоит работу с пет-проектами воспринять, лишь как хорошее начало перед чем-то большим, набраться через них определенного опыта, но ни за что не оставаться в этом виде деятельности надолго.
Каков итог?
Неплохо начать с работы исключительно над пет-проектом, даже наоборот, в этом есть польза. Только с учетом, если использовались наши качественные и достоверные курсы по освоению языков программирования. Хороший пет-проект нужен начинающему разработчику не только как дополнение рабочего портфолио, но и в качестве неплохого опыта работы, опробования теоретических знаний на практике. Как только почувствуете, что знаете достаточно, — самое время пробовать себя в чем-то новом и даже приступить к работе над крупным, грандиозным и коллективным проектом в какой-нибудь известной компании. Стоит лишь сделать первый шаг на пути к этому, и всё желаемое — прямо в ваших руках.
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. Его просто и быстро настроить: нужно указать свою сферу и стек технологий, желаемую зарплату, локацию или «релокейт». Подходящие вам варианты будут приходить в Телеграм.

Компаниям выгодно стимулировать эксперименты сотрудников
Майк Миллер (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-проекты вы? Если да, то зачем? Участвуйте в нашем опросе – соберем предпочтения аудитории Хабра, обновим статистику в посте и сделаем графики предпочтений русскоязычных инженеров!
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 116 ₽/мес 7 483 ₽/мес

*деятельность компании Meta Platforms Inc., которой принадлежит Инстаграм / Фейсбук, запрещена на территории РФ в части реализации данной (-ых) социальной (-ых) сети (-ей) на основании осуществления ею экстремистской деятельности
Плюсы пет-проекта
- Пет-проект ничем не ограничен: ни сроками, ни форматом, ни технологиями. Можно реализовать свои самые безумные идеи для проекта по программированию или освоить новые навыки.
- Это хороший способ отдохнуть от рабочей рутины и посвятить время интересным для вас вещам.
- Начинающие разработчики могут добавить свой проект в портфолио — удачные кейсы всегда интересны потенциальным работодателям и будут бонусом при трудоустройстве.
Минусы пет-проекта
- Сложно находить время и на работу, и на пет-проект, и на отдых. Заниматься своим проектом приходится по остаточному принципу, когда есть силы.
- Как и любой стартап, пет-проект может «не выстрелить», но это риск, который есть в любом бизнесе.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Основные шаги по созданию пет-проекта
Шаг 1. Продумайте идею (гипотезу) проекта, чему он посвящен, какие задачи решает. Про то, откуда брать идеи проектов, мы написали в следующей части.
Шаг 2. Проведите небольшое исследование, чтобы проверить гипотезу. Поймите, на кого будет рассчитан ваш пет-проект, есть ли похожие на него приложения или сайты, какие у них функции. На этом этапе важно собрать обратную связь.
Откуда можно взять данные, чтобы проверить гипотезу
1. Использовать существующие данные (кабинетные исследования):
- готовые маркетинговые исследования в открытом доступе;
- социальные сети конкурентов и статьи в медиа;
- анализ поисковых запросов;
- отзывы пользователей;
- обращения клиентов в поддержку (если есть доступ);
2. Создать новые данные (полевые исследования):
- глубинные интервью — интервью с потенциальным или действующим пользователем о его проблемах и способах решения;
- экспертные интервью — опрос лидеров мнений в отрасли;
- опрос пользователей;
- фокус-группа — интервью сразу с несколькими представителями целевой аудитории.
Шаг 3. Сделайте MVP(minimum viable product, минимально жизнеспособный продукт) — это продукт (или набор действий), направленный на то, чтобы подтвердить ценность будущего продукта для потребителей.
Для чего нужен MVP:
- чем раньше вы поймете, что ошиблись, тем раньше доработаете решение или откажетесь от проекта;
- по фидбеку вы поймете, удобен ли для использования проект.
Чтобы собрать обратную связь об MVP, можно провести разные виды тестов:
- скетч-тесты быстрого опыта: создается прототип, который выглядит как продукт (или имитирует какие-то его функции), его передают пользователям для взаимодействия и записывают результаты наблюдений;
- тесты «входной двери» — сбор предоплат/ценной информации. За доступ к услуге (или продукту), возможно, еще не созданной, взимается оплата или собираются заявки. Например, на некоторых посадочных страницах размещают информацию о еще не созданном продукте и оценивают количество обращений;
- тесты, имитирующие работу сервера, — «ручные процессы». Используются, например, когда планируется автоматизировать какой-то процесс: сначала создают интерфейс, который для пользователей выглядит реально, но на самом деле процессы выполняют сотрудники вручную;
- тесты «полного опыта» — сборка продукта из подручных средств. Тут продукт не разрабатывают с нуля, а используют готовые решения: Google Формы, конструкторы сайтов
Шаг 4. Получившийся кейс можно добавить в портфолио либо развивать дальше в полноценный продукт.
Как придумать идею для проекта
Отталкивайтесь от задач, которые хотите выполнить, и технологий, которые хотите изучить. А чтобы идея для проекта нравилась непосредственно вам, можете связать его с темой, которая интересна и важна. Если интересуетесь цифровой доступностью, можно продумать и реализовать идею сервиса для людей с ограниченными возможностями. А если хочется приблизить будущее — можно создавать необычные системы на микрокомпьютерах, например собственный «умный» будильник.
Если собственных идей у программиста нет, можно воспользоваться примерами идей для проекта. Подобрали несколько популярных вариантов.
1. Таск-трекер
Для кого: веб-разработчики, в первую очередь frontend.
Срок разработки: от нескольких дней до месяца.
Создать таск-трекер — своего рода мем в сфере фронтенд-разработки. Сервис для отслеживания задач считается классической первой задачей. Сложность зависит только от программиста: можно сделать простой интерфейс, чтобы только заносить задания и помечать выполненными. А можно создать целое приложение, где получится указывать дедлайны, настраивать уведомления о сроках, задавать расписание для регулярных тасков и так далее. Даже простой трекер со временем можно усложнять и доделывать, так чтобы это был проект для программирования или других задач «на все времена».

2. Мини-игра
Для кого: веб-разработчики, геймдевы, геймдизайнеры.
Срок разработки: от нескольких дней до месяца.
Можно придумать проект в виде своей реализации известной игры, например, «змейки», «арканоида» или «тетриса». Есть и более необычные идеи: создать мини-игру для тачбара MacBook, клавиатуры с экраном или консоли. А если хочется чего-то посложнее и поинтереснее, можно экспериментировать с сюжетом, дизайном, игровыми механиками и многим другим. Это проект, который при желании можно дорабатывать и усложнять. Усложнение игр — задача для будущих геймдевов: веб-разработчикам достаточно создать классическую реализацию.
3. Домашняя цифровая система
Для кого: бэкенд-разработчики, системные администраторы, сетевые инженеры.
Срок разработки: несколько месяцев.
Речь не об «умных колонках», хотя их при желании тоже можно интегрировать в систему. Скорее, об инженерной или сетевой инфраструктуре. На что она будет способна — зависит от пожеланий конкретного разработчика. Вариантов много: например, поднять локальную сеть, чтобы любимая коллекция фильмов была доступна с любого устройства в квартире. Или купить и подключить датчики, чтобы отслеживать уровень влажности и температуру в комнате. Можно создавать целые «умные системы» вроде автополива. Для простоты новичок может воспользоваться готовыми плагинами для работы с разным «железом», но если хочется усложнить задачу — можно писать свои плагины и дополнения, дорабатывать систему.
4. Дашборд
Для кого: frontend-разработчики, fullstack-разработчики.
Срок разработки: от нескольких дней.
Дашборд — это цифровая «доска», на которую выводится разная информация. Например, можно сделать дашборд, помогающий по работе — показывать сведения из таск-трекеров и напоминать, какие ежедневные задачи нужно сделать. А можно использовать дашборд для бытовых целей: отображать виджет с погодой на сегодня, актуальные курсы валют, календарь. Чтобы усложнить задачу, можно связать дашборд с другими пет-проектами — той же домашней системой или трекером задач.

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 — выберите подходящую и сразу освойте ее.
Что такое пет проект в программировании

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

Это могут быть биржевые и игровые боты, веб-боты, чат-боты и боты поисковых систем. Бот – компьютерная программа, способная взять на себя роль человека, выполняющая за него определенные действия.
Кто знает, может быть вам удастся придумать ИИ, который сможет пройти тест Тьюринга и вы получите Нобелевскую премию. Тест представляет собой проверку способности машины демонстрировать интеллектуальное поведение, эквивалентное человеческому или неотличимое от него.
* Продукт Meta, деятельность признана экстремистской, запрещена на территории России.
3. Трекеры
Трекеры бывают разные. Трекер расходов покажет, сколько вы потратили. Биткойн-трекер отслеживает текущий курс биткоина. Фитнес-трекер указывает суточное потребление калорий. Трекер отношений нужен для отслеживания вашей социальной жизни (темы разговоров, события, настроение и т. д.). Все они могут иметь интеграцию с календарем и другие встроенные функции.
Чему вы научитесь:
Создавать приложение, которое содержит различные сведения о состоянии. А поскольку данные будут меняться, они должны иметь функциональность CRUD.
4. Генераторы
Существует довольно много различных видов генераторов. Давайте перечислим, какие из них можно попытаться создать в качестве собственного проекта.
4.1. Генератор пиксельной графики

Помните Microsoft Paint? Можно сделать нечто подобное, но более пиксельно! Добавьте возможность впоследствии сохранить свою работу в формате .jpeg или .png .
4.2. Генератор случайных API
Веб-сайт, который случайным образом генерирует API в зависимости от вопросов, которые вы задаете или данных, которые вводите, с возможностью экспорта данных в различные типы файлов (CSV, JSON, GraphQL и т. д.).
4.3. Генератор тем для поддержания беседы
Приложение, случайным образом создающее потенциальные темы для разговора для тех, кто беспокоится о неловком молчании на собеседовании или первом свидании. Его можно настроить и отфильтровать по теме, уровню, глубине познаний собеседника.
4.4. Генератор рандомных плейлистов
Приложение, случайным образом генерирующее список песен для вашего плейлиста. С фильтрами, отслеживающими ваши предпочтения, год, жанр и длительность композиции.
4.5. Платформа генератора брендинга
На основе полученных ответов из теста, платформа создает цвет бренда, набор случайно сгенерированных логотипов SVG, рекомендации по типографике и т. д.
5. Игры

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

Эта категория приложений является самой востребованной у пользователей. Конечно, переплюнуть известные миллионные платформы будет сложно, ведь за ними стоят огромные команды разработчиков. Но замахнуться на простой и полезный сервис для обмена сообщениями и смайлами – вам вполне по силам. Кто знает, может вы будущий Цукерберг.
Чему вы научитесь:
Как заставить людей общаться друг с другом с помощью такой технологии, как WebSocket API. Функции приложения можно расширить, добавив способ отправки медиафайлов, голосовых вызовов и других форм контента.
7. Учебники и журналы
Если вы сильны в какой-нибудь из технологий, научных дисциплин или просто божественно готовите борщ и хотите поделиться этим со всем миром – сделайте информационно-познавательный ресурс-учебник. Оформите его в своем вкусе и добавьте интерактивности.
8. Магазины
Сделайте имитацию интернет-магазина на одном из популярных фреймворков (Opencart, Shopify и пр.), который показывает сетку продуктов с указанием описания и цены товара и кнопкой добавления в корзину.
9. Поисковик

Создайте платформу для поиска разработчиков в Twitter или LinkedIn по технологическому стеку с фильтрацией по основным качествам и навыкам.
Разрабатывая проект, вы узнаете, как получать данные из API и отображать их на странице, научитесь обходить DOM и использовать карты, сортировку и фильтры для изменения данных внутри массива объектов.
10. Портфолио
Создать себе портфолио – священная обязанность каждого начинающего (и не только) разработчика. Грамотный дизайн, простая структура, ненавязчивая подача информации, несколько ссылок на лучшие проекты и форма для обратной связи в конце заставят любого работодателя пригласить вас на собеседование.
11. Клоны известных сайтов и приложений
Найдите действительно хороший сайт и попробуйте сделать его клон. То же касается и приложений, установленных у вас на смартфоне, но не имеющих нужных вам функций. Попробуйте его переделать на свой лад и добавить туда необходимый вам функционал.
12. Ежедневник (Todo list)

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

Приложение для книголюбов с рейтингом, комментариями и возможностью скачивания понравившихся электронных изданий с базы данных.
14. Тесты, викторины, анкеты
Реализуйте функционал по решению тестов, головоломок в форме словесной игры с вопросами и ответами на любую тему. Реализуйте в ней своеобразную таблицу лидеров, чтобы каждый мог видеть статистику других игроков.
15. Гайд-сайты
К этой категории можно отнести платформу с советами и дополнительными файлами по прохождению какой-нибудь определенной компьютерной игры или даже целого жанра. Приложение может быть настолько простым или продвинутым, насколько вы захотите.
Чему вы научитесь:
Вы узнаете, как создать интерактивный веб-сайт.
16. Проекты с Arduino и Raspberry Pi

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 идей проектов для практики веб-разработки