Hur du granskar Pythonutvecklares färdigheter

Publicerad: Senast uppdaterad:
Python: intervjufrågor för programvaruingenjörer

Om du letar efter en person med kompetens som Pythonutvecklare ska du veta att det bara är halva resan att hitta dem. Även om du kan hitta dem kan det krävas lite extra ansträngning för att verkligen förstå vad Pythonkompetens egentligen är. Den verkliga Pythonkompetensen är en komplex sak att förstå, men här presenterar vi en expert på området, Wojtek Erbetowski, för att belysa ämnet.

1. Vad är Python?

Python är ett av de mest populära programmeringsspråken (på tredje plats enligt TIOBE-index från och med december 2018). Det släpptes för första gången 1991 och blev populärt för att det är enkelt att lära sig, men ändå kraftfullt när det gäller att lösa problem. Syntaxen liknar C++-familjen, men är ändå utrustad i en mängd moderna lösningar.

De viktigaste fördelarna med Python är:

  • Platt inlärningskurva. Den lockar användare med liten teknisk erfarenhet, t.ex. akademiker för forskning eller företag för automatisering.
  • Den ägs av en oberoende Python Software Foundation (PSF) och styrs av gemenskapen.
  • Kraftfulla vetenskapliga verktyg (t.ex. SciPy).
  • Bra dokumentation och stöd från samhället. Detta inkluderar många lokala användargrupper och konferenser.

2. Vad är viktigt för en IT-rekryterare att veta om Python?

Eftersom Python har många olika användningsområden. Det är ofta svårt att skilja kandidater från akademiker, genom nätverksprogrammering och webbapplikationer till enkla skript. Ändå är det ofta lättare för en utvecklare att lära sig ny Python än att byta område (t.ex. från datavetenskap till webbapplikationer).

År 2007 släpptes Python 3.0. Den förkastades av samhället på grund av inkompatibilitet bakåt i tiden. Detta är en utmaning för samfundet än i dag, eftersom Python 2 och 3 har nästan samma märkning än i dag.

Python är dynamiskt typat, vilket underlättar skript och små program. Det sägs ofta att det är svårt att bygga stora och långvariga tillämpningar.

3. Hur verifierar man Pythonutvecklarens färdigheter i screeningfasen?

Screening är tröttsamt, jobbigt och tidskrävande. Vanligtvis använder IT-rekryterare sig av CV-granskning, teknisk granskning (kodningstester) och intervjuer för att bedöma Pythons färdigheter.

Nedan hittar du några användbara och praktiska rekryteringstips om hur du kan verifiera Pythonkunskaper med hjälp av varje metod.

3.1. Teknisk screening av Pythonutvecklarens färdigheter baserat på CV.

Som tur är (för rekrytering) har Python färre bibliotek och tekniker att söka efter än t.ex. Java. Ändå kan ett antal saker vara förvirrande.

Språket Python Populära versioner 2.6, 2.7, 3.4, 3.5
Webbramar i Python Django, Flask, Bottle, Tornado, web2py
ORM SQLAlchemy, Django ORM
Bygg verktyg Setup-verktyg, pip, tox
Ramverk för testning UnitTest, py.test, näsa
Asyncio Python 3.5, Tornado, Twisted
Verktyg för dataanalys NumPy, SciPy, Pandas

Höjdpunkter:

  • Python 2 och 3 är mycket olika. Python 2.7 är den senaste (och sista) versionen av Python 2. Python 3-versionen är under utveckling och den senaste versionen är 3.6.
  • Asyncio finns endast i Python 3.
  • Tornado, Twisted och Gevent är alla bibliotek för asynkron programmering.
  • Django är det överlägset mest populära ramverket för webben.
  • Enhetstestbiblioteket är inbyggt i språket och nämns därför sällan separat.

Certifiering

Python Community erbjuder inget certifieringsprogram. Därför är det sällsynt att det finns några (oberoende) certifikat för Pythonspråket eller Pythonbiblioteken.

Fullstack-utvecklare

Fullstack innebär ofta att en Python-utvecklare också kan skapa HTML-sidor med CSS och JavaScript. Frontend-kompetens är välkommen och de flesta Kunskaper om JavaScript-granskning gäller här.

3.2. Teknisk screening av Pythons tekniska färdigheter under en telefon-/videointervju.

