![](https://habrastorage.org/webt/wb/dg/n4/wbdgn4pzbvolc9wnqqdgiliiwkg.jpeg)
Привет!
Начинал я с разработчика, сейчас руковожу департаментом разработки программного обеспечения и часто участвую в переговорах по разным проектам. По большей части речь о деталях реализации, то есть это не продажи, а обсуждение проектов с заказчиком. Но всё равно на них весело. Например, недавно наш человек чувствовал себя довольно неуютно, когда одному из резидентов Сколково объяснил, что блокчейн в проекте не нужен. Смотрели на него косо, и ощущение было, что он их убеждает в том, что вместо новомодного электричества всё можно решить на паровой или лошадиной тяге.
С другой стороны, частые переговоры означают много поездок. Иногда везёт. Вот в Дубае выходные пятница и суббота, а воскресенье — рабочий. При этом рейсы на воскресенье дорогие, и куда выгоднее лететь в пятницу. Встреча по поводу наших разработок по машинному зрению для дронов была на воскресенье, и когда наш переговорщик прилетел, заказчик извинился и сказал, что не получается, и нужно перенести ещё на пару дней. Так у него получились незапланированные выходные. Ну а дальше он закономерно вышел на пляж и уснул. После чего всем говорил, что сгорел на работе. Но интересно не это: дело в том, что ещё один наш коллега как раз застрял посреди тундры. Это примерно два часа вертолётом от Нового Уренгоя, и, кроме вертолёта, там транспорта нет. У него была метель — и, как следствие, нелётная погода. Он прибыл, обследовал талевые канаты и не смог вылететь. К началу истории уже сидел там два дня. Синоптики обещали открыть площадку только ещё через три дня. Из развлечений у него там была еда в столовой на месторождении, настольный теннис с вахтовиками и SMS на телефоне. Вот они друг другу и жаловались, кто и где застрял.
ДРПО — департамент разработки ПО, соответственно. У нас в разработке примерно 400 человек, и мы занимаемся тем, что пишем софт для заказчиков в России и за пределами, делаем много инновационного для промышленности, смотрите индустрию 4.0. Дальше байки из жизни людей нашего департамента. Часть деталей изменена, чтобы нельзя было опознать конкретных заказчиков.
На одном проекте была сборная команда из кучи людей, которая поехала рассказать про решение по защите сегмента сети. Представитель вендора тогда пообещал заказчику функцию по защите контента: это когда нельзя напечатать документы с рабочей станции, переслать их или как-то ещё достать. Заказчик загорелся и очень захотел. Никого при этом не волновало, что можно сфотографировать экран, и это куда быстрее, чем взламывать всю защиту. Когда вышли со встречи, вендор признался, что эта часть решения — альфа, и она ещё слегка сыровата. И на этапе продажи он показывал прототип, а не коммерческое решение. Ладно, вот некоторые даже мультики показывают. Дальше, конечно, они взялись её допиливать под клиента, но мы получили прекрасный опыт работы с индусскими подрядчиками этого вендора. Они прекрасны. Как в анекдотах. Мы ставили задачу, они через несколько часов её читали (с учётом разницы часовых поясов), делали функцию, мы объясняли, как переделать. Повторить 200 раз.
Из весёлых факапов был такой. Объединяли ИТ-отделы двух банков, причём один был расположен в Москве, второй за Уралом. Московский «поглотил и слил» региональный. Решался вопрос о том, как будут делиться обязанности и как построить рабочий процесс. Возникли некоторые разногласия, и региональный отдел предложил назначить конференц-колл на всех. И почему-то назначили на семь утра и отказались сдвигать. Москвичи на собрание позвали всех руководителей, включая финансистов. В ВКС-комнату пришли очень серьёзные дядьки с котлами дороже всего оборудования в комнате. На порядок. У каждого. У них были мрачные, очень мрачные лица, потому что так рано город они ещё никогда не видели. Краткие итоги встречи: ИТ-блока на той стороне не стало. К рациональным доводам добавились эмоциональные, потому что повтора издевательств никто не хотел. Вот так расширение состава встречи первый раз на моей памяти помогло ускорить решение.
Банковский хакатон в Омане. У нас очень хорошие решения по распознаванию лиц (вы наверняка читали или про кота-терминатора, или про воров в магазинах, или про эпопею на стройке со взрывом баллона). Мы решили сделать сервис, когда человек фотографирует себя дома на веб-камеру или фронталку телефона с документом в руках, потом отдельно документ, потом отдельно крупно лицо. Всё это обрабатывается, верифицируется автоматически при хорошем ответе нейросети, отправляется на пересъёмку при плохом или на ручную модерацию при недостаточно достоверном. Собственно, ничего необычного в самом хакатоне не было, если не считать того, что это всё же Оман. Приехали группой пять человек, они дали всем обычные номера, но первому в списке выделил семейный сьют. Представление о семье в Омане другое. В номере три спальни, три санузла, большая гостиная и комната для слуг. Обычно ещё бывает встроенная молельня, но это был европейский номер в европейском отеле (даже стейк подавали), поэтому молельня была внешняя. Рядом с гостиницей был халяльный Макдональдс с очень острой едой и предупреждением, что европейцу будет больно два раза. Сам хакатон начался с обсуждения условий. Дальше народ пошёл молиться — мужчины отдельно, женщины отдельно. Потом надо было сидеть и писать. Наша команда пошла в отель, закрылась в этой огромной гостиной и устроили в ней штаб. Места хватило на всех пятерых с ноутбуками, а на столе рядом устроили перекусы — их исправно носили сотрудники гостиницы. Не заметили, как прошёл день, ночь, следующий день. Ребята из этого номера просто не выходили. Потом наступил день, когда нужно было показывать решение. Пошли в банк. Продумали всё, кроме демонстрации на главной сцене. Не смогли сфотографировать человека из-за засветки софитами. Пришлось отходить в сторону. Но эту лажу нам простили, в итоге мы всё же получили контракт в банке. Говорят, это размещение было «для гостей», а к сдаче-приёмке условия будут уже как для «дорогих гостей». Подозреваю, что будут все шансы заблудиться в номере и утонуть в ковре.
Но если вы думаете, что мы только летаем по другим странам и продаём там российское ИТ, попивая сок в шезлонгах, то это не так. Точнее, это так, но случается реже, чем хотелось бы. Чаще встречаются довольно российские задачи. Например, мы возили свой автоматический диагностический терминал (средство для автоматизации предсменных осмотров на удалённых объектах и перед сменой для водителей, пилотов, военных и операторов АЭС). Демонстрировали его много где, и вот настал момент, когда нужно было поставить его на очень престижную выставку в Москве. А он приезжает с другой престижной выставки за пределами РФ за три дня. И половину пути его везут отечественные грузчики. Эти попались особо упёртые: такое ощущение, что они его наждачкой в дороге зашлифовали. Нужно было срочно перекрасить. Сроки были только на то, чтобы сделать это своими руками в офисе. У нас есть специальная зона для испытаний нашей не самой безопасной техники на первом этаже. Там раньше был склад. Теперь мы огородили там зону из коробок, сменили пиджаки и галстуки на костюмы химзащиты (точнее, пылезащиты) и робы и начали красить. Задачу сделали, хотя взяли с собой огнетушитель на работы, и от ответственного за пожарную безопасность прилетели просто эпические люли всей команде. Но мужик понимающий: говорит, был выбор выдать люлей сразу в середине процесса или подождать 20 минут на видеокамере и с бойцами по углам подвала и дать нам доделать работу. Поэтому в следующий раз, когда надо было покрасить 26 синих «гробов» с завода, которые чуть задержали в дороге, в фирменные цвета заказчика оборудования, мы уже сделали всё по уму. Наверное, это как раз то, что должен делать проект-менеджер в России.
![](https://habrastorage.org/webt/cd/h8/fg/cdh8fgk-pnfdxh6uqyy16fojtfk.jpeg)
За загородкой планировался лифт для машин автоматизированной парковки, но из-за развития каршерингов нагрузка на нашу парковку снизилась, и мы пока притормозили проект. По стрелке сейчас просто четыре метра вниз.
Или вот ещё выставка, везём туда автоматическую ключницу, которая снабжена алкотестером. Так получается, что едет туда только одна девушка, менеджер по продажам. Она и устройство. Грузчики бьют железяку по дороге, несмотря на то, что мы завернули её в пупырку, пропилен и картон. Просто треснул экран, подозреваю — вибрация и нарушение температурного режима. А это важно, потому что управление у неё с сенсора. Ждать новую неделю. На выставке ходит действующий президент РФ и присматривается к инновациям. Это сразу даёт +20 к инженерным навыкам моей коллеги, и она с помощью отвёртки, колпачка ручки, Ватсапа и инженера поддержки второй линии умудряется починить экран: там побит порт, и удаётся найти положение, в котором он работает.
![](https://habrastorage.org/webt/cm/jv/km/cmjvkmx5d9_ucv8woxp9e4lgbiy.jpeg)
Рядом в ближайших канцтоварах покупается USB-мышка, заставшая 95-й год, судя по дизайну. В общем, мы показали инновационную продукцию и сделали какие-то выводы, чтобы потом построить на их основе процессы и их придерживаться. Но уверен, что это не последний такой случай.
Кстати, про поддержку. Внедрили один раз железо на производстве. Оттуда постоянные жалобы, что штука зависает. Мы никак не можем воспроизвести это удалённо. Едем на объект. Выглядит так: стоит работник завода около экрана. Там развёрнут веб-интерфейс управления на IE на стареньком компьютере (собственно, подходил любой, вот они и поставили подешевле в цех). Человек прицеливается мышкой в кнопку, щёлкает в неё, ждёт результата. Задержка около трёх секунд. Примерно через две секунды он начинает безумно долбить Enter, причём делает это раз 20, чтобы до компьютера точно дошло. В IE есть глубокая технологическая особенность про распараллеливание процессов. В IE вообще много глубоких технологических особенностей, и в итоге после всего этого система виснет. По понятным причинам тестировщик это повторить не мог, поскольку не представлял логику пользователя. Юзера научили ждать ещё секунду после первого нажатия. Зависать перестало. Это было пару лет назад — тогда мы поняли, что нужно делать красивый интерфейс с кучей промежуточных статусов: чтобы был понятный, отзывался на нажатия и сразу что-то менял, не дожидаясь обратного пакета (хотя бы показывал загрузку) и так далее. Сейчас вообще мы сначала отрисовываем прототипы интерфейса до внедрения, показываем всё по шагам заказчику, он кивает. Тогда создали внутренний фреймворк для обмена опытом — что бывает в каких условиях на производствах.
Ещё пример случая из базы знаний: на производстве стоит АСУ ТП, которая работает на базе данных. База данных крутится на жёстких дисках. В методике испытаний и ТЗ предполагалось, что комплекс может отключиться из-за пропадания луча питания из города, и мы закрыли его ИБП. Но чего не предполагалось в методике — так это того, что сотрудник завода может его злонамеренно выключать прямо из ИБП. Обычно пользователи делают что-то по глупости, реже — целенаправленно, чтобы обойти какие-то ограничения системы. А тут имел место настоящий саботаж. На производстве безопасники поговорили с этой личностью, а мы добавили во фреймворк испытания на злонамеренные действия. Работает так: есть обычные методики тестирования, и есть выходные тесты на реальных случаях с заводов и других внедрений.
Ещё про «красиво облажались» — автоматизировали сканирование документов в Петербурге, там люди приносят бумаги, их надо быстро распознать и положить результаты в XML рядом с исходником. Был программный сбой по нашей вине (я не могу раскрывать детали по требованию безопасников). Это было примерно похоже на то, что засыпалось железо на одном из серверов, а балансировщик начал перезаписывать поверх другой файлшары. Перезатёрлось семь тысяч файлов с документами. Нужно было взять все бумаги, отсканировать, распознать заново и верифицировать. Мероприятие привязано к датам, поэтому если выйти за 72 часа — будет скандал. В итоге мы всей разработкой всю ночь сидели и занимались бумагами. Уложились со всем за сутки, но люди засыпали носом на клавиатуре.
Готовим демонстрацию устройства — конкретно нашей умной каски для промышленников. Павильон 20х20 метров, там что-то вроде полосы препятствий, своего рода кусок производства с разными проблемными местами. Наша задача показать, как на практике отрабатывает каска. Надо прыгать, падать, вызывать на помощь, убегать от погрузчика, заходить в опасные зоны и вообще изображать лучшие ситуации из жизни цеха. И вот вдруг выяснилось, что монтажников на площадке (не наших) не оказалось. А там надо было повесить часть устройств на высоте четыре метра со стремянкой. В итоге они сделали всё, кроме этой части. Мы с разработчиком приезжаем утром принимать павильон и понимаем, что сейчас придётся снять галстуки и вспоминать молодость. Пригодилась страховочная привязь в багажнике, на даче дом строили, вот и осталась. Примерно три часа ушло. Но демонстрация удалась отлично. Кстати, насчёт разработчика: Алексей стал тимлидом по каске как раз потому, что до этого готовил анализ всех вендоров на рынке. И в результате анализа понял, что кое-чего в ПО не хватает. И можно сделать лучше. В итоге попросил железа на прототип, собрал какого-то монстра Франкенштейна с сырым софтом, но доказал, что всё это может работать.
Ещё одна демонстрация была не такая удачная. Летали в Мурманск показывать систему предупреждения наезда тяжёлой спецтехники на людей. Там нам сразу сказали, что от бортовой сети запитывать не дадут, поэтому нужны аккумуляторы. Мы купили за полдня мотоциклетные (примерно по пять килограмм две штуки, первые попавшиеся) и зарядили их в Москве. Везли ручной кладью. А в самом Мурманске было -19 в этот момент. И аккумуляторы погибли. Оба. А у заказчика времени ровно час. Так и не смогли показать на практике.
Теперь про тяжёлую металлургию. Им тоже нужна была умная каска. У нас было три встречи, и после каждой переговоры продолжаются до поздней ночи. Третья встреча была в пять утра ровно. Встали еле-еле. Мой коллега Юра умудрился пробежать десять километров до стенда и быть там вовремя. Он из ВДВ, говорит, закалка уникальная. Заказчик потом спрашивал, почему каску показали, а про испытания киборга — ни слова.
У коллеги были прикольные приёмо-сдаточные испытания, когда в одной комнате сидело 15 человек, молча смотрели на пустой экран и молчали. Краеугольным в этом испытании был вопрос производительности. Операция по загрузке должна была выполняться в определённых нормативах. Файлы для обработки и создания выборки очень большого объёма. И вот они поставили секундомер перед экраном и ждали, когда всё упадёт. А оно не падало и не падало. Напряжение нарастало до последнего, пока сервис не отработал.
Но давайте вернёмся к переговорам. Ещё из фокусов: был проект в США, надо было встать в три часа ночи на проектное совещание раз в неделю, сказать «Привет!» и молчать до конца совещания. Заказчик на их стороне очень волновался за сроки и даже попросил сделать так, чтобы у нас отпусков не было ни у кого до конца проекта. Потом оказалось, что у него люди работают ровно до 18:00 и потом просто встают и уходят, даже если очень нужно. Это было понятно и предсказуемо, но несколько странно при таком неравенстве — нас дёргали по ночам и без отпусков, а у них просто считали 18:00 за закон природы.
Ещё один товарищ ушёл с переговоров с порванными штанами, потом зашивался в туалете в офисе. Это послужило просто неиссякаемым источником шуток. На самом деле ему на спину уронили здоровенный флипчарт, и он углом распорол брюки.
Один раз приехали на производство мебели на встречу. Руководитель заказчика задержался, и нам предложили сходить в зоопарк. Оказалось, при производстве есть зоопарк с живыми оленями, которых можно кормить с рук. Это один из немногих случаев, когда нам просто хотелось, чтобы заказчик опоздал побольше.
У нас на прошлых визитках были нарисованы сюрикены фоновой картинкой. И вот приезжаем к заказчику, а у него на стене висит катана. Меняемся визитками, и тут он узнаёт в нас родственные души и полчаса рассказывает историю о появлении ниндзя. Увлекательно и интересно. Чего только не узнаешь на переговорах про АСУ ТП.
Или вот надо было успеть на встречу на Ленинградскую атомную электростанцию. В тот день вся область стояла в мёртвых пробках. А эта самая АЭС расположена в городе Сосновый бор на берегу Финского залива. И оказалось, что самый быстрый способ на тот момент — добраться до этого места по воде на подводных крыльях. И вот в офисе в бухгалтерии не поняли с этим. Дело в том, что когда едешь в Петергоф на этом судне, то ещё нужно обязательно купить билет на вход в парк. Так оплатили 800 рублей из 1000 за билет, а 200 — ни в какую. Самое обидное, что Петергоф так увидеть и не удалось.
А ещё нас после переговоров регулярно запирают в зданиях. Первый случай был в деловом центре, вечером команда приехала, смонтировала оборудование для показа на испытаниях, хотели уехать. В этот момент разработчик решил накатить самый последний апдейт, причём он клялся и божился, что там никаких особых изменений нет. В общем, вышли вниз в час ночи. И попали в лапы службы безопасности. Завели в тайную комнату без окон и дверей. Требовали паспорт, признаться, как проникли в здание ночью и что сделали. С нашей стороны это выглядело так: ночь, звонок. «Нам дали право на один звонок, забери нас отсюда, мы всё ещё на монтаже». Пришлось разбудить руководителя со стороны заказчика, достали. Оказалось, на ночные работы за неделю надо оформлять бумаги, и они отдельные от обычных пропусков днём.
Один раз забыли разработчика на складе сканеров. Есть здание, в котором на первом этаже когда-то были конюшни. Их переделали в офисы, получились такие широкие арочные проёмы, двери. Ну а телефон внизу под этими конюшнями не ловил. Там заперли человека на ночь. В общем, он написал SMS и выкинул телефон в пакете с привязанным проводом наружу через вентокно. Там устройство поймало сеть и отправило сообщение.
Ну и напоследок: на одной из выставок был прикольный случай про Хабр. Подошёл человек, который владеет кучей компаний в Европе, мы его отдалённо знаем, пожалуй, только по спискам Форбс. Говорит, мол, мужики, мне тут вашу статью про одно из решений перевели. А что можете сказать про другого производителя, %companyname%? Мы: «Ну, это наше личное мнение, но решение для России смешное, вообще не учитывает реалий». Он так: «Эх, жалко». Мы ему: «А что, уже закупили?» Он: «Ага, только не продукт, а всю компанию…».
Ссылки
- Видеоаналитика нашей разработки.
- Эпичный кейс про кота-терминатора.
- Умная ключница.
- Примеры дичи из заказов «приходите спасать».
- Регистрируйтесь на кейсориум и приходите на финал промышленного хакатона. Здесь есть бомбическая задача про спасение молочных поросят.
- Моя почта — SStrelkov@croc.ru.