solovyov.net

Програмісти неефективні

Програмісти, тобто люди, мета яких програмувати. Візьмемо, наприклад, мене. Певен, що більшість людей, що зі мною працювали, можуть підтвердити, що я люблю та вмію знаходити прості і короткі рішення, особливо коли хочеться результату прям тут і зараз. Це я не заради похвалитися, а як сетап — я не схильний будувати мікросервіси, діаграми мережевих зв’язків і все інше, коли можна обійтися скриптом на авк.

Я роблю в метабейзі інвалідацію кеша — і для спрощення не буду вам всі подробиці тут вигружать, але я вигадав many-to-many табличку для маркування кеша, перефігачив протокол спілкування з кешом, загалом, короч, 4 дні роботи і натрапив на edge case… розмовляю з продактом — він не програміст, але в минулому Head of data у великій компанії, тобто технічно непогано роздупляється — показав йому як все працює, і кажу: оцей юзкейс діч, реально ще тупо 2 дні на нього треба.

А він мені каже — а чого ти не додаси якесь поле типу cache_invalidated_at прям на картку запиту у таблицю?..

Ну так, трохи low-tech рішення, якщо є картка з таким самим запитом, то для неї кеш не скинеться — але таке і не часто буває, і не дуже важливе… Дуже кльове рішення. Реалізується буквально за 2 години зі всіма тестами (зранку ж і перевірив естімейт), змін в 3 рази менше, складність в 10 разів менша.

(Насмішніше те, що мені моя ідея з m2m табличкою не подобалася, я написав месагу в чат і там панове програмісти наобговорювали шо нормально я все придумав і не тре зайвих рефлексій, роби давай)

Тому що в продакта немає мети писати код, а в мене є. От коли в мене мета отримати якийсь результат — то раптово мозок починає генерувати прості солюшени. А коли треба написати код — так одразу все розвертається.

Не розумію, як це виправляти. Робити програміста міні-продактом свого напрямку? Ну то наче в метабейзі намагаються, пишеш proposal’и різні, такий весь в темі, але ось мене не спасає. Короч, рецептів не знаю, але спостереження тримайте. Можете постежити за собою, або за своїми програмістами. 😁

(@ tg)