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] eleon.livejournal.com 2012-05-11 07:49 am (UTC)(link)
Годы идут, ситуация не меняется.
Формально прав ребе Б. Не смотря на то, что ортуреги с улицы тупы, шансы на то, что они смогут разобраться в код на нете выше - они хотя бы общее представление о нете имеют. Правда как их знакомить с предметной областью, я хз. Особенно в силу доминирующего среди ортурегов представления о программировании, как об изолированной от жизни области знаний и желания работать в духе "ты мне скажи, что делать, иначе я буду в потолок плевать".
С другой стороны, если вы опять ударитесь головой об болото, наличие у вас юного падавана ваши проекты не спасет. А т.к. писать надо быстро и активно - лучше кложурь.

[identity profile] artureg.livejournal.com 2012-05-11 08:00 am (UTC)(link)
что бы артуреги говорили тебе что писать, нужно платить другие деньги

[identity profile] eleon.livejournal.com 2012-05-11 08:02 am (UTC)(link)
Да-да, я знаю любимую отмазку всех совковых работников. "Мало платят".
Сколько не платишь - все мало. Так что ортурегам лучше не платить совсем.

[identity profile] artureg.livejournal.com 2012-05-11 08:05 am (UTC)(link)
А я знаю привычку колхозных манагеров привыкших к халяве и пытающихся сэкономить за счёт работников - ты будешь делать то зачем мы тебя наняли, а ещё это, это и вот это. Что тебе сложно что ли?
Edited 2012-05-11 08:06 (UTC)

[identity profile] eleon.livejournal.com 2012-05-11 08:07 am (UTC)(link)
Правильно, потому ты не будешь делать ничего. А за ничего - не платят.

[identity profile] artureg.livejournal.com 2012-05-11 08:09 am (UTC)(link)
Буду делать то на что меня нанимали. Ни каплей больше.

[identity profile] eleon.livejournal.com 2012-05-11 08:16 am (UTC)(link)
Угу, причем желательно прописать тебе в должностной инструкции, какую гайку крутить, каким молотком как по гвоздю бить. Потому что ты находишься в состоянии перманентной итальянской забастовки, впрочем как и большинство населения этой страны.
Или я зря на тебя наговариваю, и ты не такой?:)

[identity profile] inhate.livejournal.com 2012-05-11 09:45 am (UTC)(link)
Нет, платят не мало, просот нужна дифференцияция - за "писать как сказали" - $XXX, за "самому разобраться, что писать" - N * $XXX, за "разобраться как писать и расказать персонажу из первого пункта" N * k * $XXX

Дальше - кто сколько хочте, столько на себя геморроя и берет.

[identity profile] nicka-startcev.livejournal.com 2012-05-11 09:48 am (UTC)(link)
при этом желательно чтоб N и k были больше единицы.

[identity profile] measles.livejournal.com 2012-05-11 11:52 am (UTC)(link)
Но отрицательные. ;)

[identity profile] hshhhhh.livejournal.com 2012-05-11 12:02 pm (UTC)(link)
Если они обе отрицатетельные то сойдет %)

[identity profile] dr-hyder.livejournal.com 2012-05-11 08:07 am (UTC)(link)
Плюсстотыщ!
Умных дохера, умных просто завались, каждый второй в уме диффуры рещает и может оюьяснить чем монада от аппликативного функтора отличается. Чо толку то если у них вместе с этим умом идут сто ментальных багов. Возьмёт решит что всё должно бять идеально и начнёт всю вашу дельфю на хаскелл перетаскивать. И полировать потом два месяца чтоб совсем идеально, перфекционист блядь. И потом ещё по месяцу на каждую мелкую фичу, потому что рефакторинг! Ум это замечательно, но общая адекватность и как бы это назвать... прагматичность? она не зависит от того какие языки он знает

[identity profile] vp.livejournal.com 2012-05-11 08:11 am (UTC)(link)
Не совсем с вами согласен. Зависит от того, какая конечная цель. С точки зрения предприятия нужно ориентироваться на результат, соблюдая баланс между его достижением, скоростью, и дальнейшей перспективностью этих работ. Возможностью повторного использования. Простотой обслуживания и доработки.
С точки зрения разработчика, особенно с опытом, лучше заняться чем-то экзотическим. Конечно, это интереснее.

[identity profile] dr-hyder.livejournal.com 2012-05-11 08:22 am (UTC)(link)
Ребе, через очень незначительное време развлекания себя обучениям себя новым технологиям начинает утомлять по моему, ты всё это за какими то исключениями уже видел, да и вообще. Обычно люди себя начинают развлекать сменой деятельности, идут там в ПМы например или тимлиды и интерес достигается другими вещами, или идут в консультанты-контракторы и не скучаюь потому что постоянно прыгают по проектам.Или и вовсе идут в бизнес и начинают работать на себя. Вечный программер это как то немного печально.

[identity profile] vp.livejournal.com 2012-05-11 08:40 am (UTC)(link)
Вы не совсем понимаете, что значит продуктовая разработка в конторе, где разработкой занимаются 3-4 человека. Мыслите категориями оутсорса, кодинга и т.п. Тут этого нет, даже нет ничего близко похожего на традиционный понятный всем оутсорс.

[identity profile] dr-hyder.livejournal.com 2012-05-11 08:46 am (UTC)(link)
Я никогда в аутсорсе не работал, не знаю :) Сужу по своему опыту в Лондонских конторах. Очень возможно действительно не очень понимаю вашу среду.
Я тут хочу сказать что если девелопер уже не может писать на чём прагматично нужно или хотя бы на чём не прагматично-нужно, но вполне можно без особого ущерба, а начинает удаляться в суровые дебри с мотивом "а мне интересно" - то его карьерный рост как программера подходит к концу. Ему надо начинать думать либо о смене деятельности, свернуть в соседнюю область, либо о переходе на другую работу со "всем другим".

[identity profile] nivanych.livejournal.com 2012-05-11 09:19 am (UTC)(link)
Как минимум, при правильной постановке вопроса, всё это затраченное на `развлечения` время очень осознаётся как самим человеком, так и его руководством.