В компаніях, які продають свій продукт і добре заробляють — в коді часто буде бардак та купа технічного боргу. Можна сказати й навпаки — якщо код організовано ідеально, то в продукті, скоріше за все, ще не знайдено product market fit. По суті, в такому проекті відриваються програмісти та шліфують свої власні технічні навички.
Коли ж справа доходить до ринку, потрібне тестування кожної ідеї та адаптація до потреб користувачів. Не завжди це є слідування запитам користувачів, але це завжди реакція на тенденції використання тої чи іншої фічі.
Якщо до цього додати швидкий ріст, то принцип прийняття технологічних рішень буде аналогічний до надання першої медичної допомоги в бойових умовах. Рану можна заліпити хоч глиною, або будь-чим, що є під руками, лише щоб додати декілька хвилин і добратись до професійної допомоги. Ніхто не дивиться на побічні ефекти підручних засобів — в дану хвилину важливо діяти холоднокровно і швидко.
Якщо ви у своєму проекті бачите таке, не поспішайте сердитись на попередніх розробників — цілком можливо, вони діяли в бойових умовах експоненційного росту і вирішували конкретну задачу в конкретних обставинах. Враховуючи, що проект дожив до цього дня, їхнє рішення було в той момент адекватним.
До завтра,
Саша
"Враховуючи, що проект дожив до цього дня, їхнє рішення було в той момент адекватним." - це сильний аргумент, але потребує довивчення, поскільки це може бути класична помилка того що вижив. Ми не знаєм по якій причині не вижили 90% а судимо лише по тим <10% що залишились.
Технчіний борг це кредит, і як кожен кредит є відсоткова ставка. Є кредити з низькими відсотками - практичний приклад - юзаєм JS а не TS - потім перейдем на TS якщо доживем - борг буде відносно лінійним - і час який треба щоб його закрити більш-менш передбачуваний. І також є кредити з високими відсотками - тут більше архітектурні рішення - приклад - ми знаючи що нас чекає багато змін в коді - вибираєм архітектуру яка не передбачає внесення крадинальних змін - а ще даємо її реалізовувати джунам - відсотки в цьому випадку великі - час на рефакторинг в майбутньому непередбачуваний - і скоріш за все це буде нескінченність. Ми також берем кредит коли наймаєм джунів.
В кожному стартапі не обійтись без обох видів боргу - і задача відповідального за проект враховуючи бізнес цілі виділити частини які є більш довготривалими і де можна мати тільки борг з низькими відсотками - і менш довготривалі де можна мати поганий борг.
Багато раз чув і навіть думав "попередні девелопери нагавнокодиили". Тільки зараз після прочитання листа зародились думки, що не все так просто. Класно, коли такі розсилки створюють нові нейронні зв'язки