Stipendio, valuta e periodo sono l’unità più piccola di un record di retribuzione, ed è quasi sempre registrata in modo incompleto. Si annota un numero, la valuta viene lasciata al contesto e si presume che il periodo sia quello che il lettore si aspetta.
Ognuna di quelle omissioni è invisibile al momento dell’inserimento ed è costosa più tardi. Questo articolo illustra perché l’importo da solo non significa nulla, quale sia davvero la differenza tra pacchetto totale e cifra base, perché la valuta dovrebbe essere memorizzata come codice invece che come simbolo e cosa deve registrare una conversione per essere onesta.
Perché un numero senza valuta e periodo è inutile?
Perché può essere letto in più modi di quanti ne abbia per essere scritto. Una cifra di cinquanta può significare un importo mensile in una valuta, un importo annuale in un’altra e una tariffa giornaliera in una terza, e tutte e tre le letture sono coerenti con i dati così come memorizzati.
Il periodo è la parte che viene eliminata più spesso, perché il contesto la fornisce silenziosamente. La retribuzione è discussa annualmente in alcuni mercati, mensilmente in altri e a ore in altri ancora, e ognuna di quelle convenzioni presume se stessa. Quando un record esce dal contesto in cui è stato scritto — in un confronto, in un filtro, in un’esportazione — l’assunzione va con esso e non viene mai messa in dubbio.
Le due metà falliscono diversamente. Una valuta mancante rende l’importo ininterpretabile. Un periodo mancante lo rende mal scalato, e un importo mal scalato è più pericoloso di uno assente perché sembra una cifra reale e si ordina nel posto sbagliato. Un filtro che tratta una tariffa mensile come annuale escluderà esattamente i candidati che doveva includere, e nel farlo riporterà un risultato plausibile.
Qual è la differenza tra pacchetto totale e retribuzione base?
Sono grandezze diverse che condividono un nome nel linguaggio comune.
La retribuzione base è la cifra fissa scambiata con il lavoro, prima di qualunque componente variabile. Un pacchetto totale è la retribuzione base più tutto il resto che l’accordo include: componenti variabili, indennità, contributi versati per conto di chi la detiene e benefit il cui valore è reale ma non in denaro. Le due cifre possono differire sostanzialmente, e la differenza è una caratteristica dell’accordo più che un errore.
L’ambiguità conta perché la stessa parola viene usata per entrambe. Quando qualcuno dice quanto guadagna, può citare l’una o l’altra, e può non sapere quale. Un record che memorizza un’unica cifra sotto un’etichetta nuda non può quindi dire quale delle due rappresenti, e un confronto costruito su di esso confronta due grandezze diverse senza saperlo.
La correzione non è scegliere una convenzione e applicarla ovunque, perché nessuna delle due è più corretta. È etichettare quale grandezza venga registrata e, dove viene data una cifra totale, dire cosa include. Una scomposizione è più utile di un singolo numero, e i componenti di un pacchetto spesso non sono additivi nel modo in cui un lettore presumerà — alcuni sono condizionali, alcuni sono limitati e alcuni dipendono da fattori del tutto esterni all’accordo.
Perché usare un codice valuta invece di un simbolo?
Perché i simboli sono ambigui e i codici no.
L’ambiguità è ben nota e facile da sottovalutare. Lo stesso simbolo è usato da diverse valute, e un lettore lo risolve tramite un contesto che il record stesso non porta. Un simbolo può anche avere significati convenzionali diversi in regioni diverse, così che lo stesso glifo segnali cose diverse a due lettori dello stesso documento. E il simbolo generalmente non distingue tra la valuta come unità di conto e una sua variante locale, il che può contare.
Un codice identifica esattamente una valuta e lo fa senza contesto. Memorizzare il codice accanto alla forma visualizzata dà al lettore il glifo familiare e dà al sistema qualcosa di inequivocabile con cui calcolare e confrontare. Dove la fonte ha scritto un simbolo, il record dovrebbe risolverlo in un codice al momento dell’inserimento, mentre il contesto circostante è ancora disponibile per rendere corretta la risoluzione — più tardi, quel contesto è sparito.
C’è un’ulteriore distinzione che vale la pena di conservare dove la fonte la fa: se l’importo sia la valuta così come scritta o un equivalente convertito. Sono affermazioni diverse, e fonderle distrugge la capacità di distinguere una cifra citata da una calcolata.
Come dovrebbe essere registrata una conversione?
Con la data in cui è stata fatta, la fonte del tasso e la cifra originale conservata accanto a quella convertita.
Una conversione è un’operazione, non un fatto sul mondo. Ha preso due importi che erano uguali in un particolare momento e ha applicato un tasso che esisteva in un particolare momento. Senza il momento, la cifra convertita non può essere ricalcolata, controllata o invertita. Senza la fonte del tasso, un revisore non può capire se una differenza tra due cifre sia una differenza reale o una differenza tra due fornitori di tassi.
Ne derivano tre regole. Registra la data a cui si applicava il tasso, non la data in cui la conversione è stata eseguita. Conserva l’importo e la valuta originali nel record anche dopo la conversione, perché una conversione non conserva mai l’informazione. E non convertire mai per la memorizzazione in sostituzione del memorizzare la valuta — la conversione serve al confronto, e un record che conserva solo il valore convertito ha buttato via la cosa che stava confrontando.
Chi costruisce funzioni di confronto dovrebbe anche decidere cosa significhi un confronto. Confrontare importi convertiti è una comodità con un margine di errore, e trattarla come esatta produrrà differenze che sono artefatti del tasso e non della retribuzione.
L’informazione sulla retribuzione è una parte obbligatoria di un record?
Non dovrebbe esserlo. Nella maggior parte dei sistemi la retribuzione è opzionale, e in molti è abbastanza sensibile che trattarla come opzionale è un requisito più che una preferenza.
Ci sono buone ragioni per tenerla fuori da ogni flusso di lavoro che non ne ha bisogno. La retribuzione è spesso il campo più sensibile di un record di carriera, è il campo più probabilmente omesso di proposito, e un sistema che la richiede raccoglierà valori inaccurati invece che completi. Richiedere un campo che le persone si rifiutano di compilare produce in modo affidabile dati segnaposto, e i dati segnaposto in un campo di retribuzione sono peggiori di uno vuoto perché sono indistinguibili da una risposta reale.
Il progetto pratico è mantenere il campo opzionale, mantenerlo etichettato con entrambe le metà del suo significato e mantenere piccolo il numero di posti in cui viene visualizzato. Dove la retribuzione è mostrata, dovrebbe essere mostrata con la sua valuta, il suo periodo e, dove è stata convertita, il fatto che lo sia stata.
Per gli sviluppatori: campi di retribuzione e valori predefiniti sicuri
Memorizza l’importo, il codice valuta e il periodo come tre campi senza alcun valore predefinito per nessuno di essi. Una valuta predefinita è peggiore di nessuna valuta, perché è silenziosamente corretta abbastanza spesso da essere creduta e sbagliata esattamente quando conta.
Quattro dettagli prevengono la maggior parte degli errori a valle. Rendi il periodo un insieme enumerato di valori invece che testo libero, poiché un periodo che può essere scritto in sei modi non può essere confrontato con se stesso. Mantieni l’etichetta che distingue una cifra base da un pacchetto totale, e rifiutati di accettare un totale senza sapere cosa contiene. Tieni separati importi originali e convertiti, con i metadati del tasso allegati alla conversione invece che all’importo. E tratta l’intero gruppo come opzionale, così che un record senza informazioni sulla retribuzione sia un record completo.
Per i dati di test, i casi che vale la pena di generare sono quelli che catturano un confronto distratto: lo stesso importo in due valute, una cifra mensile accanto a una annuale, un valore convertito di cui è stato conservato l’originale e un record in cui la sezione della retribuzione è del tutto assente.
I casi che vale la pena di generare per i dati di test:
- lo stesso importo in due valute
- una cifra mensile accanto a una annuale
- un valore convertito di cui è stato conservato l’originale
- un record in cui la sezione della retribuzione è del tutto assente Tutti gli importi, le valute e i periodi che compaiono nei record campione su questo sito sono valori dimostrativi scelti per esercitare questi casi, e non descrivono alcun accordo reale.
Prossimi passi
Verifica un confronto nel tuo prodotto e conta quanti degli importi che confronta abbiano registrati sia un codice valuta sia un periodo. Il numero è di solito più basso del previsto. I rami del modulo in cui compare un campo di retribuzione sono trattati nei casi di test dei moduli di assunzione, e la questione più ampia di come venga assemblato un record di carriera è esposta nei dati di test del profilo professionale. Lo strumento per i profili professionali genera record i cui campi di retribuzione possono essere lasciati vuoti, che è il caso che la maggior parte dei sistemi non testa mai.