Hoe de vaardigheden van Python ontwikkelaars te screenen

Gepubliceerd: Laatst bijgewerkt:
Python: software ingenieur interview vragen

Als u op zoek bent naar een persoon met Python ontwikkelaarsvaardigheden, weet dan dat het vinden van die persoon slechts het halve werk is. Dus zelfs als u ze kunt vinden, kan het wat extra moeite kosten om echt te begrijpen wat Python-vaardigheden werkelijk zijn. De echte Python vaardigheden zijn een complex iets om te begrijpen, maar hier introduceren we een expert op dit gebied, Wojtek Erbetowski om het onderwerp aan het licht te brengen.

1. Wat is Python?

Python is een van de populairste programmeertalen (tweede plaats volgens de TIOBE-index vanaf september 2021). Het werd voor het eerst uitgebracht in 1991 en verwierf zijn populariteit omdat het eenvoudig te leren is, maar toch krachtig in het oplossen van problemen. De syntaxis is vergelijkbaar met die van C++, maar is uitgerust met een verscheidenheid aan moderne oplossingen.

De belangrijkste voordelen van Python zijn:

  • Vlakke leercurve. Het brengt gebruikers met weinig technische ervaring binnen, zoals academici voor onderzoek, of bedrijven voor automatisering.
  • Het is eigendom van een onafhankelijke Python Software Foundation (PSF) en wordt geleid door de gemeenschap.
  • Krachtige wetenschappelijke hulpmiddelen (bv. SciPy).
  • Goede documentatie en steun van de gemeenschap. Dit omvat vele lokale gebruikersgroepen en conferenties.

2. Wat is belangrijk voor een IT Recruiter om te weten over Python?

Aangezien Python een verscheidenheid van toepassingen heeft. Het is vaak moeilijk om kandidaten te onderscheiden van academici, via netwerkprogrammering en webapplicaties tot eenvoudige scripting. Toch is het voor een ontwikkelaar vaak gemakkelijker om nieuwe Python te leren dan om van domein te veranderen (bv. van Data Science naar Web Applications).

In 2007 werd Python 3.0 uitgebracht. Het werd afgewezen door de gemeenschap vanwege achterwaartse incompatibiliteit. Dat gezegd hebbende, in 2020, 94% van Python gebruikers zijn overgestapt op Python 3.

Python is dynamisch getypt, wat scripting en het schrijven van kleine toepassingen vergemakkelijkt. Er wordt vaak gezegd dat het problemen oplevert bij het bouwen van grote en langdurige applicaties.

3. Hoe kunnen de vaardigheden van Python ontwikkelaars in de screening fase worden geverifieerd?

Screening is vermoeiend, moeizaam en tijdrovend. Gewoonlijk maken IT-recruiters gebruik van cv-screening, technische screening (coding tests) en interviews om de Python-vaardigheden te beoordelen.

Hieronder vindt u enkele nuttige en praktische aanwervingstips voor het verifiëren van Python-vaardigheden aan de hand van elke methode.

3.1. Technische screening van Python ontwikkelaarsvaardigheden op basis van CV

Gelukkig (voor het werven) heeft Python minder bibliotheken en technologieën om op te screenen dan b.v. Java. Toch kunnen een aantal zaken verwarrend zijn.

Python taal Populaire versie 3.7, 3.8, 3.9, 3.10
Python web frameworks Django, Flask, Bottle, Tornado, web2py, FastAPI
ORM SQLAlchemy, Django ORM, peewee
Gereedschap bouwen Setup-tools, pip, tox
Testkaders UnitTest, py.test
Asyncio Python 3.5, Tornado, Twisted
Hulpmiddelen voor gegevensanalyse NumPy, SciPy, Pandas, PySpark

Hoogtepunten:

  • Python 2 en 3 zijn zeer verschillend. Python 2.7 is de laatste (en laatste) versie van Python 2. Python 3 versie is in ontwikkeling en de laatste versie is 3.10
  • Asyncio komt alleen voor in Python 3.
  • Tornado, Twisted, Gevent zijn allemaal bibliotheken voor async programmeren.
  • Django is veruit het populairste web framework.
  • Unit test bibliotheek is ingebouwd in de taal, en wordt daarom zelden apart genoemd.

Certificering

De Python gemeenschap biedt geen certificatie programma aan. Daarom is het zeldzaam om (onafhankelijke) certificaten voor Python taal of bibliotheken tegen te komen.

Full-stack ontwikkelaars

Fullstack betekent vaak dat een Python-ontwikkelaar ook HTML-pagina's met CSS en JavaScript mag maken. Frontend vaardigheden zijn welkom en de meeste JavaScript doorlichtingskennis is hier van toepassing.

