Обновления продукта

Расписание интервью с учётом часовых поясов, сделано правильно

ClarityHire Team(Product)5 min read

Проблема «9:00 AM»

Представьте себе: рекрутер в Сан-Франциско планирует интервью 9:00 AM с кандидатом в Берлине. Рекрутер набирает «9:00 AM» в выбиратель даты, нажимает сохранить и ложится спать, чувствуя себя продуктивно. Кандидат в Берлине видит «18:00» — идеально, конец рабочего дня. Их менеджер по найму, на остановке в Сингапуре, видит «12:00 AM» — и предполагает, что кто-то ошибся.

Три человека, одно интервью, три wall-clock времена. Если кто-либо из них неправильно мысленно переводит, кто-то сидит один в видеокомнате, пока остальные гадают, где они.

Удалённый найм работает на этой линии разлома каждый день. До сегодня ClarityHire делал то, что большинство инструментов расписания делает: хранит время и дает каждому зрителю конвертировать его в их локальную зону. Это работает — пока не работает. В момент, когда рекрутер говорит «я пошлю тебе слот 9:00 AM Pacific», но письмо показывает «17:00» кандидату в Лондоне, который также путешествует, неоднозначность выигрывает.

Этот релиз это исправляет. Интервью теперь несут явный часовой пояс, который выбрал планировщик, отдельный от локальной зоны каждого зрителя. Мы отображаем оба, рядом, чтобы было ровно одно wall-clock время, которое представляет «интервью» — и второе для «ваше время, в случае вы забыли, что летите завтра».

Что изменилось под капотом

Три изменения, все маленькие, все достойные правильно:

1. Мы храним IANA часовые пояса, не смещения. «America/Los_Angeles» выживает переход летнего времени. «UTC-8» нет. Интервью, запланированный в ноябре на январь, молча сместился бы на час, если бы мы храниили смещения. IANA имена обеспечивают, что wall-clock время планировщик предполагал — это wall-clock время, которое срабатывает, даже через границы летнего времени.

2. Планировщик явно выбирает часовой пояс. Диалог расписания теперь имеет выбиратель часовых поясов, который по умолчанию находится в зоне браузера планировщика, но может быть переопределён. Если вы — рекрутер в США, планирующий от имени менеджера по найму из Европы, который любит планировать в CET, вы можете — и приглашение кандидата покажет CET как каноническую зону с их собственной зоной как любезный перевод.

3. Wall-clock + зона, не просто момент времени. datetime-local вход представляет то, что человек набрал. Мы затем конвертируем это wall-clock время в UTC, используя выбранный часовой пояс — не браузер. Это тонкая ошибка большинство календарных инструментов имеют: они трактуют вход как браузер-локальный даже когда выбиратель говорит «Берлин». Мы используем Intl.DateTimeFormat для вычисления фактического смещения выбранной зоны в том wall-clock моменте и применяем его. Нет moment-timezone, нет дополнительной зависимости — просто несколько строк тщательно протестированного кода.

Что вы видите в UI

Диалог расписания получил икону Globe и выбиратель часовых поясов с кураторским списком общих зон. Если часовой пояс вашего браузера не на списке (мы видим вас, Pacific/Pitcairn), он автоматически добавляется. Как только вы выбираете дату, время и зону, маленький превью показывает, как время выглядит в вашей локальной зоне — полезно, когда вы планируете в чужой час и хотите здравомыслия-проверить вы не ставите их на 3:00 AM звонок.

На странице деталей интервью, запланированные времена теперь отображают в каноническом часовом поясе с подножкой «Ваше время», когда зона зрителя отличается. Шкалы времени кандидата делают то же самое. Фильтры даты и аналитические запросы продолжают работать в UTC под капотом, так что отчётность остаётся правильной независимо от того, где строки были введены.

Что получают получатели письма

Приглашения интервью — одно из писем с наивысшей ставкой мы отправляем — теперь отображают время интервью в часовом поясе, который планировщик выбрал, с аббревиатурой часового пояса прямо рядом («9:00 AM PDT»). Больше не набирать-тип «(Pacific)» в описание события календаря и молиться, что клиент письма кандидата уважает намёк часового пояса в .ics файле. Wall-clock строка в письме — это wall-clock строка, которая авторитетна.

Заметка о приглашениях календаря

Для .ics приложений календаря, IANA имена часовых поясов — правильная вещь для встраивания. Мы это делаем. Outlook, Google Calendar и Apple Calendar все интерпретируют IANA зоны правильно. Если клиент календаря кандидата делает что-то экзотическое, тело письма всё ещё несёт каноническую строку «9:00 AM PDT» как резервное — потому что ремень и подтяжки — надлежащая осанка, когда слот интервью на линии.

Миграция

Существующие интервью имеют null часовой пояс. Они отображают то же самое как раньше — время, локальное к зрителю, нет метки зоны — так что ничто не ломается. Любое интервью запланированное или пересчёт идёт вперёд поднимает явный часовой пояс. Со временем историческая щель закрывается естественно; мы не делали множественное-заполнение, потому что предполагаемие исходной зоны планировщика после факта является ровно типом уверенный-но-неправильный ход этот целый признак предназначен предотвращать.

Почему это имеет значение за пределами интервью

Та же проблема показывает в напоминания срок («завершить к 23:59» — чьи 23:59?), окна тестирования и SLA таймеры. Мы начинаем с интервью потому что это где неоднозначность стоит наиболее: пропущенный срок теста может быть переприложен; пропущенное интервью означает кандидат вопросы ли вы имеете вашу вещь вместе. Доверие сложно пересоздавать и легко тратить. Так мы потратили инженерные часы где бюджет доверия тонкий.

Если вы когда-либо должны были отправить «так извините, я думаю я имел неправильный часовой пояс» Slack сообщение в 9:01 AM, это для вас.

расписаниеинтервьюудалённый наймчасовые поясапродукт

Похожие статьи

Обновления продукта

Почему совместное редактирование на основе CRDT выигрывает для живого кодирования

Operational Transform vs CRDTs, почему перебои сети убивают редакторы на основе OT, и как Yjs + Monaco стали стандартом для комнат живого кодирования.

ClarityHire Team2026-04-102 min read
Операции найма

Автоматизация расписания интервью: что действительно стоит автоматизировать

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

ClarityHire Team2026-05-073 min read
Дизайн интервью

Как брать интервью у удалённого инженера на надёжность (а не просто на навыки кодирования)

Навыки кодирования — обязательный минимум. То, что отделяет удалённых инженеров, которые доставляют результаты, от удалённых инженеров, которые медленно дрейфуют, — это надёжность. И вы можете провести интервью на предмет этого.

ClarityHire Team2026-05-073 min read