Zeitzone-bewusste Interview-Planung: Ein praktisches Playbook
Das „9:00 Uhr"-Problem
Stellen Sie sich vor: ein Recruiter in San Francisco plant ein 9:00 Uhr Interview mit einem Kandidaten in Berlin. Der Recruiter tippt „9:00 Uhr" in einen Date-Picker ein, trifft Speichern und geht zu Bett, das sich produktiv anfühlt. Der Kandidat in Berlin sieht „18:00 Uhr" — perfekt, Ende ihres Arbeitstages. Ihr Hiring-Manager, auf einem Zwischenstopp in Singapur, sieht „00:00 Uhr" — und geht davon aus, dass jemand einen Fehler gemacht hat.
Drei Menschen, ein Interview, drei Wanduhr-Zeiten. Wenn einer von ihnen mental falsch übersetzt, sitzt jemand allein in einem Video-Raum, während die anderen sich fragen, wohin sie gegangen sind.
Remote Hiring läuft täglich auf dieser Fehler-Linie. Bis heute tat ClarityHire, was die meisten Planungs-Tools tun: die Zeit speichern und jedem Zuschauer Browser sie in ihre lokale Zone konvertieren lassen. Das funktioniert — bis es nicht mehr funktioniert. Der Moment, in dem ein Recruiter sagt „Ich sende dir den 9:00 Uhr Pazifik-Slot", aber die E-Mail zeigt „17:00 Uhr" einem Kandidaten in London, der auch reist, Mehrdeutigkeit gewinnt.
Diese Version behebt das. Interviews tragen jetzt eine explizite Zeitzone, die der Scheduler wählte, getrennt von jedes Zuschauers lokaler Zone. Wir rendern beide, Seite an Seite, sodass es genau eine Wanduhr-Zeit gibt, die „das Interview" darstellt — und eine zweite für „deine Zeit, falls du vergessen hast, dass du morgen fliegst."
Was sich unter der Haube änderte
Drei Änderungen, alle klein, alle es wert, richtig zu machen:
1. Wir speichern IANA-Zeitzonen, nicht Offsets. „America/Los_Angeles" überlebt einen Sommerzeit-Übergang. „UTC-8" nicht. Ein Interview, das im November für Januar geplant ist, würde sich um eine Stunde stillschweigend verschieben, wenn wir Offsets speichern würden. IANA-Namen stellen sicher, dass die Wanduhr-Zeit, die der Scheduler beabsichtigte, die Wanduhr-Zeit ist, die feuert, selbst über Sommerzeit-Grenzen.
2. Der Scheduler wählt eine Zeitzone explizit. Der Planungsdialog hat jetzt einen Zeitzone-Selector, der auf die Browser-Zone des Schedulers standardmäßig ist, aber überschrieben werden kann. Wenn du ein US-Recruiter planst im Namen eines europäischen Hiring-Managers, der gerne in CET plant, kannst du — und die Kandidaten-Einladung zeigt CET als kanonische Zone mit ihrer eigenen Zone als Höflichkeits-Übersetzung.
3. Wanduhr + Zone, nicht nur ein Moment. Das datetime-local-Input stellt dar, was ein Mensch tippte. Wir konvertieren dann diese Wanduhr-Zeit zu UTC mit der gewählten Zeitzone — nicht die Browser. Das ist der subtile Bug, den die meisten Kalender-Tools haben: Sie behandeln das Input als Browser-lokal selbst wenn das Dropdown sagt „Berlin." Wir nutzen Intl.DateTimeFormat, um den tatsächlichen Offset der gewählten Zone bei diesem Wanduhr-Moment zu berechnen und wenden ihn an. Keine moment-timezone, keine extra Abhängigkeit — nur ein paar Zeilen sorgfältig getesteter Code.
Was du in der Benutzeroberfläche siehst
Der Planungsdialog gewann ein Globe-Symbol und einen Zeitzone-Selector mit einer kuratierten Liste gemeinsamer Zonen. Wenn deine Browser-Zeitzone nicht auf der Liste ist (wir sehen dich, Pacific/Pitcairn), wird sie automatisch vorangestellt. Sobald du Datum, Uhrzeit und Zone wählst, zeigt eine kleine Vorschau, wie die Zeit in deiner lokalen Zone aussieht — nützlich, wenn du in Zeit eines Kollegen planst und sanity-checkst, dass du sie nicht in einen 3 Uhr Call packst.
Auf der Interview-Details-Seite werden geplante Zeiten jetzt in der kanonischen Zeitzone mit einem „Deine Zeit"-Fußnote gerendert, wenn die Zone des Zuschauers unterschiedlich ist. Kandidaten-Zeitplan tun dasselbe. Die Datums-Filter und Analytics-Abfragen funktionieren weiterhin in UTC unter der Haube, sodass die Berichterstattung unabhängig davon korrekt bleibt, wo die Zeilen eingegeben wurden.
Was E-Mail-Empfänger sehen
Interview-Einladungen — eine der höchsten-Satz-E-Mails, die wir senden — zeigen jetzt die Interview-Zeit in der Zeitzone, die der Scheduler wählte, mit dem Zeitzone-Kürzel direkt daneben („9:00 Uhr PDT"). Keine mehr Hand-Typ „(Pazifik)" in die Kalender-Event-Beschreibung und Beten, dass die E-Mail-App des Kandidaten den Zeitzone-Hinweis in der .ics-Datei respektiert. Die Wanduhr-Zeichenkette in der E-Mail ist die Wanduhr-Zeichenkette, die autoritativ ist.
Eine Anmerkung zu Kalender-Einladungen
Für .ics-Kalender-Anhänge sind IANA-Zeitzone-Namen das Richtige zum Einbetten. Wir tun das. Outlook, Google Calendar und Apple Calendar alle interpretieren IANA-Zonen korrekt. Wenn eine Kandidaten-Kalender-App etwas Exotisches tut, die E-Mail-Body trägt immer noch die kanonische „9:00 Uhr PDT"-Zeichenkette als Backup — weil Gurt und Hosenträger die angemessene Körperhaltung ist, wenn ein Interview-Slot auf der Linie ist.
Migration
Bestehende Interviews haben eine null-Zeitzone. Sie rendern die gleiche wie davor — Zuschauer-lokale Zeit, keine Zone-Label — sodass nichts bricht. Jedes Interview, das ab sofort geplant oder umgeplant wird, nimmt eine explizite Zeitzone auf. Mit der Zeit schließt sich die historische Lücke natürlich; wir haben nicht Bulk-Backfill, da die Vermutung der ursprünglichen Scheduler-beabsichtigten Zone nach dem Fakt genau die Art von selbstbewusst-aber-falsch Umzug ist, den diese ganze Feature verhindern soll.
Warum dies über Interviews hinaus zählt
Das gleiche Problem zeigt sich in Frist-Erinnerungen („vervollständigen bis 23:59 Uhr" — wessen 23:59?), Test-Fenster und SLA-Timer. Wir beginnen mit Interviews, da dies, wo Mehrdeutigkeit die meisten Kosten: ein verpasster Test-Frist kann neu-erweitert werden; ein verpasstes Interview bedeutet, der Kandidat fragt sich, ob du dein Handwerk zusammen hast. Vertrauen ist schwer zu renovieren und leicht zu verbringen. Also verbrachten wir die Engineering-Stunden, wo das Vertrauens-Budget am dünnsten ist.
Wenn du je eine „es tut mir leid, ich glaube, ich hatte die falsche Zeitzone" Slack-Nachricht um 9:01 Uhr senden musstest, das ist für dich.