Jak prověřit dovednosti vývojářů Pythonu

Vydáno: Poslední aktualizace:
Python: otázky k pohovorům pro softwarové inženýry

Pokud hledáte člověka se schopnostmi vývojáře Pythonu, vězte, že jeho nalezení je jen polovina cesty. Takže i když se vám je podaří sehnat, může to vyžadovat další úsilí, abyste skutečně pochopili, co jsou to dovednosti v jazyce Python. Pochopit skutečné dovednosti v jazyce Python je složité, ale zde vám představíme odborníka v této oblasti, Wojtka Erbetowského, který vám toto téma přiblíží.

1. Co je Python?

Python je jedním z nejoblíbenějších programovacích jazyků (na druhém místě podle serveru Index TIOBE od září 2021). Poprvé byl vydán v roce 1991 a získal si oblibu díky tomu, že je jednoduchý na naučení, ale výkonný při řešení problémů. Syntaxe je podobná rodině C++, přesto je vybavena řadou moderních řešení.

Hlavní výhody jazyka Python jsou:

  • Plochá křivka učení. Přivádí uživatele s malými technickými zkušenostmi, jako jsou akademici pro výzkum nebo podnikatelé pro automatizaci.
  • Vlastní ho nezávislá nadace Python Software Foundation (PSF) a řídí ho komunita.
  • Výkonné vědecké nástroje (např. SciPy).
  • Dobrá dokumentace a podpora komunity. Ta zahrnuje mnoho místních uživatelských skupin a konference.

2. Co je důležité, aby náborář IT věděl o Pythonu?

Vzhledem k tomu, že Python má řadu využití. Často je obtížné rozlišit kandidáty od akademiků, přes síťové programování a webové aplikace až po jednoduché skriptování. Přesto je pro vývojáře často jednodušší naučit se nový Python než změnit svou doménu (např. datovou vědu na webové aplikace).

V roce 2007 byl vydán Python 3.0. Komunita ji odmítla kvůli zpětné nekompatibilitě. To bylo řečeno v roce 2020, 94% uživatelů Pythonu přešlo na Python 3.

Python je dynamicky typovaný, což usnadňuje psaní skriptů a malých aplikací. Často se říká, že přináší potíže při vytváření velkých a dlouhotrvajících aplikací.

3. Jak ověřit dovednosti vývojáře Pythonu ve fázi výběru?

Screening je únavný, namáhavý a časově náročný. Náboráři v oblasti IT se obvykle obracejí na screening životopisů, technický screening (testy kódování) a pohovory, aby posoudili dovednosti v jazyce Python.

Níže naleznete několik užitečných a praktických tipů pro nábor, jak ověřit znalosti jazyka Python pomocí jednotlivých metod.

3.1. Technická kontrola dovedností vývojáře Pythonu na základě životopisu

Naštěstí (pro nábor) má Python méně knihoven a technologií, které je třeba prověřovat, než např. Java. Přesto může být řada věcí matoucí.

Jazyk PythonOblíbené verze 3.7, 3.8, 3.9, 3.10
Webové rámce PythonDjango, Flask, Bottle, Tornado, web2py, FastAPI
ORMSQLAlchemy, Django ORM, peewee
Nástroje pro sestaveníNástroje pro nastavení, pip, tox
Testovací rámceUnitTest, py.test
AsyncioPython 3.5, Tornado, Twisted
Nástroje pro analýzu datNumPy, SciPy, Pandas, PySpark

Nejdůležitější informace:

  • Python 2 a 3 se velmi liší. Python 2.7 je nejnovější (a poslední) verze Pythonu 2. Verze Pythonu 3 se vyvíjí a poslední verze je 3.10.
  • Asyncio se vyskytuje pouze v jazyce Python 3.
  • Tornado, Twisted a Gevent jsou knihovny pro asynchronní programování.
  • Django je zdaleka nejoblíbenějším webovým frameworkem.
  • Knihovna unit testů je integrována do jazyka, proto se o ní zřídkakdy mluví samostatně.

