metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-05-11 10:26 am

Необезличенный пятницопост или о наведении порядка в технологиях

Вчера вышел знатнейший срач на работе.
Преамбула: предварительное обсуждение интеграции нашего софта с чужим пришло к идее "использовать RESTful веб-сервис для получения-раздачи содержимого". Ну, чтобы не городить огород с чем-то нестандартным. Я сразу начал продвигать идею "используем готовый веб-сервис на Clojure", который у меня уже несколько месяцев работает в опердени со страшной силой.
Ребе [livejournal.com profile] belnetmon, формально согласен с такой постановкой вопроса, но из практических соображений посчитал, что надо все таки городить огород из самодельщины на Delphi, чтобы хотя бы кто-то на работе мог потом это понять.
Так же ребе Б исходит из соображений "чтобы было лучше для работы и конечного результата". Т.е. сознательно пользуется мейнстримными языками (которые ДИЧАЙШЕ ограничивают выразительные возможности при работе, но КАК БЫ позволяют набрать с улицы за еду студентов чтобы они работали).
Я же проталкиваю свою идею ради того, чтобы на работе хоть кто-то мог заменить меня, в случае если я очередной раз в машине головой ебнусь. И я ТОЖЕ исхожу из соображений "конечного результата", потому что в условиях "нет ТЗ, нет договора, требования - из разговоров с бухгалтерией, все разработки - срочно через неделю, чтобы сдать налоги и отчетность" я по другому ничего просто не смогу написать.
Кроме этого, все требования выделить мне программиста в помощь и на замену за последние пять лет были пропущены мимо ушей, поэтому будущее фирмы и благополучие руководства, не заботящегося о себе и фирме, для меня гораздо менее важно, чем развитие собственных мозгов, писание линуксов и кложурей и прочий клуб по интересам на рабочем месте.

Привлекли к спору руководство. Руководство в данном случае находится в дичайше патовой ситуации: ни одному из разработчиков невозможно ничего приказать. Вообще никак. На работе - клуб по интересам. У меня висит две крупных задачи и N мелких - я могу выбирать то, что мне интересно, например Clojure и опердень, или там обработка случайных пространственных сигналов. Все задачи нужны, все задачи важны - можно пинать хер.
Еще один разработчик два месяца принципиально не показывается на новом офисе, т.к. его не устраивает как сделано его рабочее место. У него есть старый офис, куча поездок по работе по всей стране - другое ему похер.

В итоге, свелось к следующему: "ничего не делаем, потому что изучение Clojure младшим программистом под моим руководством, в то время, как ребе [livejournal.com profile] belnetmon пишет на дотнете и срочно готовит огромный пакет документации к сертификации продукта - это нарушение субординации и издевательство". В плане того, что, на самом деле, программист с которым мы интегрируемся, не умеет веб-сервисы - нормальный результат. А перспективы фирмы никого не волнуют.

И да, то, что использование мейнстримных языков якобы позволяет что-то там гарантировать - это иллюзия. Во-первых, программисты на C#/гопнете с улицы в среднем заведомо более тупые, чем программисты на лиспах, хаскелях и немерле. Во вторых, проблема не в языках. Проблема в предметной области и в выбранном стиле управления, позволяющем вышеописанные казусы.

PS: Кстати, мой проект никуда не денется, даже если меня заберут пауки в розетку.

Его две трети сделано на дельфи, коий знают все.
Его базовая платформа известна 5 человекам на фирме. Опять же - это сделано мной, методом "заставить всех взять нормальный продукт вместо горождения самодельного огорода".
Есть еще два человека, знающих предметку (правда, второй - моя жена, водящая машину). Обучены мной.
Есть баг-трекер и система контроля версий. Внедрены мной.
И есть несколько кложурщиков и лисперов в минске, которых можно привлечь.

[identity profile] tzirechnoy.livejournal.com 2012-05-11 08:11 am (UTC)(link)
belnetmon, похожэ, думает, что Delphi понятнее среднему мясу с рынка, черм clojure. Ха-ха. Чтобы понятнее среднему мясу надо было брать PHP или C#.

Впрочем, самое весёлое в разсуждениях "вот мы возьмём PHP вместо лиспа, и у нас будет куча разработчиков" -- что куча разработчиков, которым важно чтобы было PHP вместо лиспа никогда не напишут большэ, чем тот, кто знает чем лисп круче чем PHP. То есть это действие безсмысленное в ноль для развития продукта.

[identity profile] vp.livejournal.com 2012-05-11 08:15 am (UTC)(link)
Проект на дельфи. Возраст проекта - 11 лет. Стоимость доработки его на дельфи - около 5 дней. Стоимость доработки его на clojure с учетом того, что необходимо будет оплатить работнику его обучение - порядка месяца.

[identity profile] metaclass.livejournal.com 2012-05-11 08:21 am (UTC)(link)
Ты считаешь точно так же как наш шеф. "Сиюминутные решения". А то что этот месяц потом отобъется десятикратно, приходится думать мне :)

[identity profile] vp.livejournal.com 2012-05-11 08:38 am (UTC)(link)
Зачем ты перекручиваешь? Мне все равно, на чем писать. Зависит от того, какое примется решение. Сколько на это потратить времени и средств.

[identity profile] victor bolshakov (from livejournal.com) 2012-05-11 12:22 pm (UTC)(link)
Вообще прав шеф :) Если удается продавать, то пофиг на чем. Ему еще и выгоднее, чтоб за 4 минут было сделано. А прав еще и потому, что раз все еще контора живет, то значит всех все устраивает.

[personal profile] alll 2012-05-11 08:37 am (UTC)(link)
> Стоимость доработки его на дельфи - около 5 дней. Стоимость доработки его на clojure с учетом того, что необходимо будет оплатить работнику его обучение - порядка месяца.

Наличие на проекте второго работника, умеющего clojure - бесценно. ;) Особенно при сравнении месяца с 11 годами.

[identity profile] tzirechnoy.livejournal.com 2012-05-11 11:21 am (UTC)(link)
Да-да. Я тожэ помню, мы в одной конторе сайтик неспеша доделывали (на заказ). Большэ года. Точнее, сначала один человек, потом я, потом третий. В процэссе мы пару раз обсуждали -- вот знать бы две недели назад, что это до сих пор затянется, точно всё бы выкинул и переписал...

[identity profile] trueblacker.livejournal.com 2012-05-11 03:20 pm (UTC)(link)
>belnetmon, похожэ, думает, что Delphi понятнее среднему мясу с рынка, черм clojure

и он таки прав

[identity profile] victor bolshakov (from livejournal.com) 2012-05-11 03:34 pm (UTC)(link)
Таки нужно не язык а пропукт/код рассматривать - что-то мне подсказывает, что уровень сложности кода не то, что мясу с рынка будет непонятен...