Rozdíly mezi juniorním, středním a seniorním vývojářem

Vydáno:
Mladší vývojář

Pravděpodobně si říkáte, že v oblasti vývoje softwaru jsou pojmy "junior", "mid-level" a "senior" jen nálepky - a máte pravdu. Ale ať už se vám taková označení líbí, nebo ne, jsou užitečná, protože umožňují diskutovat o souboru očekávání pro určitou roli. Ano, je to přílišné zjednodušení, ale je to užitečné. Například nechcete najmout juniorního vývojáře, který má za úkol vytvořit architekturu zásadního upgradu staršího systému. Stejně tak nechcete plýtvat svým časem (nebo časem kandidátů) pohovory s kandidáty, kteří nemají ten správný potenciál. Vlastně ani nechcete, aby se do výběrového řízení hlásili zcela nevhodní kandidáti.

Vaším cílem je vytvořit týmy se správným poměrem juniorních vývojářů (tzv. vývojářů základní úrovně), vývojářů střední úrovně a seniorních vývojářů. Tímto způsobem vytvoříte kulturu, která může vést ke špičkovému sdílení informací, díky čemuž budou úkoly hotové a zároveň se ušetří peníze.

Mladší vs. střední vs. starší vývojář

Mladší vývojář vs. vývojář střední úrovně a starší vývojář. Mezi juniorními a seniorními vývojáři je mnoho skutečných rozdílů. Obecně platí, že otázka, zda se jedná o juniorního, středně pokročilého nebo seniorního vývojáře, nemá mnoho společného s tím, kolik let praxe má daný kandidát - juniorní vývojář může být dokonce starší než seniorní vývojář. Částečně jde o znalosti a technické dovednosti, které kandidáti získali. Především to ale hodně souvisí s tím, jak vývojář vnímá svou práci, jak komunikuje se svými kolegy a jak přistupuje k problémům. V tomto smyslu označení junior, mid-level nebo senior odkazuje především na určitou úroveň vyspělosti.

Mladší vývojář

Zdroj: Unsplash

Hlavní požadavky na juniorního vývojáře

Pokud jde o juniorské pozice. hlavním požadavkem je, aby uchazeči mít schopnost samostatně vykonávat technické úkoly. Často se myšlení juniorního vývojáře točí kolem toho, aby kód fungoval. Pokud je například projekt založen na stejném druhu architektury (a za předpokladu, že je taková architektura buď dobře známá, nebo dobře zdokumentovaná), pak by juniorský vývojář měl být schopen poměrně rychle implementovat další část logiky aplikace. Juniorští vývojáři nejsou zcela nezávislí a budou muset diskutovat o tom, jak implementovat určité prvky projektu. Pamatujte, že juniorští vývojáři píší fantazijní kód, protože je pro ně obtížné psát jednoduchý kód. Svůj hotový kód budou také muset zkontrolovat se starším softwarovým inženýrem. To také znamená, že můžete očekávat, že junioři nebudou rozumět všem nuancím v projektu a budou čas od času dělat chyby. Pro pořádek dodejme, že od juniorních vývojářů se neočekává, že budou navrhovat jakoukoli část architektury softwaru.

Mladší vývojář

Zdroj: Unsplash

Vlastnosti juniorního vývojáře

Při náboru vývojářů juniorské úrovně hledáte kandidáty, kteří mají určitou úroveň vyspělosti. V tomto případě byste chtěli, aby kandidáti prokázali vlastnosti, jako jsou:

  • Skutečná touha rozvíjet se a učit se
  • ochota poučit se z vlastních chyb.
  • Schopnost přijímat (konstruktivní) kritiku v klidu.
  • Skutečná energie a odhodlání

Jak vést pohovory s juniorními vývojáři

Uchazeči o pozici juniorního vývojáře musí prokázat, že:

  • Prošli jste celým vývojovým cyklem alespoň několikrát.
  • Mít určité znalosti příslušného programovacího jazyka a technologického balíčku.
  • Znáte většinu procesů spojených s tvorbou softwaru.
  • Máte velký zájem dozvědět se více o všem, co souvisí s tvorbou softwaru.
  • jsou schopni najít řešení drobných problémů
  • Může být produktivní při práci na konkrétní funkci produktu.

Otázky týkající se chování

Uveďte příklad situace, kdy jste:

  • Převzal iniciativu při řešení malého, ale významného problému.
  • Dokázali jste tým podpořit, i když jste s ním nesouhlasili.
  • Byli empatičtí vůči novému startérovi

Vývojář střední úrovně vs. juniorní vývojář a seniorní vývojář

Hlavní požadavky na vývojáře střední úrovně

U pozic střední úrovně je hlavním požadavkem, aby uchazeči byli schopni plnit úkoly samostatně. Tento požadavek není stejný jako hlavní požadavek na juniorní vývojáře, protože z definice bylo vypuštěno slovo "technický". Samozřejmě pokud nejsou vývojářům střední úrovně přidělovány velmi složité technické úkoly, které vyžadují hlubokou úroveň znalostí, měli by být schopni tyto úkoly samostatně plnit. Na této úrovni však musí vývojáři také porozumět obchodním požadavkůma následně je umět převést do technických řešení.

Vývojář střední úrovně vs. juniorní vývojář a seniorní vývojářVývojář střední úrovně vs. juniorní vývojář a seniorní vývojář

Zdroj: Unsplash

Vlastnosti vývojáře střední úrovně

