ermouth: (Default)
ermouth ([personal profile] ermouth) wrote2013-10-01 12:38 am
Entry tags:

Чувство прекрасного

Такая сложно формализуемая штука, особенно для айтишников. Лорд Кельвин говорил – “что нельзя измерить, то нельзя улучшить”. Не уверен, что каждый инженер эту фразу знает, но подспудно верит в неё, кмк, едва ли не каждый.

Вера эта ложная, и чем дальше в XXI век, тем всё сильней это проявляется. И дело тут вот в чём.

Задачки инженерные – те которые задачки, а не просто на движок картинку натянуть или придумать куда выключатель поставить – с каждым днём становятся сложнее. Мы очень круто научились не изобретать велосипедики – и хорошие решения запоминаем всем миром разом. И поверх них генерим новое.

С усложнением задач усложняются и метрики. У этого есть весьма неприятный побочный эффект – на метриках, собранных вчера, часто нельзя сделать никаких выводов о том, что будет завтра.

Хуже того, не вдруг поймёшь, какие из них “вчера”. Я думаю, многие сталкивались с тем, что всеобъемлющая память гугла стала доставлять проблемы – читаешь, бывает, какую-то инфу и только к концу понимаешь, что это старьё. Если вообще понимаешь.

По этой же причине стало практически бесполезно читать учебники по продвинутым развивающимся дисциплинам – за то время, что они писались и издавались, они безнадёжно устарели.

Как же быть? Как принимать решения без метрик или без веры в них?

Чувство прекрасного обладает серьёзной предсказательной силой. Не вообще везде, а нашем мире – потому что наш мир очень зависит от людей, вполне отличающих красивое от некрасивого. Понятие репутации – прямое следствие такого умения, например.

У меня есть наблюдение. Если программист одевается как чучело и в целом неухожен – это скорее всего пустышка. Исключение составляют “системщики” и “оптимизаторы” – но это очень редкие люди и их сияние сразу совершенно затмевает то, как они одеты.

Отличает ухоженных от неухоженных не наличие девушки, не перегруз работой, не ориентация наконец – а наличие или отсутствие чувства прекрасного. Таких людей сразу видно по их работе – это такие кадры, которые могут сказать, что чего-то не существует, потому что этого в задаче не написано или дизайнер не нарисовал.

Если вернуться к лорду Кельвину, понятно становится, в чём в его фразе подвох. Само понятие “улучшить” – двойственное. Улучшать можно количественно, а можно качественно.

И при качественном улучшении применять количественные метрики, основанные на старой модели – это просто самообман. Даже не подсказка, чаще предсказательная сила монетки получается.

С другой стороны это не всегда бессмысленно – хоть такой подход и загоняет неизбежно в тупик, он даёт возможность появляться редким “рекордным” зверушкам. Это когда вытягивали до предела одну-две какие-то метрики. Например SR-71 и U-2, рекордные самолёты – и нереально сложная посадка и пилотирование при дозаправке, даже в симуляторе.

Замечу, правда, что на них глядя моё чувство прекрасного от восторга верещит )

[identity profile] ermouth.livejournal.com 2013-10-07 05:03 pm (UTC)(link)
О, вот про таких я и пишу – для которых V это просто вьюшка. Это не программист, это говно которое порождает на выходе говно.

[identity profile] xenos popandopulos (from livejournal.com) 2013-10-07 05:19 pm (UTC)(link)
Именно так и считают все человеки с "дизайнерским бэкграундом". Я только хотел заметить, что есть и противоположная точка зрения. Причем ее носители - как раз самые настоящие программисты, благодаря чьим усилиям и работает весь технологический стек. Свысока поглядывающие на быдлокодеров-верстальщиков-дизайнеров-все-в-одном.

[identity profile] ermouth.livejournal.com 2013-10-07 07:54 pm (UTC)(link)
Твиттер, жж, фб, вк и тп сделаны ровно противоположной категорией в вашей картине. И благодаря этим людям – для которых V это не просто вьюшка, а что-то осмысленное (равно как и дизайнеры, для которых наборный текст – не просто 30% заливка серым) – вы и видите этот стек вообще.

Я думаю вы обломаетесь даже с одним контрпримером.

[identity profile] xenos popandopulos (from livejournal.com) 2013-10-07 08:22 pm (UTC)(link)
Все эти сервисы созданы благодаря кооперации совершенно разноплановых команд.

Возьмем Твиттер - внизу лежит сторадж (модифицированный InnoDB), разработчикам которого, подозреваю, глубоко пофигу, как выглядит веб-морда. Гораздо более важно то, что именно она отображает, какую функциональность несет и, значит, что в конечном итоге и будет требоваться от стораджа. Отладка взаимодействия стораджа с мордой, также подозреваю, ведется на совершенно схематичных отладочных макетах. Возможно, никто из С-программеров никогда в жизни не сверстает ничего более законченного.

Эти программеры говно? Вряд ли.

Два фронт-эндщика из Твиттера как-то раз решили унифицировать UI. В итоге мы имеем Бутстрап, который захавал половину сети. Хорошо это или плохо, вопрос другой, важно понимать, что эти двое, скорее всего, никогда не программили на сях. И не будут, это будет диким распылением их компетенции.

Эти чуваки, определенно, вовсе не говно.

Ни к тем, ни к другим не имеет отношения Вася Пупкин, который половину дня колбасит визитки и магазины на джумле в студии из 3х человек, параллельно выбивая из заказчиков предоплату (а с других - дебиторку), а вторую половину рисует флеш-баннеры по заказам с фриланс.ру.

Для студии он - находка, для Твиттера - компост.

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

Дизайнеры ведь зачастую сами не отличаются системным мышлением и набросать простейший алгоритм (даже не непосредственно запрограммить) нифига не в состоянии.

Момент номер два. Если ты программер, то тратить лишние 2-3 часа, например, на разборки с заказчиком или говноверстку - это просрать 2-3 часа своей компетенции. Раз, два, еще куда ни шло, на третий раз, если ты не Вася, пора валить.

[identity profile] ermouth.livejournal.com 2013-10-07 09:17 pm (UTC)(link)
Все эти сервисы были созданы людьми, которые не писали миллион страниц ТЗ, а брали что под рукой и что умеют – и делали. И охуенно получилось. А миллион метрик – это офис 2007 и Вин 8.

Я не предлагаю программеру доделывать где дизайнер залажал – хотя обматерю каэш любого инженера, который мне скажет "я не знаю, как слои в фотошопе свести". Потому что гугл есть.

Но невозможно же между ними абсолютно чётко разделить работу (и ответственность). 5 лет назад можно было, а сейчас – никак.

Или сроки получаются непозволительные, или цена, или результат говно неживое. Это как офис 2007 – в 2003 начали, 2 года придумывали всеобъемлющий концепт юи, а потом 2 года его писали. И выпустили пузыри, которые в 2003 ещё ок были, а в 2007 – ну песец просто.

Хорошие дизайнеры как раз и отличаются от вась пупкиных именно системным мышлением. А вот умение программить – это вообще не показатель системного мышления. Причина простая – программят не для сферических коней в вакууме, а для людей. И значит с точки зрения системного подхода пользователи – вполне себе компонент системы. И коль скоро система проходит стадию создания и развёртывания, макеты тоже компонент системы, а их утверждение потребляет ресурс и это неплохо бы оптимизировать.

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