Eftersom det är ganska svårt att dra tillförlitliga slutsatser om kandidatens programmeringskunskaper från själva CV:t, genomför IT-rekryterare ofta en telefon- eller videointervju. En sådan intervju ger möjlighet att ställa frågor om deras Pythonkunskaper. På många företag är en sådan teknisk telefon- eller videointervju en grund för att fatta beslut om huruvida man ska bjuda in någon till en teknisk intervju på plats med IT-teamet eller inte, så det är värt att välja och ställa rätt tekniska frågor.

Eftersom frågorna i sig kan variera beroende på vilken tjänst du rekryterar till och vilka specifika färdigheter du vill kontrollera, rekommenderar jag följande allmänna frågor för att ta reda på mer om kandidatens Pythonfärdigheter:

A. Intervjufråga om Python om utvecklarens erfarenhet

  • Q1: Har du haft kommersiell erfarenhet av de tekniker som anges i ditt CV under de senaste två åren? Vilka ansvarsområden hade du? Vad var din största prestation?
  • Varför frågar du Q1? Genom att ställa den här frågan kan du få reda på mer om kandidatens aktuella Python-erfarenhet, ansvarsområden och prestationer. På så sätt lär du känna din kandidat bättre.

B. Intervjufråga om Python om utvecklarens kunskaper och åsikter

  • Q2: Vilka Python-bibliotek med öppen källkod anser du vara värdefulla och varför?
  • Varför frågar du Q2? Den här frågan låter kandidaten visa sin kunskap om Pythons ekosystem. Dessutom kan kandidaten peka på vad han eller hon tar hänsyn till när han eller hon väljer en viss teknik. Som följdfrågor kan du också fråga vad han anser vara fördelarna med kommersiella lösningar framför öppen källkod och vice versa. Detta visar hur kandidaten tänker.
  • Q3: Jag har noterat att du har angett ram X på ditt CV. Vad anser du om det? Är det ett bra val?
  • Varför frågar du Q3? En sådan öppen fråga ger kandidaten möjlighet att visa sin kunskap om han eller hon har den. Du kan också spela djävulens advokat utifrån deras svar: "Men varför inte använda ramverk Y för det?". På så sätt kan du se hur kandidaterna väljer en teknik, motiverar sina val och om hans åsikter stämmer överens med era IT-team.

C. Intervjufråga om Python-tekniken: utvecklarens beslutsfattande i fråga om Python-tekniken

  • Q4: På vilket stadium gick du med i de senaste projekten? Var du delaktig i valet av teknik eller i upplägget av projektet? Om ja, vilken teknik valde du eller rekommenderade du för projektet och varför?
  • Varför frågar du Q4: En sådan fråga visar inte bara hur kandidaten gör teknikval, utan också om de har varit delaktiga i besluten. Särskilt viktigt om du söker någon med erfarenhet.

D. Beteendefråga för pythonutvecklare

  • Q5: Tänk på ett beslut om programmeringsprojekt som du fattade och som misslyckades. Varför tror du att det var ett misstag? Varför hände det? Kunde man ha gjort något annorlunda för att vända det till framgång? Vilka åtgärder vidtog du för att förbättra situationen? Vad lärde du dig av denna erfarenhet?
  • Varför ställa Q5: Den typen av frågor hjälper dig att ta reda på hur kandidaten uppfattar sina beslut, drar slutsatser och hur mycket han eller hon lär sig av sina tidigare erfarenheter.

3.3. Teknisk screening av Pythonkunskaper med ett kodningstest online.

Kodningstester online kan vara ett bra sätt att undersöka Pythonkunskaperna. Nedan hittar du information om hur du kan använda programmeringstester och vilka du ska välja.

Test för Python-kodning online - den primära eller kompletterande metoden för screening

Vissa företag använder programmeringstestet som ett komplement till urvalet av kandidater efter att CV:t har analyserats och telefon- eller videointervjuer har genomförts. Men fler och fler företag använder sig av kodningstester som första metod för att screena programmerare. Företagen tenderar numera att bjuda in alla kandidater som söker en viss tjänst att göra ett test. På så sätt ägnar rekryterarna bara sin tid åt kandidater som klarat provet, vilket bevisar att de har Python-programmeringskunskaper. Å andra sidan ombeds kandidaterna inte att tidigt ägna alltför mycket tid åt rekryteringsprocessen - i stället genomför de snabbt testet (vanligen inom en timme) när det passar dem, både när det gäller tid och plats.

