Три профессиональные деформации айтишников
Занявшись делами вне отрасли ИТ, я вдруг обнаружил, что делаю всё по-айтишному и неэффективно. Чуть позже я поговорил с другом, который руководит айтишниками, и с позиции мудрости должен бы принять лучшие решения, но, несмотря на опыт больший, чем мой, он с порога предложил делать то же самое, и, будучи руководителем, только активнее отстаивал эти идеи.
Что же мы делали? Мы задумали, как московские «Городские проекты», посчитать пешеходное движение на улице Ленина в Новосибирске. Оказалось, что не занятые в ИТ люди, гораздо лучше могут организовать эту работу.
tl;dr: у нас все работы превращаются в ИТ, даже когда не надо. Ещё мы плохо оцениваем силы — и в нашей работе и в «аналоговой».
Подсчёт пешеходов по-айтишному
Приведу в порядке поступления варианты, которые нам приходили в голову:
1. Поставить видеокамеру и снимать, потом найти софт для распознавания образов. Или написать самому такую программу. (Последнее — это моя идея. Да, мне стыдно.)
2. Припарковать машину на тротуаре, снимать на видеорегистратор.
3. Положить большую доску и прикрутить датчики. По ардуино считать пешеходов. (Нужно ею закрыть площадь в 5*2 м.)
4. Все вместе прикидывали, что можно сделать, чтобы снять целые сутки. Или рабочий день, сменяя друг друга. Получалось, при подсчёте вручную нужно было бы 2 человека на 1 точку.
Все эти варианты — непосильно сложные и дорогие. Как люди такое придумывают — мне кажется, от плохих привычек, распространённых в ИТ. Эти привычки вредят нам и в самой работе, а если надо делать что-то сложное не айтишное, от них ещё тяжелее.
Буквально вчера, перед публикацией, встретил знакомого айтишника, которого не видел долгие годы, рассказал, что делаем, и он тут же сказал, что снимать на видеокамеру — самое лучшее.
№1. Айтишники совершенно не мерят сил и замахиваются на самое крупное
Это самая вредная привычка, которую я знаю. И у меня она тоже есть: сам я тоже сначала подумал, что считать пешеходов надо целые сутки, всех до единого. Но геологи же не выкапывают на пробу всё месторождение целиком! Проба может быть неточной. И тем более, если каждый день идёт разное число людей, то есть один день, даже абсолютно точно замеренный, — вообще не показатель.
А в нашей работе мы поступаем аналогично: всё делаем с огромным запасом и дорого, даже если неизвестно, надо ли. Если класс — то обязательно абстрактный, чтобы расширять драйверами. Если сайт — то сразу хайлоад.
Пока такие раздутые проекты здравствуют, их руководители выступают на конференциях как «гуру хайлоада». Заморские и некоторые наши гости удивляются, почему в России на «хайлоаде» так помешаны. Просто у нас удачно сочетаются сверхинжиниринг и шальные деньги, которые заказчик платит за свои мечтания, что его детище вдруг резко станет популярным.
В этом смысле ИТ — это даже не технологическая отрасль, а реклама или искусство, где заказчик тоже оплачивает своё тщеславие. В технологических отраслях всё померено и посчитано. Авиакомпании не сделают новый рейс ежедневным и с большими самолётами под высокую нагрузку. С вероятностью 99%, пустив деньги на ветер, авиакомпания не «словит хайлоад», а «красиво отдуплится». На самом деле они поступают в разы дешевле и осторожнее: небольшой самолёт, рейс один-два раза в неделю, и если пассажиропотока не появится, свернут рейс, если будет — то станут потихоньку расширять.
В ИТ знания об излишествах пока просто кочуют в виде народной мудрости, например, YAGNI (you ain’t gonna need it).
Выход есть в самой же отрасли ИТ — делайте MVP (Minimum viable product, минимальный жизнеспособный продукт), не занимайтесь маниловщиной.
№2. Все задачи превращаются в айтишные
Когда я рассказываю айтишникам про проект, они говорят: надо ставить камеру и искать программу, считать автоматически. Я объясняю, что коммерческие решения бешенно дорогие, очень капризные, а свободного ПО пока нет. Тогда мне предлагают просто заснять на камеру и считать вручную. Якобы это сэкономит время. Я попробовал так сразу, оказалось, что так получается вдвое дольше, чем вручную. Мои знакомые не унимаются и предлагают использовать приложения-счётчики на айфоне.
Любая работа превращается в это.
Мы всё посчитали вручную, и так оказалось быстрее и проще. Вбить результаты с блокнотов в компьютер заняло 20 минут. Дальше мы уже анализировали цифры и писали отчёт. Сейчас про нас уже написали в прессе. Эксперименты с видео превратились бы в бесконечный труд на месяцы, не дающий никакой отдачи.
Второй пример. Один из вопросов, на который мы хотели ответить, таков: используется ли улица для прогулок, то есть не просто для прохода до здания. Поскольку люди гуляют чаще всего вместе, мы решили посчитать количество и размер групп. Что это бы дало, я и сам не знаю, но можно было бы до посинения играться с цифрами и графиками.
Мораль: чаще спрашивайте себя, что же вы хотите сделать.
№3. Айтишник считает, что он всегда прав
То, как друзья-айтишники настойчиво советуют считать с видеокамеры, показывает, что мы считаем себя экспертами во всех цифровых технологиях. Не участвуя в деле и совсем без опыта, мы смело советуем первое что пришло в голову. «Надо вот так.» Не-айтишники так не делают. Гуманитарий, а тем более рабочий, знает, что он в технических вопросах не разбирается.
С университета привыкнув решать стерильные готовые задачки, ты веришь в математическую истину, и по привычке превращаешь любую задачу в математическую или программистскую задачку. Кроме того, чаще всего мы имеем дело с (внедрением) ИТ против ручной работы, когда ИТ — всегда лучше и эффективнее. И большинство окружающих некомпетентны в ИТ. Как от такого не поверить в собственную божественность?
Программисты постоянно изобретают велосипед: свой новый управленческий учёт, модели эволюции, и даже теорию игр, не поискав ничего готового, при этом закрывая глаза на существенные проблемы и ошибки. Например, работать с системой контроля версий из командной строки чревато ошибками, вместо того, чтобы работать над причиной проблемы, руководство ИТ регулярно приказывает ошибок не совершать — «а ты будь ответственнее!» — и считает себя правыми по определению.
Нужно помнить, что ты не пуп земли, и мир не следует твоим командам, даже логически правильным.
Резюме
Эти профессиональные привычки, или деформации, вредят нам в своей же работе, и любому айтишнику было бы полезно чаще смотреть на другие профессии и лучше понимать, как распоряжаться конечными ресурсами и делать безвозвратные действия.
Как пешеходов считают на самом деле
Вкратце расскажу, как же мы мерили пешеходное движение.
Мы придумали заняться этим подсчётом на форуме. Несколько человек, которые хотели что-то сделать, собрались. Мы никого не звали, чтобы не приходили те, кто хочет почесать языком, а собрались сами, затем нашли добровольцев в помощь и посчитали пешеходное и автомобильное движение на улице Ленина в Новосибирске.
Мы определили 9 точек в узких местах (которые не обойдёшь) и в каждой из них через час появлялся человек с двумя механическими счётчиками и 15 минут считал поток в одну сторону и в другую. Один человек стоял 15 минут в одной точке, потом переходил на другую, и за час мерил 3 точки сразу. Через 3 часа его менял другой, потом наоборот. Таким образом 2 человека, сменяя друг друга, за день мерили движение на сразу трёх точках. Всё это продолжалось с 8 до 22 часов.
Есть более продвинутые варианты исследований — подсчёт, где стоят люди, по каким траекториям они движутся. Это делается при помощи планшета и нескольких бланков, по 1 бланку на каждые 10 минут. Но в нашем случае на это не хватало людей.
Мой товарищ стоит на улице с механическими счётчиками в руке.
Конечно, можно всё это автоматизировать. В расчёте на единицу информации такая автоматизация будет лучше. Особенно выгодно автоматизировать крупные расчёты, на десятки контрольных точек. Трудно найти одновременно столько людей и не перепутать всё по ходу дела. Но всё это — для команд с большими деньгами и крупными спонсорами. Пока даже московские «Городские проекты» считали всё вручную.
Информационные технологии имеют свою цену и подчас высокую, поэтому нужно хорошо оценивать её, чтобы не повторять поговорку «программист — тот, кто не делает руками 3 часа, а целый день пишет программу, которая всё посчитает за минуту.»
Результаты
Мы могли бы заняться распознаванием видео и даже превратить это в стартап. Только неизвестно, хватило бы нам сил, а результатов и отзывов, а так же спрос пришлось бы ждать год-два. Сейчас же дело сделано как и было задумано, то есть потоки пешеходов посчитаны. И у нас есть публикации в самых популярных СМИ города. Вся команда довольна, и есть предложения помощи. Если дело пойдёт, можно будет взяться и за видео.
Тем временем в городе оживились дискуссии о пешеходной зоне, и к мэру вновь пристали с этим вопросом — именно то, чего на этом этапе мы и хотели добиться.
Наш плакат, опубликованный в СМИ
Пользуясь случаем, посылаю лучи добра всем, кто изображён на иллюстрациях. Если кто-то хочет посмотреть данные расчётов, вот схема расположения точек, и таблица с замерами, разбитыми по минутам и интерполированными, а так же исходные данные и скрипт для интерполяции.
Автор: siberiano