Hvad en ATS-parser reelt gør ved din CV-fil

Dit CV er et layout. Systemet, der modtager det, vil have en databaserække. Alt på denne side sker i kløften mellem de to ting. En parser åbner din fil, hiver én lineær tekststrøm ud af den og prøver så at regne ud, hvilken del af strømmen der er dit navn, hvilken der er en arbejdsgiver, hvilken der er en titel, hvilke der er datoer, og hvilke der er kompetencer. Det, hvis betydning ligger i den visuelle placering frem for i tekstens rækkefølge, kan blive byttet rundt, limet fast i det forkerte felt eller falde helt ud, før et menneske overhovedet åbner det. Det vigtigste først: intet af det er din fejl. "Vi kunne ikke læse din fil" er en rapport om software, ikke en dom over din karriere.

"Vi kunne ikke læse din fil", og hvad den sætning faktisk rapporterer

Du bruger en aften på dit CV. Det er rent, det fylder to sider, luften sidder rigtigt, og for én gangs skyld er du en smule stolt af det. Du uploader det, og enten sker der ingenting i tre uger, eller også kommer der en linje tilbage om, at filen ikke kunne læses. Ingen diagnose, intet markeret afsnit, ingen antydning af hvilken del der faldt. Den stilhed er hele problemet, for det, der gik galt, er fuldt ud til at vide, og ingen fortæller dig det.

En parser læser ikke dit CV, som du ser det. Den trækker en lineær tekststrøm ud af filen og forsøger at placere den i databasefelter, så alt, hvis betydning ligger i opsætningen frem for i tekstens rækkefølge, kan blive byttet rundt, slået sammen med nabofeltet eller falde ud.

Selve fejlbeskeden er smallere, end folk tror. Den dækker en kort liste af årsager, alle i selve filen: en scannet eller billedbaseret PDF med et tomt tekstlag, et dokument der er kodeordsbeskyttet eller spærret for kopiering, en fil hvis filendelse ikke passer til indholdet, eller noget uploadformularen simpelthen ikke tager imod. Det er en læsefejl på byteniveau. Den har ikke set på din erfaring og fundet den for tynd.

En grænsedragning, før vi går videre, for to forskellige spørgsmål blandes hele tiden sammen. Denne side handler om, hvordan selve filen går i stykker på vejen ind. Om et automatisk system derefter sorterer dig fra på indholdet, er en anden diskussion, og den tog jeg i teksten om, hvorvidt et ATS afviser CV'er automatisk. Jeg gentager den ikke her.

Og indrømmelsen, med det samme frem for begravet til sidst, for det er den stærkeste indvending mod hele siden. Du burde ikke skulle designe dit CV omkring software, der ikke kan finde ud af to spalter. Det er et teknisk svigt hos leverandøren, ikke hos ansøgeren. Den, der mistede en samtale til en fejl i læserækkefølgen, gjorde intet forkert, og ingen burde skulle lære dokumentformaternes indmad for at søge job. Jeg skriver siden alligevel, af én snæver grund: at vide koster dig ingenting, og afslagsmailen kommer aldrig til at fortælle det.

Dit CV er et billede. Parseren vil have en databaserække.

En PDF gemmer tegn på koordinater, ikke struktur. Den ene sætning forklarer det meste af det følgende, så her er, hvad den betyder i klar tale. En PDF-side er et sæt tegneinstruktioner: sæt dette tegn, i denne skrift, på denne x- og y-position. Den siger ikke "dette er en overskrift", "dette er en tabelcelle", "denne blok er sidespalten". Medmindre filen bærer et tilgængelighedstræ, hvilket de fleste CV'er eksporteret fra et designværktøj ikke gør, findes den information kun i dine øjne.

Altså må udtrækkeren rekonstruere den ved at gætte. Den samler tegn til ord ved at se på mellemrummene, ord til linjer ved deres fælles grundlinje, og linjer til blokke ved nærhed. Hvert af de trin er et gæt, der rammer rigtigt det meste af tiden. Hver fejl længere nede på denne side er et af de gæt, der kører af sporet på et layout, som gjorde gættet svært.

En DOCX er et andet dyr. Under overfladen er den en zip med XML, hvor et afsnit er et afsnitselement, en tabel er et tabelelement, og en overskrift bærer et navngivet format. Strukturen står skrevet frem for at blive gættet. Det betyder ikke, at du altid skal sende Word. Mange parsere klarer PDF helt fint, en PDF ser ens ud på enhver maskine, og en del arbejdsgivere tager kun imod det ene format. Følg altid opslagets instruktion først. Det, der er sandt, er smallere: en DOCX rækker parseren struktur, den ellers skulle gætte sig til.

