8 nezbytných vlastností skvělého vývojáře softwaru

Vydáno: Poslední aktualizace:
10 silných stránek superúspěšných inženýrů

Když jsem před sedmi lety založil DevSkiller, cílem mého týmu bylo pomáhat firmám najít skvělé vývojáře. Od té doby jsem měl možnost spolupracovat s firmami z žebříčku Fortune 500 i s menšími společnostmi po celém světě. Mluvil jsem s lidmi z technických oborů, jako jsou techničtí ředitelé, IT manažeři, vedoucí týmů, členové týmů a zástupci personálního oddělení. Všichni tito lidé byli zodpovědní za vyhledávání a najímání špičkových technických talentů. Všichni se potýkali s univerzálním problémem: jak najmout skvělé programátory. Také oni se honili za stejnými vývojářskými silami.

Vše začíná rozpoznat dobrého vývojáře, když ho vidíte. To nás přivádí ke klíčové otázce: Jaké jsou hlavní silné stránky vývojářů? O tomto tématu se vedla rozsáhlá diskuse. Doporučuji vám přečíst si tuto Vlákno Quora. Je plná postřehů od několika významných osobností z oboru.

Na základě našich vlastních zkušeností, stovek rozhovorů a desítek otoček na naší cestě bychom se měli zapojit do diskuse. Přišli jsme s seznam klíčových vlastností softwarového inženýra.

Silné a slabé stránky vývojáře softwaru

1. Zvědavost

"Zvědavost je ve velkých a velkorysých myslích první a poslední vášní.", řekl Samuel Johnson. To platí i pro vlastnosti dobrého programátora (a jeho skvělé a velkorysé mysli). Podívejme se po současnějším odkazu, který Johnsonův názor rozvíjí. Dan Pupius říká, že "zvědavost je důležitá po celý život inženýra". Tlačí vás k tomu, abyste učit se nové jazyky, experimentovat a hledat nová řešení. To je přesně to, co chcete od inženýra. To vás také vede k tomu, abyste zkoumat architektonická rozhodnutí ostatních, jakož i otázka předpoklady. Pupius tvrdí, že mnoho vlastností, které jsou obvykle spojovány s velkým inženýrstvím, "pramení z bohatého smyslu pro zvědavost".

John Allspaw, technologický ředitel společnosti Etsy, ve svém příspěvku "O pozici vedoucího inženýra". Říká, že špičkoví vývojáři jsou zvídaví. Při práci mají tendenci klást otázky sobě i svým kolegům.

  • "O co jsem mohl přijít?"
  • "Jak to, že to nefunguje?"
  • "Mohl bys prosím do mého uvažování o tomhle udělat co nejvíc děr?"
  • "I když je technicky v pořádku, je dostatečně srozumitelný pro zbytek organizace, aby ho mohl provozovat, řešit problémy a rozšiřovat?"

Nemohu než souhlasit. Na první pohled se může zdát, že tyto otázky pokládá sériový pesimista. Ve skutečnosti tomu tak není. Klade je zvídavý jedinec s vášní pro psaní. elegantní a samokonzistentní systémy. Nepleťte si důkladnost s přístupem "všichni jsme odsouzeni k zániku".

síly vývojářů zvědavost konec je blízko znamení

Zdroj: Stručný popis kampaně

2. Technické dovednosti

Rahul Varshneyaříká, že "výtvarné umění a programování jsou si podobné že skvělé technické dovednosti neznamenají skvělého umělce nebo programátora". Skvělost nevychází pouze z technických dovedností. Nemůžete však očekávat výjimečné výsledky od lidí, kteří nemají správné dovednosti pro danou práci. O dovednostech byste měli uvažovat jako o jednom z prvků skládačky, který sám o sobě mnoho nezmůže. Mohou však dokázat zázraky, pokud jsou doprovázeny dalšími silnými stránkami vývojáře. Přítomnost klíčových silných stránek a vlastností softwarového inženýra je naštěstí velmi snadné ověřit s pomocí testy kódování.

Nezapomeňte, že znalost technických detailů je důležitá. Pokud narazíte na nadějného kandidáta, který vykazuje všechny silné stránky vývojáře, ale stále se učí, zvažte jeho přijetí na juniorskou pozici. Budete překvapeni, jak daleko to mohou dotáhnout.

Rychlost a produktivita

A Studie Sackmana, Eriksona a Granta zjistil desetinásobný rozdíl v produktivitě programátorů. Výzkum však není bez chyb. Nezohledňuje "rozdíly v individuálních schopnostech". Kombinuje také výsledky od uživatelů pracujících v nízkoúrovňových a vysokoúrovňových programovacích jazycích.