Vývojáři střední úrovně musí být schopni přesně pochopit, co daná aplikace v daném kontextu dělá. Díky tomu budou schopni hlouběji porozumět jakékoli úloze. A proto mohou přesněji vyhodnocovat změny a efektivněji je implementovat. Ve fázi plánování se dobrý vývojář střední úrovně musí umět číst požadavky a vědět, že něco chybí nebo se dá zlepšit. Na druhou stranu juniorní vývojáři budou pravděpodobně implementovat přesně to, co je uvedeno v požadavcích. To znamená, že aplikace sice funguje správně (podle "šťastné cesty"), ale může spadnout poté, co uživatel provede nějakou nestandardní akci.

Vývoj kódu je týmová práce, takže standardizace je velmi důležitá, protože umožňuje novým pracovníkům rychle pochopit, co je co, a minimalizuje počet chyb. Díky pochopení struktury typické aplikace je její sestavení poměrně jednoduché. To zase umožňuje diskutovat o zásadách správné implementace a rozlišovat dobrý kód od špatného. Vývojář střední úrovně jistě zná standardní šablony a řešení při tvorbě aplikace ve svém oboru. Nejenže zná určitá řešení, ale skutečně chápe, proč jsou potřeba, a ví, kdy a jak je použít pro dosažení nejlepšího efektu.

Vývojář střední úrovně ví, jak efektivně a účinně komunikovat s ostatními členy týmu. A to platí zejména v situacích, kdy je obtížné dosáhnout konsenzu. To je důležité například při diskusi o subjektivnějších prvcích návrhu, při vyjasňování požadavků, které jsou ze své podstaty neúplné, při nějakém vážném časovém tlaku nebo při diskusi o zásadní změně způsobu práce.

Jak vést pohovor s vývojáři střední úrovně

Situační otázky

Uveďte příklady situací, kdy jste:

  • Byli jsme připraveni převzít úkoly, které nikdo neumí (nebo nechce umět) opravit.
  • Dokázali najít rovnováhu mezi složitostí a výkonem při řešení komplexního technického problému.
  • Podílel se na tvorbě analýzy požadavků
  • Podíleli se na testování softwaru
  • Podílel se na tvorbě dokumentace
  • Převzal iniciativu při řešení problémů a opravě kritických chyb.
  • Musel pracovat na několika projektech současně
Střední vývojář

Zdroj: Unsplash

Starší vývojář vs. vývojář střední úrovně a juniorský vývojář

Hlavní požadavky na seniorního vývojáře

Starší vývojář viděl spoustu kódu, udělal spoustu chyb a z celého procesu vyvodil správné závěry. Všichni vývojáři se neustále ptají. Rozdíl je v tom, že oproti typům vývojářů s menšími zkušenostmi umí seniorní vývojáři klást správné otázky na správné úrovni abstrakce. Hlavní odpovědností seniorního vývojáře je vždy to, aby zajistit, aby byla přijímána správná rozhodnutí. (s dostupnými informacemi v daném okamžiku), rozhodnutí, která vytvářejí maximální přínos pro podnik a minimalizují náklady. Dobrý senior vývojář vždy hledá způsoby, jak získat větší hodnotu, ale je si také vědom toho, že je třeba co nejlépe využívat zdroje, jako je čas a peníze. Dobrý seniorní vývojář vždy myslí na konečný bod, takže často dokáže vyřešit problémy ještě dříve, než se objeví. Například předem myslí na úzká místa systému, pamatuje na zranitelnosti a problémy způsobené nesprávným používáním nástrojů. Kód napsaný seniorním vývojářem bude vytvořen s ohledem na udržovatelnost a škálovatelnost.

Zdroj: Unsplash

Vlastnosti seniorního vývojáře

Dobrý senior vývojář musí:

  • Umět řešit několik složitých úkolů (a rychleji) než vývojář střední úrovně.
  • Umět rozlišit mezi "dostatečně dobrým" a příliš dobrým nebo nedostatečně dobrým výrobkem.
  • Zjistěte, jak se projevuje technický dluh. Kolik reálně stojí refaktorizace, jaké vzory jsou skutečně potřeba a kdy je třeba udělat čáru za úrovní abstrakce.
  • Mají vynikající komunikační schopnosti, protože musí ostatním nejen sdělit, jaké je "správné rozhodnutí", ale také přesvědčit klienta a tým, aby s ním souhlasili. Autoritářský přístup ("dělejte, co říkám") často vede k dalším konfliktům, což znamená, že nedochází k žádnému pokroku ve zlepšování celkové situace.
  • Umět vysvětlit a zdůvodnit každé důležité rozhodnutí tak, aby mu všichni zúčastnění skutečně rozuměli. Tímto způsobem má tým sám možnost poučit se ze svých zkušeností, a tak se rychleji rozvíjet a zároveň se vyhnout většině bolestivých míst na této cestě.

Závěr

Mezi juniorními, středně pokročilými a seniorními vývojáři je mnoho důležitých rozdílů. Při najímání jakéhokoli typu vývojáře je důležité zvážit celý soubor dovedností, které každý vývojář přináší. Mnoho lidí věnuje pozornost letům zkušeností, což je důležité, ale je také třeba najímat lidi podle toho, jakou práci jsou schopni dělat, a ne podle toho, co dělali v minulosti. Pokud tedy narazíte na vývojáře, který se jeví jako nadějný, možná by bylo dobré ho přijmout a umožnit mu profesní růst.

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