Den anden halvdel af arbejdet er kortlægningen. Når der er en tekststrøm, prøver systemet at udfylde felter. Det er dem, der tæller, og hver fejl nedenfor er en fejl i et af dem.

  • Navn
  • Kontaktoplysninger: mail, telefon, by
  • Arbejdsgiver, per rolle
  • Titel, per rolle
  • Startdato og slutdato, per rolle
  • Kompetencer
  • Uddannelse

Du har allerede set resultatet af den kortlægning, uden at nogen fortalte dig, at det var det, du så. Når en ansøgningsformular tvinger dig til at uploade filen og derefter skrive de samme tre job ind i felter, er de felter, der kom forudfyldt, kortlægningen der viser sit arbejde, og dem der kom forkert, er den der fejler lige foran dig. Om det trin betyder, at et menneske kontrollerer noget, er et andet spørgsmål, og det svarede jeg på i teksten om at uploade CV'et og alligevel udfylde formularen.

"Sidespalten bliver læst ind midt i din erhvervserfaring"

Den linje stammer fra en person på r/resumes, der oplyste at vedkommende tolker CV'er professionelt og beskrev, hvad der brød sammen i et udsnit på 3.835 filer, som vedkommende havde kørt igennem. Jeg vender tilbage til, hvor meget det tal kan bære. Selve sætningen kræver intet udsnit for at holde, for den følger direkte af, hvordan læserækkefølgen rekonstrueres, og den er den dyreste fejl på hele siden.

Forestil dig det layout, næsten enhver moderne skabelon leverer: en smal venstrespalte med kompetencer og sprog, en bred højrespalte med din erhvervserfaring. På skærmen er de to spalter tydeligt adskilt. I filen er de bare tegn på koordinater, og tegnene i venstrespalten ligger på de samme vandrette grundlinjer som tegnene i højrespalten. En udtrækker, der grupperer linjevis i stedet for først at finde spaltegrænsen, sender dem ud sammen.

På siden, to spalter ved siden af hinanden KOMPETENCER ERFARING Python Business Controller SQL Acme A/S · jan 2021 - mar 2024 Power BI Analytiker Tysk Beta Group · aug 2018 - dec 2020 En tekststrøm, en linjevis udtrækker kan producere KOMPETENCER ERFARING Python Business Controller SQL Acme A/S · jan 2021 - mar 2024 Power BI Analytiker Tysk Beta Group · aug 2018 - dec 2020

Læs den anden blok, som en maskine ville gøre. Linjen, der skulle bære din titel, lyder nu "Python Business Controller". Et feltsystem, der leder efter en titel på den linje, får en titel med et programmeringssprog svejset fast foran. Dine kompetencer er ikke længere en liste, de er første ord på fire urelaterede linjer. Og hvis udtrækkeren i stedet grupperer blokvis og slipper sidespalten ind, hvor nærheden antyder, kan kompetencespalten lande mellem to job, så datoerne efter den sætter sig på den forkerte rolle. Det er mekanikken bag et CV, der viser de rigtige ti år på skærmen og de forkerte ti i databasen.

Sådan føles det

De læste mit CV og besluttede, at jeg ikke var god nok.

Sådan kan det være sket

En spaltegrænse blev aldrig fundet, så titelfeltet for din seneste rolle kom ind med en kompetence limet på foran og dine datoer sat på jobbet nedenunder.

Samme fil, samme erfaring, samme aften brugt på den. Kun den ene version fortæller dig, hvad du kan ændre.

Det ærlige forbehold: mange parsere finder spalterne helt korrekt, og jeg kan ikke sige på forhånd, hvilken der sidder i den anden ende af en given upload. Rådet er altså ikke "to spalter ødelægger dig". Det er smallere og lettere at forsvare. Et layout i én spalte fjerner tvetydigheden i stedet for at satse på, at den bliver løst pænt. Du mister intet, en rekrutteringsansvarlig værdsætter, for ingen er nogensinde blevet ansat på grund af en sidespalte.

Fladtrykte tabeller, kompetenceklumper og skade på tegnniveau