Výzkum silných stránek vývojářů 1960 graf produktivity

Zdroj obrázku: Construx.com

Steve McConnell tvrdí, že dostupné výzkumy na toto téma na toto téma není bez omezení. Je to ne průkazné, ale rozhodně naznačující. A přesně tak byste se na to měli dívat.

Platy to často neodrážejí řádově větší rozdíly mezi vývojáři. Existuje způsob, jak měřit produktivitu vývojářů, a měli byste se o to vůbec pokoušet?

Měření produktivity vývojářů nám bohužel dosud unikalo. Víme, že řádky kódu (SLOC neboli Source Lines of Code) nejsou měřítkem, které by bylo synonymem hodnoty vývojáře. Ve skutečnosti platí, že méně je ve světě kódu více (pokud je kód konzistentní a plně funkční). Podle Phil Haack, přičemž stručný, udržovatelný a srozumitelný kód. je lepší než rychlé děrování objemů kódu. Proč? Přemýšlejte o tom, co se stane, když chcete přidat nové funkce nebo aktualizace. Rozluštění křehkého kódu a jeho oprava obvykle zabere hodiny. S tím obvykle souvisí i vysoká cena. Řeknu to takto: to, co ušetříte na rychlém, ale nedbalém vývojáři, nakonec utratíte za tým QA..

dilbert karikatura s vtipem o silných stránkách vývojářů

Zdroj: Dilbert

Pokud vás zajímá produktivita v IT, přečtěte si "Mýtus o produktivitě vývojářů" Dustin Barnes.

Informovanost

Paul Haack říká, že nejlepší vývojáři vědět, kdy kódovat a kdy ne. Tvrdí, že vynalézání nového kola projekt zbytečně zatěžuje. Místo toho použijte existující knihovny, abyste ušetřili čas. Zní to logicky, že? Dělat vše od začátku je však stále jedním z největších zlodějů času.

Povědomí také se projevuje prostřednictvím prahu tolerance k riziku.. To je zásadní, protože často je třeba refaktorovat živé systémy. Tam se může něco pokazit. Schopnost realisticky vyhodnotit riziko, aniž by se vám do cesty postavilo ego, je rozhodně jednou z klíčových silných stránek a vlastností softwarového inženýra.

3. Intuice

Jak tvrdí Varshneya, zatímco někteří vývojáři se snaží přijít s řešením, pro jiné je to přirozené. Je to, "jako by je zasáhlo zjevení v okamžiku, kdy sedí a mají vytvořit programy nebo vyřešit problém".

doge meme velmi pronikavý vývojář síly vtip

Skvělí vývojáři softwaru intuitivně chápat algoritmy a architektury. Tato schopnost jim umožňuje rychle se učit, což nás přivádí k další vlastnosti.

4. Láska k učení

Podle Johna Krystynaka, "skutečný závazek k neustálému vzdělávání" je jedním z klíčové silné stránky vývojářů. "Musíte milovat základní praxi, kdy každý den přecházíte od nevědění k vědění", jinak v tom nebudete dobří.

To platí zejména ve světě IT. Je sice užitečné mít svůj způsob, jak věci dělat, ale je nezbytné, abyste se odvážili opustit to, co znáte. Najděte rychlejší způsoby, jak věci udělat. Jedním ze způsobů, jak toho dosáhnout, je všímání si vzorů a vyvozování závěrů.

Pokud jste dobrý vývojář, můžete se rozvíjet mnoha způsoby (slovní hříčka).

  • Účast na oborových akcích, jako jsou konference a hackathony. Thomas So z AppLovin je nazývá školení o připravenosti na zaměstnání.
  • Hledání mentora.
  • Práce na vedlejším projektu.
  • Požádání o zpětnou vazbu od kolegů.

5. Přizpůsobivost

Svět IT se rychle mění a jako dobrý vývojář se musíte umět přizpůsobit. Je jisté, že si najmete lidi, kteří jsou stále hledání nových nástrojů a způsoby, jak věci dělat. Často sledovat novinky v oboru a jednoduše péče o řemeslo.

Čím více toho víte, a to i mimo preferovanou technologii, tím větší přínos máte pro svůj tým i celou organizaci. Jak uvádí . Marius Mazilu tvrdí, že "rozmanitost technologií se natolik rozšířila, že být specialistou na jednu konkrétní technologii nemusí být nutně zárukou úspěchu". Podle Mazilu je rozhodující být všestrannější. To proto, že vyspělé technologie jsou stabilnější a nedokážou držet krok. To znamená, že váš soubor dovedností rychle zastarává. Na druhou stranu nové frameworky obvykle vyžadují obrovské časové investice, protože jsou nestabilní. Jak tvrdí, "jednoho dne můžete být šokováni, když zjistíte, že vám lásku neopětují".