3.2. Technische screening van Python-technische vaardigheden tijdens een telefoon-/video-interview

Aangezien het vrij moeilijk is om betrouwbare conclusies te trekken over de programmeervaardigheden van een kandidaat uit zijn cv zelf, houden IT-recruiters vaak een telefonisch of video-interview. Zo'n interview biedt de mogelijkheid om vragen te stellen over hun Python-vaardigheden. In veel bedrijven is zo'n technisch telefoon- of video-interview de basis voor de beslissing om iemand al dan niet uit te nodigen voor een technisch interview ter plaatse met het IT-team, dus het is de moeite waard om de juiste technische vragen te kiezen en te stellen.

De vragen zelf kunnen variëren naargelang de functie waarvoor u rekruteert en de specifieke vaardigheden die u wilt nagaan. Op basis van mijn ervaring zou ik u de volgende algemene vragen aanbevelen om meer te weten te komen over de Python-vaardigheden van een kandidaat:

A. Python interview vraag over de ervaring van de ontwikkelaar

  • Q1: Met welke in uw CV genoemde technologieën hebt u in de afgelopen 2 jaar commerciële ervaring opgedaan? Wat waren uw verantwoordelijkheden? Wat was uw grootste prestatie?
  • Waarom vraag je Q1: Door deze vraag te stellen, komt u meer te weten over de actuele Python-ervaring, verantwoordelijkheden en prestaties van de kandidaat. Zo leert u uw kandidaat beter kennen.

B. Python interview vraag over de kennis en meningen van de ontwikkelaar

  • Q2: Welke Python open source bibliotheken vind je waardevol en waarom?
  • Waarom vraag je Q2: Met deze vraag kan de kandidaat zijn kennis van het Python-ecosysteem aantonen. Bovendien kan de kandidaat aangeven waar hij rekening mee houdt bij de keuze voor een bepaalde technologie. Als vervolgvraag kun je ook vragen wat naar zijn mening voordelen zijn van commerciële oplossingen boven open source en vice versa. Dit laat zien hoe de kandidaat denkt.
  • Q3: Ik heb gezien dat je kader X op je CV hebt staan. Wat is je mening daarover? Is het een goede keuze?
  • Waarom vraag je Q3: Met zo'n open vraag kan een kandidaat laten zien dat hij kennis heeft, als hij die heeft. U kunt ook advocaat van de duivel spelen op basis van hun antwoorden "Maar waarom gebruikt u daarvoor niet framework Y?". Zo kunt u zien hoe de kandidaten een technologie kiezen, hun keuzes rechtvaardigen en of zijn mening overeenstemt met die van uw IT-teams.

C. Python interview vraag over de besluitvorming van ontwikkelaars met betrekking tot Python technologie

  • Q4: In welk stadium bent u bij recente projecten betrokken geweest? Was u betrokken bij de keuze van de technologie of de opzet van het project? Zo ja, welke technologie heeft u gekozen of aanbevolen voor het project en waarom?
  • Waarom vraag je Q4: Dergelijke vragen laten niet alleen zien hoe een kandidaat keuzes maakt met betrekking tot technologie, maar ook of hij of zij bij de besluitvorming werd betrokken. Vooral belangrijk als u op zoek bent naar iemand met ervaring.

D. Gedragsvraag voor python ontwikkelaar

  • Q5: Denk aan de programmering van een projectbeslissing die je hebt genomen en die een mislukking was. Waarom denk je dat het een fout was? Waarom is het gebeurd? Kon er iets anders worden gedaan om het tot een succes te maken? Welke stappen heb je ondernomen om de situatie te verbeteren? Wat heb je van deze ervaring geleerd?
  • Waarom vraag je Q5: Met dat soort vragen kunt u te weten komen hoe de kandidaat zijn beslissingen ziet, conclusies trekt en hoeveel hij van zijn eerdere ervaring leert.

3.3. Technische screening van Python-vaardigheden met online codeertest

Online coding tests kunnen een goede manier zijn om Python vaardigheden te screenen. Hieronder vindt u informatie over hoe u codetests kunt gebruiken en welke u het beste kunt kiezen.

Online Python-coderingstests - de primaire of aanvullende methode voor screening

Sommige bedrijven gebruiken een programmeertest als een aanvulling op de screening van kandidaten nadat het cv is geanalyseerd en een telefonisch of video-interview is afgenomen. Maar steeds meer bedrijven maken gebruik van codetests als de eerste methode om programmeurs te screenen. Bedrijven nodigen tegenwoordig alle kandidaten die voor een bepaalde functie solliciteren uit om een test te doen. Op die manier besteden recruiters hun tijd alleen aan kandidaten die het examen met succes hebben afgelegd, om te bewijzen dat zij over Python programmeervaardigheden beschikken. Aan de andere kant wordt kandidaten niet gevraagd om al in een vroeg stadium veel tijd te besteden aan het wervingsproces - in plaats daarvan maken ze de test snel af (meestal binnen een uur) wanneer het hen uitkomt, zowel qua tijd als qua plaats.