Certifikace

Python Community neposkytuje žádný certifikační program. Proto se lze jen zřídka setkat s nějakými (nezávislými) certifikáty pro jazyk Python nebo knihovny.

Full-stack vývojáři

Fullstack často znamená, že vývojář v jazyce Python může také vytvářet stránky HTML s CSS a JavaScriptem. Frontendové dovednosti jsou vítány a většina Znalost screeningu JavaScriptu platí zde.

3.2. Technická prověrka technických dovedností v jazyce Python během telefonického/video pohovoru

Jelikož je poměrně obtížné vyvodit spolehlivé závěry o programátorských dovednostech uchazeče ze samotného životopisu, náboráři IT často vedou telefonický nebo video pohovor. Takový pohovor dává příležitost klást otázky týkající se jejich dovedností v jazyce Python. V mnoha společnostech je takový technický telefonický nebo video pohovor podkladem pro rozhodnutí, zda někoho pozvat na technický pohovor na místě s IT týmem, či nikoli, proto se vyplatí vybrat a položit správné technické otázky.

Vzhledem k tomu, že samotné otázky se mohou lišit v závislosti na pozici, na kterou děláte nábor, a na konkrétních dovednostech, které chcete ověřit, doporučuji na základě svých zkušeností následující obecné otázky, které vám pomohou zjistit více o dovednostech uchazeče v jazyce Python:

A. Otázka na pohovor v jazyce Python týkající se zkušeností vývojáře

  • Q1: S jakými technologiemi uvedenými ve vašem životopise jste měl/a v posledních dvou letech obchodní zkušenosti? Jaké byly vaše povinnosti? Jaký byl váš největší úspěch?
  • Proč se ptát na 1. otázku: Touto otázkou se můžete dozvědět více o aktuálních zkušenostech, odpovědnosti a úspěších uchazeče v jazyce Python. Tím lépe poznáte svého kandidáta.

B. Otázka na pohovor v jazyce Python týkající se znalostí a názorů vývojáře

  • Q2: Které open source knihovny Pythonu považujete za hodnotné a proč?
  • Proč se ptát na 2. čtvrtletí? Tato otázka umožňuje uchazeči prokázat znalost ekosystému Python. Kromě toho může kandidát poukázat na to, co bere v úvahu při výběru určité technologie. V rámci navazujících otázek se můžete také zeptat, jaké jsou podle jeho názoru výhody komerčních řešení oproti open source a naopak. Tím ukážete, jak kandidát přemýšlí.
  • Q3: Všiml jsem si, že jste ve svém životopise uvedl rámec X. Jaký na něj máte názor? Je to dobrá volba?
  • Proč se ptát na 3. čtvrtletí: Taková otevřená otázka umožňuje uchazeči prokázat své znalosti, pokud je má. Na základě jejich odpovědí si můžete také zahrát na ďáblova advokáta: "Ale proč k tomu nepoužijete rámec Y?". Můžete tak zjistit, jakým způsobem kandidáti vybírají technologie, zdůvodňují svou volbu a zda jsou jeho názory v souladu s vašimi IT týmy.

C. Otázka k pohovoru o Pythonu týkající se rozhodování vývojářů o technologii Python

  • Q4: V jaké fázi jste se zapojil do posledních projektů? Podíleli jste se na výběru technologie nebo nastavení projektu? Pokud ano, jakou technologii jste pro projekt vybrali nebo doporučili a proč?
  • Proč se ptát na čtvrtý kvartál: Takové otázky ukazují nejen to, jak se kandidát rozhoduje o technologiích, ale také to, zda byl do rozhodování zapojen. Zvláště důležité je, pokud hledáte někoho se zkušenostmi.