Mazilu má 7 jednoduchých pravidel byste měli sledovat, abyste držet krok s technologiemi.

  1. Důvěřujte instinktům.
  2. Vždy se vraťte k základům.
  3. Pozor na stříbrné kulky. Patří mezi ně dobře prodávané technologie, které jsou hojně využívány, protože se do projektu nehodí.
  4. Naučte se ladit.
  5. Naučte se psát scénáře.
  6. Nebuďte posedlí tím, jak váš kód vypadá.
  7. Jděte s davem.

6. Pozitivní přístup

Pozitivní přístup je jednou z klíčových vlastností skvělého vývojáře softwaru. Jednou z vlastností dobrého programátora je to, že den co den řeší problémy, ale to neznamená, že by měl se jimi zabývat. Přístup "getting sh*t done" je velmi potřebný, částečně proto, že úkoly a lístky mají tendenci se hromadit. Je důležité se rozhodnout, kdy je čas vytlačit dostatečně dobré řešení ze dveří a přejít k další věci na seznamu. Výhrada by zde měla znít, abyste vývojáře nezaplavovali větším množstvím úkolů, než jsou schopni zvládnout, a udržovali věci realistické.

Damien Filiatrault uvádí "pozitivní přístup" na prvním místě seznamu základních vlastností dobrých vývojářů. Říká, že můžete otestovat situaci a položit několik zdánlivě jednoduchých otázek typu "small talk", abyste zjistili, zda se odpovědi soustředí na pozitiva nebo negativa. Mezi tyto otázky patří např:

  • "Považujete se za šťastného? (namyšlený nebo skromný).
  • Jak se vám dojíždělo na pohovor? (stěžovatel nebo bez obav)".

7. Přijetí mentorství

John Krystynak říká, že "skvělí programátoři se nestávají skvělými v izolaci". Za to, že to říká, mu skládám poklonu. Jedním z důvodů, proč model mentoringu v IT tak dobře funguje, je, že někteří dobří vývojáři se nejlépe učí praxí.. Pokud můžete sledovat zkušeného kolegu při práci, zabere vám to méně času. Dalším důvodem, proč špičkoví technici obhajují mentoring, je to, že vyžaduje, abyste odhalili své silné i slabé stránky. To vás naučí mnohé o udržet své ego na uzdě.

Jednou z nejlepších věcí, které můžete jako zaměstnavatel udělat pro podporu takového přístupu ve vaší organizaci, je spojit zkušené programátory s nováčky. Možná si myslíte, že to nejspíš zatíží mentora, který je už tak nejspíš více než zaneprázdněn. Mějte na paměti, že jak mentee a mentor se z tohoto uspořádání učí.. Pokud svému svěřenci něco nedokážete vysvětlit, znamená to, že tomu dostatečně nerozumíte. Nebo to nedokážete dostatečně dobře sdělit. Znamená to, že v tomto vztahu existují příležitosti k učení pro obě strany.

8. Komunikační dovednosti

Damien Filiatrault uvádí, že "dobré komunikační dovednosti přímo souvisí s dobrými vývojovými dovednostmi.." Tady je důvod.:

  • Musíte vědět, na co se ptát, když něčemu nerozumíte nebo si to potřebujete ověřit.
  • Na základě komunikace s kolegy je možné se domluvit. To znamená, že nemusíte se spoléhat na písemné specifikace.
  • Koncepty jsou rychle pochopeny a sděleny v týmu úspěšných vývojářů.
  • Jednou z vlastností dobrého programátora je, že dokáže přesvědčivě komunikovat s technickými i netechnickými pracovníky..

Silné stránky vývojářů: závěr

Najít vynikající programátory je stále obtížnější. Technologický průmysl prochází situací nedostatku talentů. To znamená, že potřebujeme více vývojářů, než kolik jich můžeme najít, a společnosti se snaží se snaží přilákat špičkové technologické talenty.

reklama společnosti Google zaměřená na klíčové silné stránky vývojářů

Identifikace silných stránek vývojářů, které jsou pro rozvoj vašeho podnikání klíčové, je nutností. Buďte však rychlí! Když narazíte na slibného kandidáta, jednejte rychle. V situaci nedostatku se náboráři perou o stejné kandidáty.

Jaké jsou hlavní silné stránky vývojářů? Těšíme se na vaše názory!

Poznámka redakce: Tento příspěvek byl původně zveřejněn v dubnu 2017 a byl aktualizován, aby byl přesný a úplný.

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