Hlavní navigace

Potřebujeme vynikající programátory?

21. 4. 2014 23:13 (aktualizováno) | zboj

Jeden článek na Priceonomics o rostoucím počtu absolventů s PhD a jejich potížích s uplatněním na trhu práce mne inspiroval k zamyšlení nad možnostmi uplatnění opravdu dobrých programátorů, kterých jsou odhadem tak 2% (ne nutně PhD, ale je to vhodná analogie).

V praxi se setkáme s několika kategoriemi. Firmy chtějící maximálně ušetřit najímají studenty. U studenta se už z principu očekává, že se ještě učí a i práci vzal pro to, aby se naučil něco nového a získal praxi. Ekonomická stránka věci je diskutabilní, protože takový “učeň” často potřebuje na nějaké zadání déle času než zkušený vývojář, pro nějž je stejná věc rutinou. Ale to je problém firem. Studenty tedy nechme stranou s poznámkou, že z nich bude to, co si z nich vychováme.

Nejrozšířenější kategorií je nejspíše samouk. Znalostí má asi tolik, co student (viz výše), ale není schopen (ať už je limitován intelektem nebo časem) a/nebo ochoten učit se nové věci a rozšiřovat si znalosti (nad rámec naprostého minima nutného k práci na projektu). IT je prostě (v tomto kontextu bohužel) ekonomicky atraktivní obor a pracovní trh tak zaplavují lidé z jiných oblastí, kteří na to prostě nemají. Na druhou stranu ve firmách zase často sedí lidé neschopní oddělit “zrno od plev”. (Navíc s takovými “programátory” je utrpení diskutovat, ať už na internetu nebo v rámci firmy. Namátkou z reálného světa: “dozvěděl” jsem se, že C++ je náchylné na memory leaky, že pro volání nativního kódu z .NET je nezbytně nutné použít P/Invoke, že NP-úplné algoritmy jsou v praxi nepoužitelné, že nalezení algoritmu pro halting problem je jen otázkou času, že Javu se naučí každý vůl, a spoustu dalších nesmyslů.)

Dále máme běžné absolventy (magisterských oborů) IT. Ti mají často solidní základní znalosti a hlavně po úspěšném zakončení studia i schopnost učit se nové věci a vstřebávat další informace. VŠ je v podstatě jakýsi filtr, neboť jen dostatečně motivovaní projdou s úspěchem labyrintem zkoušek, studentských projektů a státnic (nehledě na obecný fakt, že nikdo by nechtěl být operován “lékařem” bez odpovídajícího vzdělání, tak proč pouštět na IT projekty laiky). S takovými lidmi mám vesměs dobré zkušenosti, protože jsou schopni pracovat a učit se samostatně. A to stojí za pár vydaných korun navíc.

A teď k jádru článku. Vynikající programátor je (podle “mé” provizorní definice, klidně ji v komentářích pozměňte nebo rozšiřte) někdo s kvantem znalostí, jež přesahují IT (kromě nezbytné matematiky se jedná o různé mezní obory jako bioinformatika, chemoinformatika, komputační lingvistika apod., to už je individuální), rutinní znalostí programování a hlavně inovativním myšlením. Problém je, že nejenže je takových lidí poskrovnu, ale jsou neskutečně drazí. Takový člověk je něco jako Porsche, přičemž z pohledu ekonoma (nebo majitele IT firmy) je lepší koupit si solidní Octavii za desetinu ceny, než sice parádní, ale úzkoprofilový sporťák (výjimkou jsou jen firmy, kterým se extra daří a topí se v penězích, ty si mohou postavit celé týmy skládající se výhradně z takových zaměstnanců). Na druhou stranu je blbost kupovat superlevné čínské auto, které sice možná dojede z autosalonu do garáže, ale po srážce s jízdním kolem (sic!) je z něj šrot (kdo se poznal v čínském šrotu, nechť se prosím zdrží komentářů).