Helpt een slimmer CV?


Een goede indruk maken op potentiële werkgevers of opdrachtgevers is essentieel als je een nieuwe baan of opdracht zoekt. Daarvoor heb je een CV nodig dat aansluit bij je doel en je kwaliteiten laat zien. Maar hoe houd je je CV up-to-date en relevant voor elke sollicitatie? Een zoektocht naar een praktische oplossing.

De missie: een systeem dat helpt bij het zoeken van passend werk

Ik ben een software engineer en een sociaal betrokken persoon. Ik probeer op mijn eigen manier een positieve bijdrage te leveren aan mijn leefomgeving en tegelijkertijd mijn gezin te onderhouden. Momenteel werk ik aan een systeem dat mensen helpt bij het vinden van een geschikte baan of opdracht. Ik onderzoek het probleem, denk er diep over na, lees veel wetenschappelijke papers en ontwikkel het systeem vanaf de grondprincipes. Ik geef de voorkeur aan het gebruik van mijn eigen ervaring in plaats van AI. Niet dat ik tegen AI ben, maar ik zoek naar een systeem waarvan de beslissingen goed te begrijpen zijn.

De huidige jobmatch systemen zijn voornamelijk gericht op bedrijven en de werkzoekende speelt daarin slechts een passieve rol. Deze systemen maken veel gebruik van AI en Machine Learning technologie om een baan te matchen met een CV. Hoewel deze techniek effectief kan zijn voor het snel uitselecteren van kandidaten, geeft het geen informatie hoe de keuze tot stand is gekomen.

Werkzoekenden willen graag weten of ze wel of niet passen bij een bepaalde baan en wat ze daar eventueel aan kunnen verbeteren. Misschien ben je iets vergeten te vermelden, heb je wel de ervaring maar heb je die net anders beschreven of kan je jezelf bijscholen om beter aan te sluiten bij de functie-eisen.

Waar ik aan werk: Ik wil het proces omdraaien en dus uitgaan van het zoeken naar een goede baan/opdracht/werkgever. Ik denk dat werkzoekenden behoefte hebben aan een systeem dat specifiek ontworpen is om hen te helpen bij het zoeken van een passende baan/opdracht. Het ontwikkelen van een degelijk systeem is mijn doel. Het is ambitieus, maar ik zie het dan ook als een uitdaging. Stap voor stap zoek ik naar oplossingen om de functionaliteiten te verbeteren en het geheel te optimaliseren. En al doende leer ik nieuwe technieken en verbeter ik mijn CV. Ik ben ervan overtuigd dat dit systeem werkzoekenden zal helpen bij het vinden van hun droombaan.

Ik ben realistisch genoeg om te beseffen dat ik mijn doel waarschijnlijk niet voor de volle 100% zal bereiken. Maar alles wat ik kan bereiken is winst.

De uitdaging hoe houd je je CV up-to-date

Ik werk als software engineer en word vanuit mijn werkgever gedetacheerd bij klanten. Zo heb op dit moment zelf de behoefte aan een systeem om snel een goed CV te maken dat is toegeschreven naar een opdracht.

Een tekstverwerker in Word is een veelgebruikt hulpmiddel om een CV te maken, maar het heeft ook nadelen. Je moet je CV namelijk steeds aanpassen aan verschillende situaties, zoals:

  • Een nieuwe werkgever of opdrachtgever
  • Een nieuwe opdracht of vacature
  • Een andere taal of terminologie
  • Een andere vorm of structuur

Dit kost veel tijd, vooral als je meerdere versies van je CV op korte termijn moet opleveren onder tijdsdruk. Ik werk als software engineer en zag hier een nieuwe uitdaging met praktische toepassingen. Daarom ben ik een web applicatie aan het ontwikkelen waarmee ik mijn CV snel en gemakkelijk kan aanpassen aan elke eis of wens. Zo kan ik altijd mijn beste kant laten zien. De applicatie heeft ook extra functies, zoals ondersteuning bij het zoeken naar geschikte jobs, het vergelijken van mijn CV met de gevraagde skills en het identificeren van de skillgap.

Mijn eerste doel is een goed CV maken dat je kennis en ervaring laat zien en aansluit bij de gewenste job, opdracht of taak.

Hoe ontleed ik mijn CV, zet deze om in een model en genereer daarmee een aangepast CV:

  1. Ontwerp een logisch datamodel (opleiding, werkgevers, werk ervaring, projecten, rollen, hard en soft skills). Denk na over de structuur voor een kennis model (rollen, skills)
  2. Selecteer een database (relationeel of graph), ontwerp het physiek database model en laad de data in. De gestructureerde data kan nu gebruikt worden voor analyses en rapportages.
  3. Ontwerp een template (Word document, een web pagina).
  4. Genereer een CV met de template en de data uit de database. Rekening houdend met de eisen en wensen van de job, opdracht of taak waar je op solliciteert.

Stap voor stap vooruit