Den anden rapporterede fejl fra samme tråd var et kompetenceafsnit trykket fladt til én klump, og tabeller er som regel årsagen. En tabel giver læseren mening gennem gitteret: denne celle hører sammen med den der. I en udtrukket tekststrøm er cellegrænserne væk, og tilbage står en række ord i den rækkefølge, cellerne tilfældigvis blev gennemgået.

Hvad tabellen viser Excel Avanceret Python Mellem SQL Avanceret Hvad der kan komme ud Excel Avanceret Python Mellem SQL Avanceret

Hver parring er nu et gæt, og det bliver værre længere fremme. Kompetencematch fungerer typisk ved at lede efter kendte termer i teksten. En term, der er smeltet ind i en længere streng eller delt ved det, udtrækkeren tror er et linjeskift, kan simpelthen ikke findes. Du havde kompetencen på papiret. Opslaget så den ikke, og det bliver ikke rapporteret nogen steder.

Så er der tegnniveauet, den del næsten ingen skriver om. Egne punkttegn fra en ikonskrift kommer ofte ud som et ukendt tegn eller som ingenting. Ligaturer er det skarpeste eksempel, og det ved jeg på egen krop, fordi det kostede mig en uge i careerifys egen PDF-udtrækker. En ligatur er én glyf, der tegner to tegn på én gang, sådan som mange skrifter tegner fi som én form. I én udbredt Windows-skrift leverede vores udtrækker den glyf tilbage som et nultegn, så ordet kom ind med et hul midt i. På skærmen var CV'et fejlfrit. I tekststrømmen var et ord i stykker, og intet i filen sagde fra.

Næsten alt på denne side er usynligt fra din side. Filen ser rigtig ud, fordi du kigger på tegningen. Parseren kigger på instruktionerne.

De dele af dit CV, parseren måske aldrig ser

Læserækkefølge og tabeller roder rundt i det, der er der. Dette afsnit handler om indhold, der aldrig når tekststrømmen overhovedet, hvilket er værre, for et omrodet felt kan stadig findes af et menneske, der skimmer, og et manglende kan det ikke.

Det, der står på sidenDet, parseren fårDet, der fjerner tvetydigheden
Navn og kontaktoplysninger i sidehoved eller sidefodSidehoved og sidefod er et almindeligt frafald. De ligger uden for hovedtekstflowet, og nogle udtrækkere springer dem over med vilje, fordi de i andre dokumenttyper bare er gentagne møbler.Læg navn, mail og telefonnummer i brødteksten på første side, allerøverst.
Tekst inde i et logo, et ikon, et foto eller en niveauindikatorIngenting. Et billede er pixels. Der er ingen tekst at hente, og ingen parser får den ud uden tegngenkendelse, som de færreste kører.Skriv hver påstand som rigtig tekst. Niveaubjælker og stjerner bærer alligevel ingen kontrollerbar information.
En flydende tekstboks eller en tegnet figurDet afhænger helt af eksporten. Indholdet kan lande allerforrest, allerbagest eller ingen steder.Hold indholdet i almindelige afsnit i hovedflowet.
En overskrift som "Min rejse" eller "Hvor jeg har været"Afsnitsgenkendelse matcher mod forventede overskriftsord. En overskrift, den ikke kender, kan lade hele afsnittet nedenunder stå uklassificeret.Brug de almindelige ord: Erfaring, Uddannelse, Kompetencer. Vær original i sætningerne, ikke i etiketterne.
Datoer skrevet som 23 til 25, sommeren 2024, eller bare et årstalEt tvetydigt interval er sværere at sætte på den rigtige rolle, og en dato, parseren ikke kan opløse, kan sætte sig på naborollen i stedet.Skriv måned og fuldt årstal i samme format hver gang: jan 2023 - mar 2025.
En scannet side, en fotograferet side eller et CV eksporteret som billedeEt tomt tekstlag. Det efterlader udtrækkeren med ingenting overhovedet og er derfor det første, man udelukker, når en fil ikke kan læses.Eksportér altid fra originaldokumentet frem for at scanne eller skærmklippe det.
Seks steder, hvor et CV, der er korrekt på skærmen, ankommer ufuldstændigt. Ingen af dem er din fejl. De er følger af, hvordan formaterne virker.

Datoer fortjener en ekstra linje, for de er de mest stille af de seks. Din karrierehistorie er en række intervaller, og parseren skal finde ud af, hvor hvert interval begynder, hvor det slutter, og hvilken arbejdsgiver det hører til. Giv den en måned og et firecifret årstal, brug samme format for hver rolle og samme skilletegn hele vejen. Det lyder pertentligt. Det er det billigste greb på hele siden.

