Sådan screener du Python-udvikleres færdigheder

Udgivet: Sidst opdateret:
Python: spørgsmål til interview med softwareingeniører

Hvis du leder efter en person med færdigheder som Python-udvikler, skal du vide, at det kun er halvdelen af arbejdet at finde en sådan person. Så selv hvis du kan finde dem, kan det kræve en ekstra indsats at forstå, hvad Python-færdigheder egentlig er. De reelle Python-færdigheder er en kompleks ting at forstå, men her introducerer vi en ekspert på området, Wojtek Erbetowski, for at bringe emnet frem i lyset.

1. Hvad er Python?

Python er et af de mest populære programmeringssprog (på andenpladsen i henhold til TIOBE-indeks fra og med september 2021). Det blev første gang udgivet i 1991 og blev populært fordi det er nemt at lære, men alligevel effektivt til at løse problemer. Syntaksen ligner C++-familien, men er alligevel udstyret i en række moderne løsninger.

De vigtigste fordele ved Python er:

  • Flad indlæringskurve. Det giver mulighed for at få brugere med lidt teknisk erfaring, f.eks. akademikere til forskning eller virksomheder til automatisering.
  • Det ejes af en uafhængig Python Software Foundation (PSF) og styres af fællesskabet.
  • Kraftfulde videnskabelige værktøjer (f.eks. SciPy).
  • God dokumentation og support fra fællesskabet. Dette omfatter mange lokale brugergrupper og konferencer.

2. Hvad er vigtigt for en it-rekrutteringsmedarbejder at vide om Python?

Da Python har mange forskellige anvendelsesmuligheder. Det er ofte vanskeligt at skelne kandidater fra akademikere, over netværksprogrammering og webapplikationer til simpel scripting. Alligevel er det ofte lettere for en udvikler at lære ny Python end at skifte domæne (f.eks. fra datalogi til webapplikationer).

I 2007 blev Python 3.0 udgivet. Den blev afvist af fællesskabet på grund af bagudkompatibilitet. Når det er sagt, i 2020, 94% af Python-brugerne skiftede til Python 3.

Python er dynamisk typet, hvilket gør det lettere at skrive scripts og små applikationer. Det siges ofte, at det giver problemer med at bygge store og langvarige applikationer.

3. Hvordan kan man kontrollere Python-udviklerens færdigheder i screeningsfasen?

Screening er trættende, besværlig og tidskrævende. Normalt anvender it-rekrutteringsfolk screening af CV'er, teknisk screening (kodningstest) og interviews til at vurdere Python-færdigheder.

Nedenfor finder du nogle nyttige og praktiske tips til rekruttering, hvordan du kan verificere Python-færdigheder ved hjælp af hver metode.

3.1. Teknisk screening af Python-udviklerfærdigheder baseret på CV

Heldigvis (for rekruttering) har Python færre biblioteker og teknologier, der skal screenes for, end f.eks. Java. Alligevel kan en række ting være forvirrende.

Python-sprogPopulær version 3.7, 3.8, 3.9, 3.10
Webrammer i PythonDjango, Flask, Bottle, Tornado, web2py, FastAPI
ORMSQLAlchemy, Django ORM, peewee
Byg værktøjerSetup-tools, pip, tox
TestrammerUnitTest, py.test
AsyncioPython 3.5, Tornado, Twisted
Værktøjer til dataanalyseNumPy, SciPy, Pandas, PySpark

Højdepunkter:

  • Python 2 og 3 er meget forskellige. Python 2.7 er den nyeste (og sidste) version af Python 2. Python 3-versionen er under udvikling, og den seneste version er 3.10.
  • Asyncio er kun tilgængelig i Python 3.
  • Tornado, Twisted og Gevent er alle biblioteker til asynkron programmering.
  • Django er langt den mest populære webramme.
  • Enhedstestbiblioteket er indbygget i sproget og nævnes derfor sjældent separat.

Certificering

Python Community tilbyder ikke noget certificeringsprogram. Derfor er det sjældent, at man møder nogen (uafhængige) certifikater for Python-sprog eller -biblioteker.

Full-stack-udviklere

Fullstack betyder ofte, at en Python-udvikler også kan lave HTML-sider med CSS og JavaScript. Frontend-færdigheder er velkomne, og de fleste af kendskab til JavaScript-screening gælder her.

3.2. Teknisk screening af tekniske færdigheder i Python under et telefon/videointerview

Da det er ret svært at drage pålidelige konklusioner om kandidatens programmeringsfærdigheder ud fra selve CV'et, gennemfører it-rekrutteringsfolk ofte et telefon- eller videointerview. Et sådant interview giver mulighed for at stille spørgsmål om deres Python-færdigheder. I mange virksomheder er et sådant teknisk telefon- eller videointerview et grundlag for at træffe en beslutning om at invitere en person til et teknisk interview på stedet med it-teamet eller ej, så det er værd at vælge og stille de rigtige tekniske spørgsmål.