Een eerste versie ontwikkelde ik op basis van een Excel spreadsheet. Zo kreeg ik snel een prototype, de resultaten waren bemoedigend maar de mogelijkheden beperkt. Zo werkt het alleen op mijn laptop en ik wil deze applicatie uiteindelijk ook door anderen laten gebruiken. Dus ik zocht naar een web oplossing.

Voor het eerste prototype maakte ik gebruik van Streamlit een web applicatie voor snelle prototyping. Deze applicatie richt zich op het volgende:

  • Inladen van je CV (vanuit een spreadsheet)
  • CV koppelen aan een knowledge base met 1000 skills
  • Een potentiele job/opdracht analyseren
  • De match bepalen
  • Een passend CV genereren

De volgende screenshots geven het proces in het kort weer (klik op de afbeelding):

Het meest bijzondere deel is de analyse van de job beschrijving waarbij de skills ge-highlight worden in de tekst op basis van een kennisboom. Een stukje waar ik bijzonder trots op ben omdat ik eigenlijk geen userinterface ervaring heb maar toch snel leer.

Na deze experimenten ben ik begonnen het geheel om te zetten naar een “echte” web applicatie. Een systeem dat ondersteuning bied aan meerdere gebruikers, met een goede beveiliging en een degelijke database. Ik heb gekozen voor Python / Django, dit open source web framework word veel gebruikt, is betrouwbaar, veilig en goed onderhouden.

Deze applicatie is opgezet met een dashboard styling en een logische workflow. Zo krijg je dagelijks nieuwe opportunities voorgeschoteld die worden verzameld uit diverse portals of die je zelf toevoegd. Je doet hierop een eerste snelle selectie en maakt zo de “Work in Progress” shortlist. Vandaar ga je een tandje dieper in de analyse of deze job bij jouw past. Zo houd je een beter overzicht over de voortgang van je solicitatie / werkzoek activiteiten. Ik werk nu aan het verbeteren van de skill extractie en onderzoek de mogelijkheden van Natural language processing en ChatGPT Langchain technologie.

Overpeinzingen

Een applicatie die mensen helpt met CV schrijven en solliciteren is een interessant project waar ik veel van leer. Ik heb een CV van meer dan 27 pagina’s met meer dan 20 jaar ervaring en meer dan 150 vaardigheden. Dat is niet makkelijk om snel te beoordelen.

Veel bedrijven gebruiken daarom automatische systemen (ATS) die een CV moeten scannen. Bij het scannen kunnen fouten optreden waardoor goede kandidaten worden gemist. Een oplossing zou zijn om een computer leesbaar CV formaat als json resume te gebruiken. Het gebruik van json resume voorkomt niet alleen fouten het bespaart ook geld (parsers zijn erg duur). En heb je één maal je CV in JSON formaat dan kan je die gemakkelijk omzetten naar elk gewenst formaat (Word, PDF).

Het matchen van CV’s met vacatures of opdrachten kan beter. De uitdaging is het begrijpen van de vaktaal en het bepalen van de relevantie van de vaardigheden. Een onervaren recruiter kan te streng of te oppervlakkig zijn bij het selecteren van CV’s.

Soms zijn de vaardigheden van de kandidaat niet precies hetzelfde als de gevraagde, maar wel vergelijkbaar of overdraagbaar. Bijvoorbeeld, iemand kan ervaring hebben met andere tools of technieken die op dezelfde principes zijn gebaseerd. De kennisbank die ik heb ontwikkeld helpt om de vaktaal te inventariseren en te matchen met de vaardigheden uit de CV’s en de vacatures of opdrachten. Veel systemen gebruiken machine learning om een match te maken, maar ik denk dat dat niet opweegt tegen de expertise van een vakman of -vrouw. Het verzamelen van die expertise kost tijd en moeite, maar dat is het waard. Het doel is om een community te creëren rond de kennisbank die samenwerkt aan hun vakgebied.

Ik denk dat het selectie proces te veel focust op het vinden van een perfecte match met de gevraagde skills. Dat lijkt misschien een goede manier om te zorgen dat de kandidaat de huidige situatie aankan, maar is dat wel zo? Zijn de eisen en wensen in de job beschrijving wel volledig en relevant, of lossen we het verkeerde probleem op? Mensen veranderen over de tijd. Iemand die al jaren hetzelfde doet, is niet hetzelfde als iemand die steeds nieuwe dingen leert en daarvan profiteert.

Waar ik voor ga

Als systeemontwikkelaar heb ik een passie voor programmeren en een brede kennis van verschillende talen. Ik hou van uitdagingen en kan me snel aanpassen aan veranderende omstandigheden. Ik ben trots op mijn Python vaardigheden, die ik al een paar jaar inzet om krachtige applicaties te ontwikkelen, die gebaseerd zijn op een slim data model en gebruik maken van geavanceerde technieken.

De applicatie waar ik aan werk is nog lang niet klaar. Ik ga er vanuit dat dit een lang proces word. Maar Ik sta open voor uw suggesties en feedback.

Leave a comment