Spejlbilledet af det hele er tekst, der findes i filen, men er usynlig på siden, hvilket er præcis det, trickene med hvid tekst bygger på. Det er en dårlig idé af grunde, der intet har med tolkning at gøre, og dem gennemgik jeg i teksten om den usynlige prompt i CV'et. Alt, jeg anbefaler her, ændrer beholderen, aldrig påstandene.

Forskellige systemer, forskellige parsere, og hvor meget tallene kan bære

Workday, Greenhouse, Taleo og Lever er forskellige produkter med forskellige parsere, og her må jeg skuffe alle, der kom for en tabel over leverandøradfærd. Jeg kan ikke sige, hvad nogen af dem gør internt. Jeg har ikke testet dem, deres adfærd ændrer sig mellem versioner og mellem kunders opsætninger, og hver eneste selvsikre offentlige påstand om en bestemt leverandørs parser, jeg har fulgt op på, viste sig at mangle metode. Den, der sælger dig en regelbog per leverandør, gætter. Det, der trygt kan siges, er, hvad der gør dem til samme slags produkt: hver af dem skal lave en CV-fil om til en gemt post, altså trække tekst ud og placere den i felter. Hvor godt nogen af dem klarer de svære tilfælde ovenfor, kan jeg ikke sige.

Det er også det ærlige svar på "hvilket format er sikrest". Der findes intet format, ingen skabelon og intet layout, der garanterer en ren tolkning nogen steder. Der findes kun valg, som efterlader mindre at gætte om. Det giver jeg dig hellere end en regel, jeg ikke kan forsvare.

Så til tallet 3.835, håndteret med den omhu det kræver. Det er én person på Reddit, der beskriver sit eget oplyste udsnit, i en tråd hvor flere kommentatorer tvivlede på, at tallet var ægte. Jeg vasker det ikke om til "forskning viser", og jeg vil hellere have, at du afviser det helt, end at du stoler mere på det, end det kan bære. Læg mærke til, at intet i mekanikafsnittene ovenfor hænger på det. Læserækkefølge, fladtrykte tabeller, tomme tekstlag og ukendte overskrifter følger af, hvordan PDF og DOCX er bygget, og de ville være lige så sande, hvis tråden aldrig var blevet skrevet. Udsnittet fortæller dig, at fejlene er almindelige. Filformaterne fortæller dig hvorfor.

En ting mere, der er værd at sige frem for at skjule, for den forklarer, hvorfor situationen består. Fra arbejdsgiversiden bliver en screening, der taber nogle gode ansøgere, ofte behandlet som en acceptabel omkostning ved at håndtere mængden. Jeg bliver ikke forarget over det her; jeg siger det, fordi det stiller dine forventninger rigtigt. Løsningen kommer ikke fra leverandøren i tide til at hjælpe din næste ansøgning, og derfor skal den ske i din fil indtil videre.

Produktafsnittet, én gang, så du kan veje det mod alt ovenstående. careerify har et gratis tjek på linket nedenfor: ingen konto, intet kort, tre tjek per IP-adresse i døgnet. Det tolker din faktiske uploadede PDF eller DOCX på samme måde, som ethvert andet system ville være nødt til, sammenligner så det, det fik, med det opslag du indsætter, og viser hvilke af opslagets termer der kom igennem fra din fil, og hvilke der ikke gjorde. Det er et syn, ikke en reparation. Hvis en term, du ved står på side ét, kommer tilbage som manglende, har du fundet en af fejlene på denne side. Resten af det, careerify gør, at tilpasse et gemt master-CV til et bestemt opslag, er afgrænset af de fakta, du selv har indtastet, og kan ikke opfinde en rolle, en arbejdsgiver eller et tal, du ikke har givet det.

Det korte svar

Citerer du ét afsnit fra denne side, så citer dette:

En ATS-parser læser ikke dit CV, som du ser det. Den trækker en lineær tekststrøm ud af filen og forsøger så at placere den i databasefelter: navn, kontaktoplysninger, arbejdsgiver, titel, datoer, kompetencer. Alt, hvis betydning ligger i det visuelle layout frem for i tekstens rækkefølge, kan blive byttet rundt, slået sammen med nabofeltet eller falde ud, før et menneske åbner det. En sidespalte kan blive læst ind midt i erhvervserfaringen, så datoer sætter sig på den forkerte rolle. En kompetencetabel kan ankomme som én ubrudt streng. Et navn i et sidehoved kan blive overset helt. Tekst inde i et billede bliver ikke hentet, medmindre systemet kører tegngenkendelse, som de færreste gør. Adfærden varierer mellem leverandører og versioner, så intet format og ingen skabelon garanterer en ren tolkning. Ét spaltelayout, almindelige afsnitsoverskrifter og entydige datoer fjerner tvetydigheden i stedet for at reparere en garanteret fejl.