Da spørgsmålene i sig selv kan variere afhængigt af den stilling, du rekrutterer til, og de specifikke færdigheder, du ønsker at kontrollere, vil jeg ud fra min erfaring anbefale følgende generelle spørgsmål til at finde ud af mere om kandidatens Python-færdigheder:

A. Spørgsmål til Python-interview om udviklerens erfaring

  • Q1: Har du inden for de seneste 2 år haft kommerciel erfaring med de teknologier, der er anført i dit CV? Hvad var dit ansvarsområde? Hvad var din største præstation?
  • Hvorfor spørge Q1: Ved at stille dette spørgsmål kan du få mere at vide om kandidatens aktuelle Python-erfaring, ansvarsområder og resultater. På den måde lærer du din kandidat bedre at kende.

B. Spørgsmål til Python-interview om udviklerens viden og holdninger

  • Q2: Hvilke open source-biblioteker til Python mener du er værdifulde og hvorfor?
  • Hvorfor spørge om Q2: Dette spørgsmål giver kandidaten mulighed for at demonstrere sin viden om Python-økosystemet. Desuden kan kandidaten påpege, hvad han tager hensyn til, når han vælger en bestemt teknologi. Som opfølgende spørgsmål kan du også spørge, hvad der efter hans mening er fordelene ved kommercielle løsninger frem for open source-løsninger og omvendt. Dette viser, hvordan kandidaten tænker.
  • Q3: Jeg har bemærket, at du har anført ramme X på dit CV. Hvad er din mening om det? Er det et godt valg?
  • Hvorfor spørge om Q3: Et sådant åbent spørgsmål giver kandidaten mulighed for at demonstrere sin viden, hvis han/hun har den. Du kan også spille djævelens advokat på baggrund af deres svar: "Men hvorfor ikke bruge ramme Y til det?". På den måde kan du se, hvordan kandidaterne vælger en teknologi, begrunder deres valg, og om hans holdninger er på linje med dine it-teams.

C. Spørgsmål til Python-interview om udviklerens beslutningstagning vedrørende Python-teknologi

  • Q4: På hvilket stadium gik du ind i de seneste projekter? Var du involveret i valget af teknologi eller i projektets opbygning? Hvis ja, hvilken teknologi valgte eller anbefalede du til projektet og hvorfor?
  • Hvorfor spørge om Q4: Et sådant spørgsmål viser ikke kun, hvordan en kandidat træffer valg vedrørende teknologi, men også om de blev inddraget i beslutningerne. Det er især vigtigt, hvis du leder efter en person med erfaring.

D. Adfærdsspørgsmål til en python-udvikler

  • Q5: Tænk på en beslutning om et programmeringsprojekt, som du har truffet, og som var en fiasko. Hvorfor tror du, at det var en fejl? Hvorfor skete det? Kunne der gøres noget anderledes for at gøre det til en succes? Hvilke skridt tog du for at forbedre situationen? Hvad lærte du af denne erfaring?
  • Hvorfor spørge om Q5: Den type spørgsmål vil hjælpe dig med at finde ud af, hvordan kandidaten opfatter sine beslutninger, hvordan han/hun drager konklusioner, og hvor meget han/hun lærer af sine tidligere erfaringer.

3.3. Teknisk screening af Python-færdigheder med online kodningstest

Online kodetests kan være en god måde at undersøge Python-færdigheder på. Nedenfor finder du oplysninger om, hvordan du kan bruge programmeringstests, og hvilke du skal vælge.

Online Python-kodetest - den primære eller supplerende metode til screening

Nogle virksomheder bruger programmeringstest som et supplement til screening af kandidater, efter at CV'et er analyseret og der er gennemført telefon- eller videointerview. Men flere og flere virksomheder anvender kodningstest som den første metode til at screene programmører. Virksomhederne har i dag en tendens til at invitere alle kandidater, der ansøger om en bestemt stilling, til at tage en test. På den måde bruger rekrutteringsmedarbejderne kun deres tid på kandidater, der har bestået prøven og dermed beviser, at de har Python-programmeringskompetencer. På den anden side bliver kandidaterne ikke bedt om at afsætte for meget af deres tid til rekrutteringsprocessen tidligt i forløbet - i stedet gennemfører de hurtigt testen (normalt inden for en time), når det passer dem, både hvad angår tid og sted.

Skærm Python-udviklerfærdigheder med en indbygget PyCharm IDE

Hos DevSkiller fortsætter vi med at flytte grænserne, når det kommer til test af udviklere.

Vores seneste innovation er at lade kandidaterne løse vores Python-kodningsprøver ved hjælp af en PyCharm IDE i browseren fra JetBrains. Ingen downloads, ingen ventetid og intet bøvl.