D. Otázka na chování pro vývojáře pythonu

  • Q5: Vzpomeňte si na rozhodnutí o programování projektu, které se vám nepovedlo. Proč si myslíte, že to byla chyba? Proč k němu došlo? Bylo možné udělat něco jinak, aby se změnilo v úspěch? Jaké kroky jste podnikli, abyste situaci zlepšili? Co jste se z této zkušenosti naučili?
  • Proč se ptát na otázku 5: Tento typ otázek vám pomůže zjistit, jak uchazeč vnímá svá rozhodnutí, vyvozuje závěry a jak moc se učí ze svých předchozích zkušeností.

3.3. Technická kontrola dovedností v jazyce Python pomocí online testu kódování

Online testy kódování mohou být skvělým způsobem, jak prověřit dovednosti v jazyce Python. Níže najdete informace o tom, jak můžete testy programování používat a které z nich si vybrat.

Online testy kódování Pythonu - primární nebo doplňková metoda screeningu

Některé společnosti používají test programování jako doplněk k výběru uchazečů po analýze životopisu a telefonickém nebo video pohovoru. Stále více společností se však obrací k testům programování jako k první metodě výběru programátorů. Společnosti mají v dnešní době tendenci vyzvat k absolvování testu všechny kandidáty, kteří se ucházejí o určitou pozici. Náboroví pracovníci tak věnují svůj čas pouze kandidátům, kteří zkoušku úspěšně absolvovali a prokázali tak, že mají programátorské dovednosti v jazyce Python. Na druhou stranu se po kandidátech nepožaduje, aby náborovému procesu věnovali příliš mnoho času na začátku - místo toho rychle vyplní test (obvykle během hodiny), a to v místě i čase, které jim vyhovuje.

Dovednosti vývojáře Pythonu na obrazovce s integrovaným prostředím PyCharm IDE

Ve společnosti DevSkiller stále posouváme hranice, pokud jde o testování vývojářů.

Naší poslední novinkou je, že uchazeči mohou řešit naše testy kódování v jazyce Python pomocí IDE PyCharm v prohlížeči z JetBrains. Žádné stahování, žádné čekání a žádný povyk.

Kandidáti ušetří čas během testování, protože nemusí čekat na instalaci závislostí nebo načtení programů. Mohou se rovnou pustit do práce a soustředit se na řešení našich testů kódování v jazyce Python, místo aby se učili, jak přimět primitivní IDE, které neznají, aby pracovalo v jejich prospěch.

Kandidáti již nemusí klonovat kód - mohou začít kódovat doslova hned po otevření pozvánky k testu. Kandidáti mohou spouštět jednotkové testy, prohlížet a přehrávat svá řešení stejně jako při běžné práci.


Pro vaši společnost to znamená, že nabídne lepší zkušenosti s uchazeči než kdykoli předtím. Znamená to také menší úbytek kandidátů v průběhu procesu. Čím rychlejší je proces, tím větší je pravděpodobnost, že jej vaši kandidáti dokončí. Znamená to, že vám ti nejlepší kandidáti neproklouznou mezi prsty.

Online test kódování v Pythonu - který si vybrat?

Na trhu existuje mnoho online testů kódování v jazyce Python, ale obvykle ověřují spíše znalosti uchazeče než jeho programátorské dovednosti a schopnosti řešit reálné problémy s kódováním. Proto mnoho zkušených programátorů nemá tento druh hodnocení rádo a navíc nejsou schopni získat dobré skóre, protože nemohou prokázat své zkušenosti a dovednosti při řešení reálných programátorských problémů.