Python online coderingstest - welke te kiezen?

Er zijn veel Python online codeer tests op de markt, maar meestal controleren ze de kennis van de kandidaat in plaats van de programmeervaardigheden en het vermogen om echte codeerproblemen op te lossen. Daarom houden veel ervaren programmeurs niet van dit soort toetsen en bovendien kunnen ze geen goede score halen omdat ze hun ervaring en vaardigheden in het oplossen van echte programmeerproblemen niet kunnen laten zien.

Welke kenmerken moet een goede codeertest hebben? Hieronder vind je mijn top 5 van kenmerken waar je naar moet zoeken:

  1. Python-programmeertesten moeten niet alleen de Python-vaardigheden toetsen voor zover het de technologie in het algemeen betreft, maar ook frameworks en bibliotheken;
  2. Python codeertests moeten bestaan uit een aantal taken, niet alleen multiple-choice tests, maar vooral uit programmeertaken waarvan de moeilijkheidsgraad moet overeenkomen met de verantwoordelijkheden die de kandidaten zullen hebben als ze de baan krijgen (tests moeten niet gebaseerd zijn op algoritmische taken, omdat je dan niet kunt nagaan of een kandidaat real-life codeeruitdagingen kan oplossen);
  3. Bij voorkeur moeten Python-programmeertaken worden voorbereid op de eigen codebasis van het bedrijf, omdat dit de beste manier is om de uitdagingen na te bootsen die de kandidaat zal krijgen zodra hij de baan heeft;
  4. Het heeft geen zin de programmeur te verbieden externe bronnen te gebruiken. De beste manier is om een omgeving te creëren die lijkt op de omgeving die ze op het werk zouden hebben, dus een open boek examen is veel geschikter. Bovendien moet de kandidaat de IDE van zijn voorkeur kunnen gebruiken, net zoals hij dat in het dagelijks leven doet.
  5. Coding tests kunnen ook een taak met code review uitdagingen bevatten om Python vaardigheden te testen. Dit geeft zeer nauwkeurige informatie over de ervaring van de kandidaat, zijn benadering van de kwaliteit van de code en de efficiëntie van het debuggen en het vinden van valkuilen. Een dergelijke beoordeling zou verplicht moeten zijn bij de aanwerving van Python senior ontwikkelaars.

Noot van de redactie: Dit bericht werd oorspronkelijk gepubliceerd op 28 februari 2016. Het is uitgebreid bijgewerkt om de nieuwste technische informatie en beste praktijken weer te geven.

Auteur - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton ontwikkelaar technische vaardigheden

Wojtek is een hands-on leider met ~10 jaar API's / web apps ervaring in Python en Java. Werkte als Head of Engineering @ Polidea, CTO @ GrowBots en neemt actief deel als Community Leader @ Warsaw Java User Group en Mobile Warsaw en organisator van de MCE Conference. Open source library contributor, software ontwikkelaar, agile voorstander. Hij werkte in verschillende sectoren, bijv. verkoop, ouderwetse en nieuwe media reclame, e-mail marketing, farmaceutische bedrijven, door de EU gefinancierde portals, groothandel in boeken en meer) en zette zakelijke behoeften om in gespecialiseerde apps.

DevSkiller klaar voor gebruik online Python codering beoordelingstests

DevSkiller helpt bedrijven in het IT wervingsproces door hen te voorzien van een infrastructuur waarmee ze programmeervaardigheden van kandidaten kunnen testen in een omgeving die de eerste dag op het werk nabootst. Wij stellen bedrijven in staat om hun eigen code base, hele IT projecten met behulp van frameworks en bibliotheken, te gebruiken om programmeurs online te testen. We hebben echter ook een aantal kant-en-klare Python codeer tests die u kunt gebruiken in uw technische wervingscampagne.

Post delen

Meer informatie over het inhuren van tech

Abonneer u op onze Learning Hub en ontvang nuttige inzichten rechtstreeks in uw inbox.

Verifieer en ontwikkel coderingsvaardigheden naadloos.

Zie DevSkiller producten in actie.

Beveiligingscertificeringen & naleving. Wij zorgen ervoor dat uw gegevens veilig en beveiligd zijn.

DevSkiller logo TalentBoost logo TalentScore logo