«Разработка дарит покой»: почему менеджер IT-проектов хочет стать программистом на Python
Более 20 лет Михаил руководит IT-проектами. Спасаясь от стресса на работе, он открыл для себя разработку, и та стала его отдушиной.
Иллюстрация: Colowgee / Stable Diffusion / Wikimedia Commons / senivpetro / freepik / Colowgee для Skillbox Media
Михаил Нарциссов
Россия, Москва
Пройденные курсы
Достижения
Окончил курс и теперь планирует сразу несколько личных проектов, связанных с Python. А ещё наконец обрёл душевный покой.
Михаил рассказал:
- как стресс от основной работы привёл его к разработке на Python;
- о действенном способе поиска решений в сложных учебных заданиях;
- как создал телеграм-бота по поиску авиабилетов и не мог остановиться в его улучшении;
- о трёх масштабных целях после обучения;
- про профилактику выгорания.
Я искал эмоциональную отдушину — занятие, которое позволило бы мне забыть о текущих проблемах, трудностях и стрессе на работе. Полностью отключиться от внешнего мира и хотя бы несколько часов побыть там, где постоянно узнаёшь что-то новое и где все результаты зависят лишь от тебя.
О начале пути
Вот уже более 20 лет я работаю в сфере телекоммуникаций. В 1990-е годы, окончив университет как инженер-математик, я пришёл в «Комстар-ОТС» рядовым инженером — обслуживать телефонную станцию. Постепенно «эволюционировал» до работы со всевозможными справочниками и базами данных: учётом платежей, абонентских данных и прочего.
Новая деятельность нравилась мне куда больше, чем ковыряние в коммутаторах, и вскоре я стал брать на себя всё больше обязанностей: внедрял различные программные фичи, переносил функциональность с одного программного стека на другой. Шли годы. Со временем я перестал заниматься техникой сам и перешёл в управление IT-проектами. Отныне моими рутинными задачами стало планирование бюджета, выстраивание командных процессов, сбор требований и соблюдение дедлайнов.
«В управлении проектами много плюсов, но минусов тоже хватает»: о кризисе в профессии
В работе проджекта я видел много плюсов. Во-первых, я постоянно получал новые технические знания, развивался. Во-вторых, постоянно бросал себе вызовы: каждая задача требовала нестандартного подхода и решения, и я их искал. Ну, и в-третьих, я чувствовал себя нужным и важным: приятно смотреть на внедрённые системы и знать, что приложил к ним руку.
И всё же со временем я стал много уставать и выгорать. Управление проектами — это не только Agile, Scrum и Kanban-доски, но прежде всего — выстраивание отношений с живыми людьми и учёт их интересов. Каждый сотрудник — человек, со своими проблемами, видением мира и жизнью за пределами офиса. И, чтобы все процессы работали, к каждому коллеге нужно найти подход. А ещё нельзя забывать про заказчиков, которые постоянно наседают с другой стороны: «Давай быстрее», «Давай дешевле», «Давай лучше».
К тому же коммуникация никогда не проходит гладко: это всегда нервы и сложности. Всё это создаёт перманентную напряжённую атмосферу, исправить её не помогает даже отпуск. Да, можно взять неделю или две отдыха, но голова при этом всё равно останется забитой задачами и сроками.
Так было и у меня. Постепенно стресс накапливался. Сперва казалось, что просто не выспался, потом, когда ругался с людьми, понимал, что нахожусь на грани нервного срыва. Внутри ощущал апатию и пустоту. Чтобы как-то выкарабкаться из этого состояния, решил найти какое-нибудь занятие для души — то, что поможет хотя бы на короткие часы абстрагироваться от внешнего мира и проблем на работе.
Читайте также:
«Мне было спокойно и хорошо»: как я решил вернуться к разработке и почему выбрал Python
На заре трудовой деятельности я совсем недолго работал программистом. Писал программки по учёту кадров на Delphi для бухгалтерии. Вспомнив ощущение внутреннего покоя и тишины, что я испытывал тогда, загорелся и захотел вернуть себе то чувство. Освоить какой-нибудь язык и в свободное время заниматься задачами, где конечный результат зависит только от меня.
К выбору Python пришёл случайно. Просто в один момент устал от операционной системы Windows — её цен и необходимости постоянно обновлять лицензии — и решил перейти на Linux. Изучая вопрос, прочёл, что эта ОС также применима к Raspberry Pi. «Одноплатный компьютер? А это ещё что такое?» Стал разбираться и… загорелся.
Попросил родных подарить мне на день рождения Raspberry Pi 3, установил на него Linux. Для разработки разных программ на этом устройстве как раз требовался Python. Сперва изучал язык по книжке, экспериментировал, писал что-то простое. Когда вдоволь «нащупался» и понял, что язык мне подходит, приобрёл курс.
«Поспите — и все проблемы решатся»: о самодисциплине и графике учёбы
Учился каждый день. Никаких «два раза в неделю по выходным». Чтобы следовать цели, разрешил себе быть гибким и корректировать график в зависимости от текущих обстоятельств. Образовалось окно на работе? Позанимался. Окна нет? Значит, перенесу занятия ближе к вечеру. Если бы зацикливался на конкретном времени — всё бы поломалось. Всё-таки по работе часто прилетает что-то срочное, даже вечером.
В целом с самоорганизацией у меня проблем не возникало. Зато иногда появлялся неожиданный страх, растерянность, сомнения в своих силах. Такое происходило, когда я подолгу сидел над одной задачей и никак не мог с ней разобраться. Со временем понял, что такие проблемы решаются очень просто: нужно лишь отложить задачу и вернуться к ней позже, например на следующий день.
«Я не мог остановиться, всё улучшал и улучшал своего телеграм-бота»: о курсовых проектах и дипломе
В процессе обучения я понял, что не прогадал. Занятие практическими работами в самом деле дарило мне то почти забытое ощущение умиротворения. Я будто уходил в свой мир, где не было стресса и переживаний об основной работе.
Моим первым детищем на курсе стал телеграм-бот. Я долго не мог с ним расстаться: всё допиливал, допиливал 🙂 Сначала он искал дешёвые авиабилеты через Travelpayouts: пользователь вводил даты вылета, точку назначения и выбирал подходящее предложение. Но мне не нравилось, что все билеты вываливаются сплошным потоком сообщений.
Тогда я написал календарь, а потом добавил удобную «листалку» результатов с переключением вперёд-назад кнопочками. Дальше сделал блок Help, потом историю поиска. Остановился, лишь когда понял, что это может продолжаться вечно и обучение я так никогда не закончу.
Дипломный проект тоже стал для меня челленджем. Нам нужно было создать серверную часть маркетплейса цифровых товаров. С ценами, фильтрами, корзиной, личным кабинетом, формой заказа, возможностью оплаты и многим-многим другим.
Первые шаги давались тяжело. Когда я увидел перед собой чужой код для фронтенда и понял, что каким-то образом должен прикрутить к нему свой, чтобы написать бэкенд, немного растерялся. Выдохнув, решил двигаться медленно, методом проб и ошибок: просто принимал запросы, которые мне поступают с клиентской части, отвечал на них и смотрел, что происходит.
В подготовке мне очень помогла платформа Stack Overflow. Это библиотека с подробными ответами на любой прикладной вопрос в программировании. А ещё там лежит много готовых кейсов.
В итоге я успешно защитился. Во время презентации дипломных проектов мне даже удалось подглядеть интересные решения однокурсников — например, я увидел, как можно было более структурированно оформить код. Взял себе на вооружение на будущее.
Про планы и проекты, которые хочу реализовать
Я из тех людей, кто считает, что обучение не закончится никогда. Чем больше знаешь — тем меньше знаешь. Да, я прошёл курс, но вместе с тем увидел, как много ещё должен изучить. Сейчас хочу более глубоко погрузиться в работу операционных систем и, скорее всего, освоить фронтенд — стать фулстек-разработчиком.
Что до трудоустройства по профессии — пока планирую брать несложные подработки, участвовать в бесплатных «идейных» проектах и так нарабатывать опыт и пополнять портфолио. Чтобы с ним уже двигаться дальше и постепенно входить в сферу. Взять и сразу прыгнуть с места в карьер — уволиться со своей текущей работы — не могу. Всё-таки сейчас я получаю хороший доход, который вряд ли смогу компенсировать на джуниор-позиции.
Пока у меня есть три масштабных цели. А точнее — три проекта, которые в ближайшее время я хочу реализовать.
- Освоить фронтенд-фреймворк (например, Vue), сделать сайт (на Django + Vue) и поддерживать его.
Сперва я хотел создать персональный сайт, но потом понял, что вряд ли это кого-то заинтересует. Поэтому теперь размышляю по поводу платформы готовых рецептов по здоровому питанию. Этакий советник, который каждый день будет предлагать пользователю конкретное полезное меню. Сейчас даже прохожу курс по нутрициологии, чтобы лучше погрузиться в тему. Или же, как вариант, сделаю что-то на тему ультрамарафонов, я как раз ими увлекаюсь.
- Глубже изучить операционную систему Debian Linux.
Сейчас я работаю на Linux Mint. Он хорош тем, что не требует особого погружения в глубины операционной системы и понимания особенностей её работы. Но в будущем я всё же хочу разбираться, что и зачем установлено у меня на компьютере, как именно оно функционирует внутри, где и какие данные собираются, кому и когда я открываю доступ.
Философия Debian подразумевает, что вы используете только то, что вам нужно. Начинаете с пустого каркаса операционной системы и дальше прикручиваете к нему только то, в чём по-настоящему нуждаетесь. Делаете это осознанно.
- Написать приложение для Raspberry Pi (одноплатный компьютер), которое бы сталом моим секретарём и ментором.
Одноплатные компьютеры хороши тем, что помещаются на ладони. Их можно прикрутить спереди к монитору и получить персонального помощника, который будет рассказывать вам сводку погоды или напоминать о важных делах. Многие знают про Magic Mirror — вот я хочу создать нечто подобное, только чуть видоизменив.
Моя программа будет похожа на личного ассистента, ответственного за все дела «начальника». Она будет напоминать о них, а также анализировать активность за неделю отслеживать «перекосы»: достаточно ли человек занимался спортом, достаточно ли времени проводил с семьёй.
Также хочу добавить и окультуривающую функцию — например, чтобы устройство каждое утро озвучивало или выводило на экран небольшую информационную сводку. Например, по истории живописи. Я подсмотрел эту идею в Корее: у них на зеркалах в офисе часто можно увидеть бумажки, с короткими фразами на английском языке. Сотрудник, видя эту бумажку несколько раз в течение дня, легко её запоминает.
«Чем больше увлечений, тем лучше»: как не выгорать
На мой взгляд, для профилактики выгорания у человека должно быть побольше увлечений. Помимо разработки и ультрамарафонов, я также интересуюсь живописью. Это моя слабость. Хожу по музеям, смотрю разные передачи на эту тему.
В живописи, как и в программировании, я нахожу умиротворение. Картины позволяют перенестись на столетия назад и увидеть своими глазами то, что изобразил автор.
Когда долго смотрю на одну из своих любимых картин «Охотники на снегу» Брейгеля Старшего, отчётливо ловлю это ощущение. Будто и в самом деле чувствую на коже холодок зимы, слышу треск костра рядом и звенящую тишину поодаль.
Кстати, после обучения я стал так же наблюдателен и в разработке. Теперь, когда захожу на любой сайт, думаю: «Интересно, какая здесь база данных? Наверное, Postgres. А что использовано в качестве фреймворка? Django или Flask?» Развиваю насмотренность.