Как справиться с отсутствием личных проектов

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

Привет! Меня зовут Олег и я backend-разработчик в компании «Ситимобил». Сегодня хочу поговорить о важной, но часто игнорируемой теме:«Я в песочнице один, у меня нет игрушек» «Как перестать переживать по поводу отсутствия pet-проектов».

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

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

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

Если кто-то еще не догадался, я столкнулся с проявлениями «синдрома самозванца». 

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

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

Это нормально. Представим, что наш мозг — как компьютер. И там предустановлено разное ПО, которое отвечает за разные функции. Есть лимбическая система (она отвечает за выживание и постоянство), а есть неокортекс (он отвечает за наше развитие, помогает нам улучшать нашу жизнь). И это ПО иногда конфликтует между собой. Когда понимаешь, как всё это работает, справиться с сопротивлением уже дело техники. 

Процесс

Если враг известен, остаётся подобрать оружие. В набор моего арсенала вошли: 

  •  тимлид, с которым можно уточнить детали;

  •  знакомые технологии, чтобы не тратить много времени.

Для начала я решил действовать так:

Шаг 1. Найти странное взаимодействие.

Шаг 2. Разобраться в проблеме.

Шаг 3. Принять решение и сделать MVP.

Шаг 4. Показать это всё и «продать». 

Шаг 1.
В работе нашего отдела есть странный процесс, когда, по сути, необходимо перекладывать файлик из одного чатика в другой (видимо, чтобы было больше вовлеченности). Ну и самое страшное: в этот процесс вовлечены целых два человека.

Шаг 2.
Проанализируем процесс:

  • Приходит файл в Telegram-чат.

  • Забираем его и пересылаем в Slack-чат (задействован один человек).

  • Забираем файл из Slack и помещаем его во внутреннюю админку для обработки (задействован второй человек).

  • Копируем результат обработки и постим в Slack-чат (задействован второй человек).

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

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

Шаг 3.
Убедившись, что автоматизировать можно всё, но необходимо оставить возможность отключения некоторых шагов процесса, я принялся за дело.

В качестве инструмента реализации взял то, что знакомую мне технологию — Go.

Прежде чем начать работу, я решил разобраться с мотивацией и определить, что для меня важно; 

- я хочу, чтобы проект был полезным (одна из причин, почему я выбираю «не делать» что-то — не вижу ценность для других); 

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

- проект должен быть мне интересен (ну, тут всё просто, пытаемся объединить в систему три разных среды Telegram — Slack — Внутренняя система).

MVP, естественно, был реализован на готовых компонентах:

  • Для работы с Telegram (https://github.com/tucnak/telebot/tree/v2.4.0)

  • Как работать с ботом в Telegram:

  • Для работы со Slack (https://github.com/slack-go/slack)

  • Как отправлять сообщения в Slack гуглим и находим: 

  • Ручка, за которую я буду дергать админку:

Шаг 4.
Пару часов игры в «отправь файл, посмотри в чатик Slack», и готово. Остались некоторые организационные моменты, такие как перенос всего этого добра во внутренний репозиторий.

Результат

Получился полностью управляемый и автоматизированный процесс.

Я обрёл гордость за реализованный побочный проект. 

Рефлексия

По прошествии времени, оказалось, что проект полезен. Причём не только своим основным назначением, но и дополнительно вот чем:

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

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

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

Источник: https://habr.com/ru/company/citymobil/blog/589723/


Интересные статьи

Интересные статьи

Нехорошая ситуация с Nginx — даёт повод вспомнить другие кейсы про неприятности при работы с командами проектов, тем более что исправлять ошибки в оформлении команд — намного сложнее чем ошибки в...
Каждый лишний элемент на сайте — это кнопка «Не купить», каждая непонятность или трудность, с которой сталкивается клиент — это крестик, закрывающий в браузере вкладку с вашим интернет-магазином.
Процессы разработки — постоянная тема для дискуссий как внутри команд, так и на различных конференциях. И, конечно, их оптимизация является постоянной головной болью для всех, кто так или иначе у...
Одной из «киллер-фич» 12й версии Битрикса была объявлена возможность отдавать статические файлы из CDN, тем самым увеличивая скорость работы сайта. Попробуем оценить практический выигрыш от использова...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?