Product Updates

Programare interviu aware fus orar: Logică și tool

ClarityHire Team(Editorial)4 min read

Problema "9:00 AM"

Imaginează asta: un recruiter în San Francisco programează interviu 9:00 AM cu candidat în Berlin. Recruiter-ul tipă „9:00 AM" în date picker, lovește save, și se-ntoarce la pat în loc productiv. Candidatul din Berlin vede „6:00 PM" — perfect, final zi munca. Hiring manager-ul lor, pe layover Singapore, vede „12:00 AM" — și presupune cineva greșit.

Trei oameni, un interviu, trei wall-clock timp-uri. Dacă vreunul din ei mental traduce greșit, cineva stă singur în cameră video în timp alții se-ntreabă unde s-au dus.

Hiring remote rulează pe linia asta de greșeală zilnic. Până azi, ClarityHire a făcut ce cel mai mare parte scheduling tool-i: depozitează timp și lasă fiecare viewer browser-ul translează zona locală. Asta lucra — până nu. Momentul o recruiter zice „Trimit zona 9:00 AM Pacific" dar email arată „5:00 PM" la candidat London care și deja călătorește, ambiguitate câștigă.

Releasul ăsta fixul. Interviuri acum poartă timezone explicit scheduler-ul ales, separat zona locală fiecare viewer. Renderez amândouă, side by side, così-i exact un wall-clock timp care reprezentă „interviu" — și unu doi pentru „timp tău, în caz ai uitat zboară mâine."

Ce s-a Schimbat Sub Capotă

Trei schimbări, toate mici, toate merit să faci corect:

1. Depozităm IANA timezone-uri, nu offset-uri. „America/Los_Angeles" supraviețuiesc tranzició daylight saving. „UTC-8" nu. Un interviu programat noiembrie pentru ianuarie silent ar schimba o oră dacă depozităm offset-uri. Nume IANA asigur wall-clock timp scheduler intenționat e wall-clock timp care focuri, chiar peste granițe DST.

2. Scheduler-ul aleagă timezone explicit. Dialog schedule acum e selector timezone că default-uri zona browser scheduler dar poate overridează. Dacă ești recruiter US programând pe loc hiring manager european cine-i place plan în CET, poți — și invit candidat va arăta CET ca zona canonical cu zona lor ca traducere courtesy.

3. Wall-clock + zonă, nu doar instant. Input datetime-local reprezentă ce uman tipă. Apoi convertim wall-clock timp UTC folosind timezone ales — nu browser. Asta-i subtle bug cea mai mare parte calendaring tool-i au: ei trată input ca browser-local chiar și cand dropdown zice „Berlin." Folosim Intl.DateTimeFormat compute actual offset zona ales la wall-clock instant aia și aplică. Nu moment-timezone, nu dependency extra — doar câteva rânduri code-ul careful-tested.

Ce Vezi Tu în UI

Dialog schedule a câștigat icon Globe și selector timezone cu listă curated zone obișnuite. Dacă timezone browser ta nu-i pe listă (vedem tu, Pacific/Pitcairn), prepend automatic. Imediat pick o dată, timp, și zonă, mic preview arată ce timp arată în zona locală ta — util când programezi timp coleg și vrei sanity-check nu-i pui 3 AM call.

Pe pagina detail interviu, programat timp-uri acum render zona canonical cu footnote „Timp tău" ori de câte ori viewer zonă diferă. Timeline-uri candidat fac la fel. Filtre dată și query-uri analytics continuu lucru UTC sub capotă, così reporting stă corect indiferent de unde rânduri au fost intrate.

Ce Văd Destinatari Email

Interview invit-uri — unu din email-uri highest-stakes trimitem — acum afișează interviu timp în timezone scheduler ales, cu abreviere timezone drept lângă („9:00 AM PDT"). Nu mai hand-type „(Pacific)" în descripție event calendar și rug client email candidat respectă hint timezone în fișier .ics. Wall-clock string în email-e wall-clock string-ul care-i authoritativ.

Notă pe Calendar Invit-uri

Pentru atașament calendar .ics, nume timezone IANA-s lucru corect embed. Asta facem. Outlook, Google Calendar, și Apple Calendar toți interpret zone IANA corect. Dacă app calendar candidat face ceva exotic, corp email încă poartă canonical „9:00 AM PDT" string ca backup — pentru că belt și suspender-i postură potrivită când slot interviu-i pe linie.

Migrare

Interviuri existent au null timezone. Ei render aceeași ca înainte — viewer-local timp, label nu zonă — così nimic se-ntrerupe. Orice interviu programat sau reschedule forward primește timezone explicit. În timp, decalaj historic se-nchide natural; nu bulk-backfill, pentru că ghici zona scheduler original intenționat după-i exact tip confident-but-wrong mutare featura asta complet meant previne.

De Ce Contează Asta Dincolo Interviuri

Aceeași problemă apare deadline reamintire („complet by 11:59 PM" — cine 11:59?), ferestre test, și timer-uri SLA. Începem cu interviuri pentru că aia-i unde ambiguitate cost-uri cea mai mult: deadline test missed poate re-extended; interviu missed înseamnă candidat întreb dacă ai act tău împreună. Trust-e greu rebuild și ușor cheltui. Così cheltuim ore engineering unde trust budget-ul-e cel mai subțire.

Dacă niciodată nu-ai trebui trimite „sos, cred am timezone greșit" Slack mesaj la 9:01 AM, ăstul-e pentru tine.

schedulinginterviewsremote hiringtimezonesproduct

Articole conexe