Spørgsmål, folk faktisk stiller om det her

Hvad gør en ATS-parser egentlig ved min CV-fil?

Den trækker en lineær tekststrøm ud af filen og forsøger så at placere den i databasefelter: navn, kontaktoplysninger, arbejdsgiver, titel, start- og slutdato, kompetencer, uddannelse. Betydning, der ligger i det visuelle layout frem for i tekstens rækkefølge, kan blive byttet rundt, slået sammen med nabofeltet eller gå tabt på vejen ind. Hver fejl, folk beskriver, fra en kompetenceliste der lander inde i et job til et manglende telefonnummer, er en af de feltplaceringer der kører af sporet.

Hvorfor fik jeg "vi kunne ikke læse din fil"?

Fordi udtrækkeren ikke fik brugbar tekst ud af filen. Det første, man udelukker, er en scannet eller billedbaseret PDF med et tomt tekstlag. Andre er et kodeordsbeskyttet eller kopispærret dokument, en fil hvis filendelse ikke passer til indholdet, eller et format uploaden ikke tager imod. Det er en læsefejl på filniveau. Intet i beskeden er en dom over din erfaring, og at eksportere på ny fra originaldokumentet løser det som regel.

Kan et ATS læse CV'er med to spalter?

Nogle parsere rekonstruerer spalterne korrekt, og nogle fletter dem sammen, hvilket er sådan en kompetenceliste i sidespalten ender inde i et job med forkerte datoer sat på. Adfærden varierer mellem leverandører og versioner, og du kan ikke se, hvilken der sidder i den anden ende af en upload. Én spalte reparerer altså ikke en garanteret fejl, den fjerner tvetydigheden. Det er en mindre påstand, end de fleste råd kommer med, og det er den, jeg kan forsvare.

PDF eller Word til et ATS?

En DOCX bærer skrevet struktur: afsnit, tabeller og overskrifter findes som navngivne objekter i opmærkningen. En PDF gemmer tegn på koordinater, så læserækkefølgen skal rekonstrueres ved at gætte. Det er en reel forskel, men den betyder ikke, at du altid skal sende Word. Mange parsere klarer PDF helt fint, en PDF ser ens ud på enhver maskine, og nogle arbejdsgivere tager kun imod det ene. Følg opslagets instruktion først. Er der ingen instruktion, og er dit layout kompliceret, efterlader DOCX mindre at gætte om.

Bliver mit navn og mine kontaktoplysninger i sidehovedet læst?

Nogle gange, og det er netop problemet. Sidehoved og sidefod ligger uden for hovedtekstflowet og er et almindeligt frafald, blandt andet fordi de i andre dokumenttyper er gentagne møbler, som udtrækkere er bygget til at springe over. Hvis dit navn, din mail og dit telefonnummer kun findes i sidehovedet, satser du dine kontaktoplysninger på den adfærd. Læg dem i brødteksten på første side i stedet. Det koster dig intet visuelt.

Hvordan kan jeg se, hvad en parser får ud af mit CV?

Gør det selv først, gratis: åbn dit CV, gem eller eksportér det som ren tekst, og læs resultatet. Alt, der overlever, er omtrent det, en udtrækker har at arbejde med, og rækkefølgen det står i, er den rækkefølge felterne gættes ud fra. At indsætte filen i en simpel teksteditor virker næsten lige så godt. Vil du derudover vide, om et bestemt opslags termer kom igennem, kører careerify et gratis tjek mod et jobopslag uden konto, tre tjek per IP-adresse i døgnet, og viser hvilke af opslagets termer det fandt i din fil, og hvilke det ikke fandt.

Læs videre

Vil du vide, om din fil klarede turen, så tag det opslag du var ved at søge på, og tjek hvilke af dets termer der kom igennem fra dit CV, og hvilke der ikke gjorde. Kommer noget, du ved står på side ét, tilbage som manglende, har du fundet en af fejlene på denne side. Ingen konto, tre tjek per IP-adresse i døgnet. Tjek dit CV mod et jobopslag.