Важный навык хорошего инженера, который я пока не смог формализовать - четкое ощущение времени когда в развивающемся проекте надо сказать "стоп" и сделать если не рефакторинг, то детальный ревью архитектуры, чтобы проект не был погребен под велосипедами и костылями 🧵
Сейчас я это наблюдаю на примере моих горячо любимых vue-test-utils - как появление новых и новых и новых фичей увеличивает сложность проекта и прямо сейчас ощущаю необходимость остановиться и переделать значительный кусок. Но в опенсорсе с этим проще 🧵
В реалиях работы всегда важна, конечно же и бизнес составляющая. Сильно помогает, когда бизнес уже "стал на ноги" и может предоставить хоть приблизительный план развития на какой-то срок (хотя бы полгода!) 🧵
Отсюда следует важный вывод: в стартапе на ранних стадиях на это надеяться не стоит - стартап это про бесконечные пивоты и поиск себя и самая грамотная архитектура - "корзинки для говнокода", которые позволят вам меньше страдать от регулярной смены линии партии
Важно понимать то бизнес готов выдать "план" - совершенно не значит что он будет соблюден - все пойдет не так в первый же возможный вариант. Поэтому всегда закладывайтесь шире, чем вам обрисовали. Иначе будет как в древней-древней истории - не хватит байта habr.com/ru/post/27055/
Сам я побывал по обе стороны баррикад - и в позиции тех с криками "ааа, вы тут нарушили SOLID" требует рефакторинга сразу как увидели код, и в позиции "интересы бизнеса главное, какой рефакторинг - он деньги не принесет". Если издержки первой очевидны, о второй стоит поговорить
Рассуждая о бизнесе, всегда стоит помнить что "перекладывать ответственность" на бизнес за подобные решения стоит тогда, когда вы убедились что последствия НЕпроведения рефакторинга доведены бизнесом и осознанны. Иначе у менеджмента просто нет экспертизы для принятия решения
Здесь очень важно быть здравым и избегать гипербол - если вы будете стращать бизнес что все навернется через 3 месяца, бизнес на свой страх и риск решит продолжать "как есть", а через 3 месяца все не навернулось - протолкнуть рефакторинг, который стал еще нужнее будет сложно
Сейчас, когда я говорю о рефакторинге я обычно употребляю формулировки вида "я прогнозирую падение velocity команды на Х пунктов в течение Y месяцев". И даже это - шаткая позиция, потому что стори пойнты включают в себя 3 метрики - сложность задачи, объем и неопределенность
Таким образом чистая скорость команды в сторипойнтах может расти, в то время как проект решительно катится в Адъ. И это не потому что программисты "читерят" и оптимизируют метрики - а потому что метрика совсем не про это
А где же метрика "ценности фичи для бизнеса" - а это банальная priority - чем фича выше в приоритете, тем ценнее для бизнеса. И вот сумма приоритетов заделивериных фич обычно хорошо показывает приближение проекта к тепловой смерти

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Illya Klymov

Illya Klymov Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @xanf_ua

6 Aug
Позиция "большие зарплаты в отрасли - это хорошо" звучит красиво только в твитах @fillpackart и продающих текстах @Skillbox_ru, которым очевидно выгодно культивировать подобные мысли. Реальность сильно сложнее. Как человек 7 лет владевший аутсорсом расскажу вторую сторону
Я конечно хотел бы "счастье всем и каждому и пусть никто не уйдет обиженным", но как реализовывать это в условиях текущего рынка - неясно :)
Рассуждения о том, что "зарплаты должны быть как в США" имеет смысл и ценность тогда и только тогда, когда мы (условная Украина) можем предложить тот же уровень сервиса и гарантий, что и программисты там
Read 16 tweets
14 Nov 19
Повбрасываем? :) Один лайк - один факт о жизни фронтенд-разработчика в GitLab :)
#1 Фронтенд - очень широкое понятие в GitLab. Фронты должны уметь писать HAML-шаблоны (для меня это бооль), e2e-тесты на rspec + Capybara, helper'ы для отображения и прочие ужасы. Ruby придётся подтянуть, хотя есть команды, где пишут всё новое и такого нет
#2 Если брать всю кодовую базу GitLab - то можно найти уникальные вещи. К примеру при редактировании проекта в ответ приезжает JS-код, который надо eval'ить. Таких мест немного, но они есть. Это связано с тем что долгое время в GitLab было очень мало фронтов и код писали рубисты
Read 215 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(