Kandidaterne sparer tid under testningen ved ikke at skulle vente på, at afhængigheder installeres eller programmer indlæses. De kan gå direkte i gang med at fokusere på deres løsninger på vores Python-kodningstests i stedet for at lære at få et primitivt IDE, som de ikke kender, til at fungere til deres fordel.

Kandidaterne behøver ikke længere at klone koden - de kan bogstaveligt talt begynde at kode, så snart de åbner deres testinvitation. Kandidaterne kan køre enhedstests, få vist og spille deres løsninger, ligesom de gør i deres normale arbejde.


For din virksomhed betyder det, at du skal tilbyde en bedre kandidatoplevelse end nogensinde før. Det betyder også, at der er færre kandidater, der falder fra i løbet af processen. Jo hurtigere processen er, jo større er sandsynligheden for, at dine kandidater gennemfører den. Det betyder, at du ikke lader de bedste kandidater glide dig mellem fingrene.

Python online kodningstest - hvilken skal du vælge?

Der findes mange Python-kodningstests online på markedet, men normalt kontrollerer de en kandidats viden snarere end programmeringsfærdigheder og evner til at løse reelle kodningsproblemer. Derfor bryder mange erfarne programmører sig ikke om den slags vurderinger, og de kan desuden ikke få en god score, da de ikke kan vise deres erfaring og færdigheder i at løse reelle programmeringsproblemer.

Hvilke funktioner bør en god kodningstest have? Nedenfor finder du mine fem bedste funktioner, som du bør kigge efter:

  1. Python-programmeringsprøver skal ikke kun kontrollere Python-færdigheder i forhold til teknologi generelt, men også rammer og biblioteker;
  2. Python-kodningstests bør bestå af et par opgaver, ikke kun multiple-choice-tests, men først og fremmest programmeringsopgaver, hvis sværhedsgrad bør svare til de ansvarsområder, som kandidaterne vil få, hvis de får jobbet (testene bør ikke være baseret på algoritmiske opgaver, da du dermed ikke kan kontrollere, om en kandidat kan løse reelle kodningsopgaver);
  3. Python-programmeringsopgaver bør helst forberedes på virksomhedens egen kodebase, da dette er den bedste måde at efterligne de udfordringer, som kandidaten vil få, når han/hun får jobbet;
  4. Der er ingen grund til at forbyde programmøren at bruge eksterne kilder. Den bedste måde er at skabe et miljø, der svarer til det miljø, de ville have på deres arbejde, så en eksamen med åbne bøger er langt mere hensigtsmæssig. Desuden bør kandidaten kunne bruge sin foretrukne IDE, ligesom han gør det til daglig.
  5. Kodningstests kan også omfatte en opgave med udfordringer til kodegennemgang for at teste Python-færdigheder. Dette giver meget præcise oplysninger om kandidatens erfaring, deres tilgang til kodekvalitet og effektivitet i forbindelse med fejlfinding og finde fælder. En sådan vurdering bør være obligatorisk, når der ansættes Python-seniorudviklere.

Redaktørens note: Dette indlæg blev oprindeligt offentliggjort den 28. februar 2016. Det er blevet omfattende opdateret for at repræsentere de seneste tekniske oplysninger og bedste praksis.

Forfatter - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton-udvikler tekniske færdigheder

Wojtek er en hands-on leder med ~10 års erfaring med API'er/webapps i Python og Java. Har arbejdet som Head of Engineering @ Polidea, CTO @ GrowBots og deltager aktivt som Community Leader @ Warsaw Java User Group og Mobile Warsaw og arrangør af MCE-konferencen. Bidragyder til open source-biblioteker, softwareudvikler, agil fortaler. Han arbejdede inden for flere forretningsområder, f.eks. salg, gammeldags og ny medieannoncering, e-mail-marketing, farmaceutisk virksomhed, EU-finansierede portaler, engrosboghandel m.m.) og omdannede forretningsbehov til specialiserede apps.

DevSkiller er klar til brug online Python-kodningsvurderingstests

DevSkiller hjælper virksomheder i it-ansættelsesprocessen ved at give dem en infrastruktur, der giver dem mulighed for at teste kandidaternes programmeringsfærdigheder i et miljø, der efterligner den første dag på arbejdspladsen. Vi giver virksomheder mulighed for at bruge deres egen kodebase, hele it-projekter ved hjælp af rammer og biblioteker til at teste programmører online. Vi har dog også nogle færdige Python-kodningstests, som du kan bruge i din tekniske rekrutteringskampagne.

Python
MIDDLE
Testede færdigheder
Varighed
120 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Python

Programmeringsopgave - Niveau: Medium

Python | Rapport om salg af køretøjer - Implementer en applikation til at oprette rapporter baseret på datalageret om salg af køretøjer.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo