Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

I nostri recruiter ora rilasciano software

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

By Vadim SoloveyJul 28, 20268 min read
Vadim Solovey

About Vadim Solovey

Founded DoiT in 2011 and have been here ever since — in every flavor of CTO, co-CEO, and now CEO. I started my career in 1999 building data centers before anyone called it "the cloud," and I've spent the two decades since trying to deliver on what the cloud was actually supposed to be. I still write code most weeks.

My personal page

Un anno fa, careers.doit.com era una pagina HubSpot con filtri che non funzionavano. Cliccando sulla categoria "Customer Experience" si vedeva forse un terzo delle posizioni aperte, perché in Greenhouse le offerte sono taggate con i dipartimenti figli e il sito non risaliva mai la gerarchia. Le candidature passavano per un iframe incorporato che sembrava progettato nel 2014, perché lo era davvero.

Oggi lo stesso team che prima apriva ticket su quella pagina gestisce un'applicazione Next.js in produzione su Google Cloud Run. Alimenta il sito carriere pubblico e, dietro login, ospita un generatore AI di job description, un tool di sourcing dei candidati, uno screener delle candidature, un workflow di revisione retributiva con approvazioni, un editor blog per le storie dei dipendenti e un bot Slack che annuncia le nuove posizioni. Il team di talent acquisition non ha ingaggiato un'agenzia. Non è rimasto in coda nel backlog di engineering. Ha costruito tutto da sé, con un solo engineer e tanto Claude.

Voglio raccontarvi come funziona, perché credo che il modello sia replicabile e che la maggior parte delle aziende lo stia complicando troppo.

PerfectScale™ for Kubernetes

Ready to optimize?

Get your free Kubernetes savings analysis

L'Applied AI engineer

Il cuore di tutto è un ruolo che chiamiamo Applied AI engineer. È un software engineer il cui lavoro a tempo pieno è essere embedded in un singolo team di business. Non un consulente che raccoglie i requisiti e sparisce per un trimestre, né un platform team che costruisce "AI enablement" per tutti e per nessuno. Un engineer, un team (nel nostro caso il team People Ops), che siede alle loro riunioni e ne vive le frustrazioni.

Il nostro team di talent acquisition, che fa parte dell'organizzazione People, ne ha ricevuto uno. Il mandato dell'engineer era semplice: automatizzare ciò che è noioso, costruire ciò che manca e insegnare al team a fare, col tempo, sempre più cose in autonomia.

Quest'ultima parte è la più importante. Misuriamo l'engineer in base a quanto il team riesce a rilasciare senza di lui, non in base al suo output personale.

Le spec si sono rivelate il vero lavoro

Il rifacimento del sito carriere è partito da un documento, non dal codice. Abbiamo scritto una lunga spec in markdown che descriveva tutto: la gerarchia dei dipartimenti di Greenhouse ed esattamente come i filtri devono percorrerla, i campi del modulo di candidatura, i redirect dai vecchi URL, il livello di accessibilità richiesto, persino gli errori del vecchio sito da non ripetere. Quel file è finito nel repository come CLAUDE.md, e Claude Code ha costruito il sito su quella base.

Quello che non mi aspettavo è che i recruiter potessero leggere la spec. L'hanno corretta. "Il colloquio con il recruiter dura 30 minuti, non 45." "Le offerte vengono taggate con il dipartimento figlio, ecco perché i filtri si rompono." Conoscenza di dominio che normalmente si perderebbe in un gioco del telefono senza fili tra un PM e un fornitore esterno è finita dritta nella source of truth.

Ora scriviamo una spec del genere per ogni tool interno. La spec del JD Builder è lunga circa dieci pagine e include i prompt esatti, la griglia di valutazione e le domande aperte per gli stakeholder. Scriverla ha richiesto giorni. Il tool funzionante ha richiesto meno tempo della spec. Quel rapporto mi sembra ancora strano, e ho smesso di aspettarmi che si inverta.

Cosa hanno costruito davvero

Il sito pubblico è la parte visibile: un modulo di candidatura custom che dialoga direttamente con l'API di Greenhouse, una mappa delle assunzioni, gli alert sulle posizioni, SEO e AEO fatti come si deve e un'email di conferma brandizzata nel momento stesso in cui ci si candida. Bello, ma è il minimo sindacale.

Sono i tool interni ad aver cambiato davvero la settimana del team:

JD Builder. Chiunque in DoiT può generare o riscrivere una job description. L'AI la scrive con la nostra voce e, mentre la si modifica, l'AI rivaluta la bozza circa ogni secondo su cinque dimensioni: inclusione, tono, completezza, leggibilità e se un candidato forte si fermerebbe davvero a leggerla. Si importa una posizione aperta da Greenhouse, la si sistema, la si ripubblica. L'obiettivo che ci siamo dati: da "mi serve una JD" alla pubblicazione in meno di 15 minuti, con un punteggio di inclusione di almeno 85. Gli hiring manager hanno smesso di mandare bozze al team TA perché le riscrivesse. Fanno da soli.

JD Builder

Il nostro sistema interno per la creazione di job description

Candidate Sourcing. Un recruiter seleziona una posizione aperta e il tool legge la job description, fa scrivere all'AI una query di ricerca con relativi criteri di verifica e li passa a un'API di web research che trova circa 250 persone corrispondenti e ne recupera le email professionali. I criteri codificano quello che abbiamo imparato su chi prospera da noi, come i candidati provenienti da aziende che vendono a team platform e DevOps. L'outreach avviene dalla stessa schermata, via LinkedIn ed email, con lead contrassegnati con una stella, note e tracciamento dei contatti. I sourcer hanno smesso di destreggiarsi tra schede del browser e fogli di calcolo.

Candidate Sourcing

L'interfaccia di candidate sourcing

Candidate Screener. Il volume è il punto in cui l'hiring mette in crisi gli esseri umani, quindi questo è il tool che conta di più. Una posizione recente ha attirato circa 2.200 candidature; i filtri nativi di Greenhouse le hanno ridotte a circa 1.100 candidati attivi. Lo screener ha estratto da Greenhouse il CV, le risposte di screening e il profilo di ciascuno e ha fatto assegnare all'AI un punteggio rispetto a otto tratti universali più i requisiti specifici del ruolo. Ogni candidato riceve una valutazione scritta, e intendo proprio ognuno: un riepilogo, i punti di forza con evidenze citate dal CV, i dubbi da approfondire in un colloquio e i punteggi per tratto, con un link al suo profilo Greenhouse. Abbiamo fissato la soglia a 96 e siamo arrivati a 61 candidati forti. È una shortlist che un hiring team può davvero sedersi a esaminare insieme, ed esportare in CSV quando lo fa. Il ruolo su cui l'abbiamo usato? Il nostro prossimo Applied AI engineer. Ci è sembrato calzante.

Candidate Screener

Lo screening dei candidati con il classificatore AI

Comp Review. Quando un Doer si candida a una posizione interna in Greenhouse, un webhook prepara la bozza della revisione retributiva prima ancora che qualcuno la chieda: stipendio attuale, bonus, equity e storico delle promozioni dall'API di Rippling (il nostro sistema HR), più una fascia salariale calcolata sui pari livello nello stesso ruolo e nella stessa regione. Poi notifica su Slack il recruiter, il manager, lo skip-level, l'HRBP e il responsabile di dipartimento. Quella che prima era una settimana di archeologia tra fogli di calcolo e rincorse via email è ora un flusso di approvazione con promemoria.

Comp Review

Il sistema di revisione retributiva

Annunci su Slack. Le nuove posizioni vengono pubblicate su Slack nel momento in cui si aprono, con recruiter e hiring manager taggati e la scadenza per le candidature interne indicata. I Doer vengono a conoscenza delle nuove posizioni immediatamente e possono valutare la mobilità interna se in linea con le loro aspirazioni di carriera.

Slack announcements

Le notifiche interne su Slack

Nessuno di questi tool, da solo, avrebbe meritato spazio nella roadmap di engineering. Insieme hanno cambiato il modo di lavorare del team.

Your cloud bill shouldn't be a mystery

Optimization, automation, expertise. In one platform.

La parte che merita cautela

Lo screening è il terreno più delicato su cui abbiamo puntato l'AI, e voglio essere onesto su entrambi i lati della questione.

Gli argomenti a favore sono forti. Lo screener legge il candidato numero 1.100 con la stessa attenzione e gli stessi criteri del candidato numero 1. Gli esseri umani non possono farlo. Ci stanchiamo, ci ancoriamo all'ultimo CV letto e, a fine pomeriggio, finiamo per cercare pattern nelle cose sbagliate. Una persona sepolta alla posizione 900 della pila riceve dalla macchina una lettura equa che non avrebbe mai ottenuto da un revisore esausto. Sono un forte sostenitore dell'AI proprio in questo punto.

Ma l'AI porta con sé i propri bias, e un bias sistematico applicato a 1.100 persone in un colpo solo è un problema di natura diversa rispetto a quello incostante di un essere umano. Per questo lo screener produce una shortlist e una lista di dubbi da approfondire; ogni decisione successiva la prendono le persone. E prima che questo passi da esperimento a strumento interno consolidato, dobbiamo a noi stessi un confronto aperto su equità, trasparenza e guardrail. Quel confronto lo stiamo avendo adesso, apertamente, e incoraggerei qualsiasi azienda che segue questa strada ad averlo prima che il tool funzioni così bene che nessuno abbia più voglia di farlo.

Cosa direi a un altro CEO

Partite da qualcosa di rotto, non da una strategia AI. Non ci siamo prefissati di "adottare l'AI nelle HR". Ci siamo prefissati di sistemare un sito carriere con i filtri rotti. Il resto è cresciuto da lì, una frustrazione alla volta.

Un solo repository, infrastruttura condivisa. Ogni tool vive nel repository del sito carriere e riutilizza la stessa integrazione con Greenhouse e Rippling e la stessa autenticazione. Il secondo tool ha richiesto una frazione dello sforzo del primo. Il quinto è stato quasi gratis.

I non-engineer valutano i risultati, non il codice. I nostri recruiter non sanno leggere TypeScript e non ne hanno bisogno. Sanno dire in pochi secondi se una JD generata suona come noi, e la dashboard di qualità dà loro un linguaggio condiviso per capire cosa non va. Fidatevi dell'esperto di dominio per giudicare l'output, e lasciate che del diff si occupino l'agente e l'engineer.

I costi sono noiosi. Un modello veloce ed economico per lo scoring in tempo reale, un modello potente per la generazione, un container che scala a zero quando nessuno assume alle 3 di notte. Non è una voce di spesa rilevante. La parte costosa è lo stipendio dell'engineer, e il punto è proprio questo: un solo engineer per team.

La verità poco glamour è che la maggior parte del valore è arrivata da una persona a cui la cosa stava a cuore, a stretto contatto con il lavoro, con un coding agent che ha eliminato la scusa del "non abbiamo capacità di engineering". Quella combinazione è oggi alla portata di quasi qualsiasi azienda.

E se un'azienda in cui i recruiter rilasciano software in produzione e il CEO scrive le spec vi sembra il posto che fa per voi, il sito carriere costruito dal team è su careers.doit.com. Adesso i filtri funzionano; ho controllato.