Умение вовремя завершать проекты
С 2019 года я занимался разработкой и поддержкой собственного небольшого открытого нативного Android-приложения. Это был мой маленький плацдарм для новых идей и исследований, как с технической, так и с управленческой позиции.
Более двух лет (до перехода на Flutter) я плодотворно работал как над улучшениями самого проекта, так и над его распространением (А/Б-тесты в сторах, альтернативные магазины приложений, форумы).
Не то, чтобы именно Flutter все испортил. Нет, это одна из, но не основная причина. Само приложение стало законченным через полтора года развития, и фичи делались просто ради того, чтобы хоть как-то показывать развитие. Но это было и не нужно. Так совпало, что у меня получилось перейти на Flutter, и натив уже был не интересен.
И вот с того момента я что только не пробовал ради сохранения концепции и идеи - рефакторил проект для облегчения работы с ним (первоначально там вообще не было архитектуры), пытался заставлять себя заниматься им на выходных, даже была мысль переписать его на Flutter.
Но ничего не доводилось до конца - количество предложений и баг-репортов росло, и это вгоняло в тоску. Я не могу просто так взять, и забить на просьбы пользователей - так что постоянно кормил их завтраками (которые постоянно откладывались на месяцы). Если раньше разработка новой версии занимала пару недель максимум - то последняя итерация длилась полтора года, из которых около нескольких месяцев я просто не мог все перепроверить и нажать кнопку влития. Некоторые контрибьюторы ждали аппрува несколько месяцев, что тоже меня очень сильно беспокоило (я и сам периодически что-то куда-то коммичу, и прекрасно их понимаю).
Наконец, пару дней назад, я прекратил поддержку приложения. Выкатил последний релиз, закрыл все репорты, обновил документацию, и… Стало НАМНОГО легче! Я прошел с приложением несколько смен работы, получил опыт работы с UI/UX, отзывами, сторами, автоматизациями, и на каждом собеседовании рассказываю про свой небольшой проект, и считаю его важным моментом моего развития как разработчика.
Нужно уметь вовремя заканчивать проекты, и не только личные. Вовремя зафиналенные истории избавляют от лишних переживаний, и помогают не тратить много сил и времени впустую на то, что уже не актуально. Разработка - это постоянное движение. Мы меняем работы, адаптируемся к новым требованиям. И как бы плохо это не звучало - иногда даже хорошие проекты нужно завершать вовремя.
P.S: Если вдруг я захочу снова заниматься этим приложением, то я уже с новыми силами начну работать с багами и запросами фичей. Без выгораний и постоянного чувства нервозности от ответсвенности.