Python-kodningstest online - vilket test ska du välja?

Det finns många Python-kodningstester online på marknaden, men vanligtvis kontrollerar de kandidatens kunskaper snarare än programmeringskunskaper och förmågor att lösa verkliga kodningsproblem. Det är därför många erfarna programmerare inte gillar den typen av bedömning och dessutom kan de inte få ett bra resultat eftersom de inte kan visa sin erfarenhet och sina färdigheter i att lösa verkliga programmeringsproblem.

Vilka egenskaper bör ett bra kodningstest ha? Nedan hittar du mina fem viktigaste funktioner som du bör leta efter:

  1. Testerna för Pythonprogrammering bör kontrollera inte bara Pythonkunskaperna i fråga om teknik i allmänhet, utan även ramverk och bibliotek;
  2. Python-kodningstesterna bör bestå av ett par uppgifter, inte bara flervalstester, utan framför allt programmeringsuppgifter vars svårighetsgrad bör motsvara de ansvarsområden som kandidaterna kommer att ha om de får jobbet (testerna bör inte baseras på algoritmiska uppgifter, eftersom du på så sätt inte kan verifiera om en kandidat kan lösa riktiga kodningsutmaningar);
  3. Python-programmeringsuppgifter bör helst förberedas på företagets egen kodbas, eftersom detta är det bästa sättet att efterlikna de utmaningar som kandidaten kommer att få när han eller hon väl får jobbet;
  4. Det är ingen idé att förbjuda programmeraren att använda externa källor. Det bästa sättet är att skapa en miljö som liknar den som de skulle ha på jobbet, så ett prov med öppna böcker är mycket lämpligare. Dessutom bör examinanden kunna använda den IDE som han eller hon föredrar, precis som han eller hon gör dagligen.
  5. Kodningstesterna kan också innehålla en uppgift med kodgranskningsutmaningar för att testa Pythonkunskaperna. Detta ger mycket korrekt information om kandidatens erfarenhet, deras inställning till kodkvalitet och effektivitet när det gäller att felsöka och hitta fällor. En sådan bedömning bör vara obligatorisk vid rekrytering av seniora Pythonutvecklare.

Redaktörens anmärkning: Det här inlägget publicerades ursprungligen den 28 februari 2016. Det har uppdaterats i stor utsträckning för att representera den senaste tekniska informationen och bästa praxis.

Författare - Wojtek Erbetowski

Wojtek_Erbetowski Tekniska färdigheter för Pyhton-utvecklare

Wojtek är en praktisk ledare med cirka 10 års erfarenhet av API:er och webbapplikationer i Python och Java. Han har arbetat som Head of Engineering @ Polidea, CTO @ GrowBots och deltar aktivt som Community Leader @ Warsaw Java User Group och Mobile Warsaw samt organisatör av MCE-konferensen. Bidrar till bibliotek med öppen källkod, programvaruutvecklare och agil förespråkare. Han arbetade inom flera affärsområden, t.ex. försäljning, gammaldags och nymedial reklam, e-postmarknadsföring, läkemedelsföretag, EU-finansierade portaler, grossistbokhandel m.m.) och omvandlade affärsbehov till specialiserade appar.

DevSkiller är redo att användas för bedömningstester för Python-kodning online

DevSkiller hjälper företag i IT-rekryteringsprocessen genom att förse dem med en infrastruktur som gör att de kan testa kandidaternas programmeringsfärdigheter i en miljö som efterliknar den första dagen på jobbet. Vi låter företagen använda sin egen kodbas, hela IT-projekt med hjälp av ramverk och bibliotek, för att testa programmerare online. Men vi har också några färdiga Python-kodningstester som du kan använda i din tekniska rekryteringskampanj.

Dela inlägg

Läs mer om rekrytering av tekniker

Prenumerera på vår Learning Hub för att få nyttiga insikter direkt i din inkorg.

Kontrollera och utveckla kodningsfärdigheter utan problem.

Se DevSkillers produkter i praktiken.

Säkerhetscertifieringar och efterlevnad. Vi ser till att dina data är säkra och skyddade.

DevSkillers logotyp TalentBoost logotyp TalentScore-logotyp