Jaké vlastnosti by tedy měl mít dobrý kódovací test? Níže najdete mých 5 nejlepších vlastností, které byste měli hledat:

  1. Testy programování v jazyce Python by měly ověřit nejen znalosti Pythonu obecně, ale také frameworků a knihoven;
  2. Testy kódování v jazyce Python by se měly skládat z několika úloh, a to nejen z testů s výběrem odpovědí, ale především z programátorských úloh, jejichž obtížnost by měla odpovídat odpovědnosti, kterou uchazeči budou mít, pokud získají práci (testy by neměly být založeny na algoritmických úlohách, protože tak nemůžete ověřit, zda uchazeč dokáže řešit skutečné programátorské výzvy);
  3. Úlohy pro programování v jazyce Python by měly být nejlépe připraveny na vlastní kódové základně společnosti, protože to je nejlepší způsob, jak napodobit výzvy, se kterými se uchazeč setká, jakmile získá práci;
  4. Nemá smysl zakazovat programátorovi používat externí zdroje. Nejlepším způsobem je vytvořit prostředí podobné tomu, jaké by měli v práci, takže mnohem vhodnější je otevřená zkouška. Kandidát by navíc měl mít možnost používat své preferované IDE, stejně jako to dělá každý den.
  5. Součástí testů kódování může být také úloha s výzvami pro kontrolu kódu, která prověří dovednosti v jazyce Python. To poskytuje velmi přesné informace o zkušenostech kandidáta, jeho přístupu ke kvalitě kódu a efektivitě ladění a hledání pastí. Takové hodnocení by mělo být při náboru seniorních vývojářů Pythonu povinné.

Poznámka redakce: Tento příspěvek byl původně zveřejněn 28. února 2016. Byl rozsáhle aktualizován, aby představoval nejnovější technické informace a osvědčené postupy.

Autor - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton developer technické dovednosti

Wojtek je praktický vedoucí pracovník s ~10 lety zkušeností s API / webovými aplikacemi v jazycích Python a Java. Pracoval jako Head of Engineering @ Polidea, CTO @ GrowBots a aktivně se účastní jako Community Leader @ Warsaw Java User Group a Mobile Warsaw a organizátor konference MCE. Přispěvatel do open source knihoven, softwarový vývojář, zastánce agilního přístupu. Pracoval v několika oblastech podnikání, např. prodej, reklama ve starých i nových médiích, e-mailový marketing, farmaceutická korporace, portály financované EU, velkoobchod s knihami a další) a přeměňoval obchodní potřeby na specializované aplikace.

DevSkiller připraven k použití online testů pro hodnocení kódování v jazyce Python

DevSkiller pomáhá společnostem při náboru IT pracovníků tím, že jim poskytuje infrastrukturu, která jim umožňuje testovat programátorské dovednosti uchazečů v prostředí, které napodobuje první den v práci. Umožňujeme firmám používat vlastní kódovou základnu, celé IT projekty využívající frameworky a knihovny, a testovat tak programátory online. Máme však také několik hotových testů kódování v jazyce Python, které můžete použít ve své kampani pro nábor technických pracovníků.

Python
SENIOR
Testované dovednosti
Doba trvání
82 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí Velká data, PySpark, Python

Mezery v kódu

hodnocení znalostí SQL

Programování - Úroveň: těžká

Python | PySpark | Fleet management corporation - Detekce překročení rychlosti a ověření správnosti existujícího prediktoru.

Python
STŘEDNÍ
Testované dovednosti
Doba trvání
120 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí Python

Úloha programování - Úroveň: - Střední úroveň

Python | Přehled o prodeji vozidel - Implementace aplikace pro vytváření přehledů na základě datového skladu o prodeji vozidel.

Sdílet příspěvek

Další informace o najímání zaměstnanců v oblasti technologií

Přihlaste se k odběru našeho vzdělávacího centra a dostávejte užitečné informace přímo do své e-mailové schránky.

Bezproblémové ověřování a rozvíjení dovedností v oblasti kódování.

Podívejte se na produkty DevSkiller v akci.

Bezpečnostní certifikace a shoda s předpisy. Zajistíme, aby vaše data byla v bezpečí.

Logo DevSkiller Logo TalentBoost Logo TalentScore