Заметки о работе и написании операционной системы для бизнеса.
Публикуем, когда узнаём что-то стоящее. Без SEO-наполнителя, без хайпа, без ИИ-мусора. Создано для операторов, а не для других разработчиков.
Мы удалили двух ботов, чтобы третий перестал прерывать людей.
Клиенты начали вешать трубки. Не потому, что что-то конкретно сломалось. А потому, что голосовой бот постоянно прерывал их. Кто-то начинал задавать вопрос, делал паузу на полсекунды, чтобы собраться…
Она запросила зеленую кнопку и потеряла всю свою домашнюю страницу.
Третий раз, когда она набрала "сделать цвет героя зеленым", вся главная страница перестроилась. Большой верхний баннер, действительно, стал зеленым, это справедливо. Но меню изменилось. Целый раздел…
Мы прекратили оплачивать специалиста за ответы на простые вопросы.
Однажды после обеда мы изменили порядок, как наш чат получает ответы, трижды за одну встречу, и к вечеру вся система начала работать наоборот, по сравнению с тем, как все говорят, что ее нужно…
В нашей компании было три разных личностей, и ни одна из них не ладила друг с другом.
Один клиент вежливо сообщил нам, что наша команда, похоже, противоречит сама себе. Это было благородное формулирование, потому что команды не существовало. Было лишь небольшое количество из нас и…
Наш помощник имел одну мысль, и она не покидала его.
В течение нескольких дней наш помощник по кодированию отвечал на каждый запрос одной и той же жалобой. Попросите его что-то исправить, и он будет переживать по поводу мелкой, незначительной ошибки, о…
Наш ассистент замолчал, потому что он прочитал слишком много.
Однажды наш встроенный помощник просто затих. Не завис, не выдал ошибку, а просто замолчал. Кто-то задавал вопрос и получал абсолютно ничего. За кулисами всё выглядело здорово: вопрос поступал,…
Мы добавили один сигнал жизни и удалили десятки его копий.
Все началось с неправильного сигнала о состоянии. У нас есть небольшая система наблюдения, чья единственная задача — обойти систему и похлопать каждый её компонент по плечу, ожидая подтверждения. В…
Нажимаю на флаг, ничего не происходит, а обновление исправляет это.
Кто-то нажал на маленький латвийский флаг в углу нашего сайта, и ничего не произошло. Меню закрылось. Адрес в строке изменился. Маленькая иконка глобуса поменяла надпись. И каждое видимое слово на…
Наша резервная копия тихо сделала всю работу, и никто не заметил.
Однажды после обеда мы открыли очередной журнал, чтобы разобраться с чем-то совершенно не относящимся, и там оно было, повторяясь тысячи раз, спокойное, как ни в чем не бывало. Каждый раз, когда…
Мы наняли гения, затем швейцар стал выполнять свою работу.
Представьте, что вы управляете忙餐馆, и вы наняли самого талантливого и дорогого шеф-повара в городе. Люди приходят к двери целый день. Половина из них не голодны. Они просто хотят узнать, открыты ли…
Наш помощник попытался сделать всё одновременно и завис.
Представьте себе нового сотрудника, полного энтузиазма, в его первый рабочий день. Вы просите его навести порядок в складе. Вместо того чтобы заниматься полкой за полкой, он решает взять все коробки…
В день, когда мы пообещали двадцать комнат в доме с тремя.
Однажды тихим утром ответы просто прекратились. Кто-то отправил сообщение нашему боту, и ничего не пришло в ответ. Машина выглядела живой: она гудела, логировала, казалось, размышляет. Затем, прямо…
Два записа для одной задачи и панель инструментов, которая не могла оставаться на месте Недавно мы столкнулись с проблемой, когда два отдельных записа создавались для одной и той же задачи в нашем проекте. Это вызывало путаницу, так как пользователи не могли понять, почему они видели разные данные для одной и той же работы. Основная причина заключалась в том, что система, отвечающая за создание записей, не справлялась с нагрузкой. Мы провели анализ, чтобы выяснить, как именно происходил этот процесс, и обнаружили, что при одновременной отправке нескольких запросов создавалось несколько записей. Мы быстро реализовали решение, которое включало в себя добавление механизма блокировки, чтобы гарантировать, что только один запрос может создать запись за раз. Кроме того, мы заметили, что панель инструментов не отображала данные должным образом. Она постоянно перезагружалась, демонстрируя поведение, которое мы не могли объяснить. Проведя дополнительные исследования, мы обнаружили, что это было вызвано недостаточной оптимизацией запроса к базе данных, что приводило к высокому времени отклика. Мы обновили соответствующий код и добавили кэширование для снижения нагрузки на базу данных. Теперь обе проблемы решены, и пользователи могут работать с задачами без заминок. Мы продолжаем следить за поведением системы, чтобы гарантировать ее стабильность и производительность.
Рецензент связался с нами с вполне разумным вопросом: почему один и тот же объект работы отображается как в процессе выполнения, так и полностью зависшим на его экране в течение одной и той же…
Сигнал пришёл мгновенно. На наш ответ ушло четверть часа.
Кто-то сидел достаточно близко к экрану, чтобы дотронуться до него. Зелёный свет загорался, сигнализируя об отсутствии проблем. Теперь они ждали, когда наш маленький помощник ответит и подтвердит,…
Мы написали инструкции не в том месте. Никто их не прочитал.
Однажды днем мы собрали небольшую группу цифровых специалистов, чтобы работать вместе с нами. Один — для организации, один — для написания, один — для поиска ответов. У каждого была своя голова, своя…
Вежливое обсуждение нулевого счета вывело из строя учет у клиента. Недавно мы получили сообщение от клиента, который сообщал о проблеме с его бухгалтерией. Мы сразу начали расследование и выяснили, что проблема возникла из-за нулевого счета, который мы отправили ему. Хотя это был стандартный процесс по окончанию проекта, сообщение вежливого характера, видимо, привело к неправильным записям. Мы использовали платёжную систему, которая автоматически генерирует счета на основании выполненных работ. Когда работы были завершены, система создала нулевой счет, так как не было никаких дополнительных затрат. Однако клиент воспринял это как проблему и, не понимая, как это отразится на его учете, внес запись, которая в конечном итоге привела к ошибке в его бухгалтерских данных. Чтобы решить эту проблему, мы связались с клиентом и объяснили ситуацию. Мы также предложили отправить новый счет, который бы лучше уточнял, что никаких платежей не требуется. Кроме того, мы порекомендовали клиенту обновить его учетные записи, чтобы избежать дальнейших недоразумений. Теперь мы пересмотрели процесс отправки нулевых счетов и добавили в него дополнительные разъяснения, чтобы подобные ситуации не повторялись в будущем. Даже если счет нулевой, важно объяснить это четко, чтобы избежать путаницы и проблем у наших клиентов.
Представьте себе бухгалтера в Риге, ранним утром, кофе остывает, пытающегося закрыть месяц и не способного сбалансировать отчет. Два чека, которые должны были быть, просто исчезли. Оба были по нулю.…
Мы разместили все наши домены на одной странице и поймали три неправды.
Мы создали небольшую страницу, которая перечисляла все веб-адреса, за которыми мы следили, просто чтобы остановить наших сотрудников от постоянного переключения между четырьмя разными консолями и…
Работа, которая принадлежит всем, не выполняется никем.
Представьте себе доску с заявками в понедельник утром. Один столбец, помеченный как "Новые", с сорока одной карточкой, сложенной в нем, как неоткрытая почта. Три из этих карточек были девятидневной…
Латвийский счет с одним упрямым английским словом на нем Недавно мы получили счет от нашего латвийского поставщика. Все было в порядке, пока мы не увидели название продукта, указанное в счете. Оно было на английском языке, и, казалось, никто на стороне поставщика не желал или не мог перевести его на латышский. На первый взгляд это не должно было вызывать беспокойства. Однако, при внимательном просмотре мы заметили, что это слово использовалось в нескольких местах в документе, и его присутствие вызывало путаницу у некоторых членов нашей команды, которые не владеют английским языком. Мы решили обратиться к поставщику и попросили их объяснить, почему слово не было переведено. Их ответ был довольно неожиданным: они сказали, что это слово является общепринятым в международной торговле и не требует перевода. Не будучи удовлетворенными этим ответом, мы сделали несколько исследований и выяснили, что у них действительно есть точка зрения. Тем не менее, для нас было важно, чтобы вся документация была понятна и доступна для всех участников процесса. В конечном итоге, после незначительных переговоров, поставщик согласился выслать исправленный счет с переводом слова. Это было небольшое, но важное достижение в нашем взаимодействии, показывающее, что даже в мелочах может возникнуть необходимость в ясности и понимании.
Клиент открыл счет-фактуру, которая должна была быть полностью на латышском языке, и на ней, как опечатка в любовном письме, сидело одно единственное маленькое слово на английском. Этикетка статуса.…
Мы обучили весь продукт латышскому языку, и поиск стал глухим.
Мы научили весь продукт говорить латышским языком за один вечер. Каждое название окна, каждая кнопка, каждая маленькая метка, которую человек действительно читает, всё это внезапно стало свободным…
Неделя, когда каждое изменение просто называлось «сохранить»
Представьте себе спокойный день. Выходит счет-фактура. Он выглядит почти правильно, что является худшим вариантом ошибки, потому что для того, чтобы заметить, что регистрация автомобиля клиента…
Неутомимый маленький помощник, который работал всю неделю и ничего не сделал.
Однажды утром мы открыли панель back-office и обнаружили маленького помощника, который был самым трудолюбивым сотрудником в здании. За несколько дней он просыпался, задавал один вопрос и снова…
Она вошла в систему без проблем, а затем вместо своего автомобиля столкнулась с чужой машиной.
Однажды тихим днем в нашу службу поддержки поступил запрос с гаража. Клиенткой, пусть мы назовем ее Анной, была выполнена аутентификация в портале для проверки состояния своего автомобиля. Процесс…
Баг, который никто не владел, потому что он жил в промежутке между комнатами
Поздно одним днем, на заре, один из нас наткнулся на пустую страницу, где должен был быть продукт. Поле поиска жаловалось на отсутствие соединения с тем, что организует ваш экран. Исправление заняло…
Вся команда продолжала терять сорок минут из-за одной тихой лжи.
С самого начала каждый новый человек, присоединившийся к нам, терял те же сорок минут на того же призрака. Они следовали нашим письменным инструкциям до мелочей, вводили точно тот адрес, который мы…
Мы отшлифовали экран входа, до которого никто еще не смог добраться.
Представьте себе двух человек, сидящих в начале пути, согнувшись над светящимся экраном в час, когда разумные люди спят. Продукт был всего лишь несколько часов как запущен. Никакого способа войти в…