Třetí nejsložitější věc v IT? Najmout JavaScript vývojáře


Když jsem začínal programovat v roce 2001… Touhle větou bych mohl začínat už pomalu každý článek, ale svět byl tak nějak jednodušší, nebo se mi to aspoň zdá z nostalgie.

Publikováno: 11.9.2017

Text vyšel původně na autorově blogu.

Začínal jsem jako vývojář frontendu. Tenkrát se tomu myslím říkalo webových aplikací. K mojí výbavě patřila znalost klasických technologií HTMLCSSJavaScript, prohlížečů (tenkrát pravda to byl Internet Explorer a asi Mozilla nebo Netscape?) a trochu těch obskurních v podobě XML a XSLT.

To byly časy, kde vrcholem extáze bylo, když vám fungoval document.getElementById. Fakt nekecám. Ty specifikace byly tenkrát asi nějak malé a nebo jednodušší, protože se předpokládalo, to zvládne jeden člověk. Bylo to i dost praktické, protože to na čem dneska dělají tři lidé — designer, HTML koder a JavaScript vývojář — jsem dělal sám, věděl jsem co asi půjde a jak udělat a nestřílel jsem se do nohy. No a samozřejmě to bylo levnější. Pracovat na webové aplikaci, tedy abych byl přesnější, na jejím ksichtu, bylo tenkrát bráno jako vstupenka mezi opravdové programátory. Něco jako když vás vzali na střední. Nic to neměnilo, ale člověk se cítil lépe. Tenhle svět jsem opustil po pár letech a dění kolem webových technologií sledoval jenom skrze to, co jsem pochytil od kolegů případně hostů našeho CZpodcastu.

Frameworky, frameworky, frameworky

Byl jsem bystrý posluchač, a proto mi neuniklo jQuery, YUI, nástup MVC frameworků jako Angular.js, a tak dále až po React.js, izomorfní aplikace a vůbec etablování JavaScriptu jako server side technologie. Slyšel jsem o problémech, které jsme měli v Gooddata s Ember.js a těžkostech s najímáním lidí a přepisu do React.js. Ovšem kritičnost situace jsem pochopil až v Zonky.cz. Najít schopné JavaScript vývojáře je prakticky nemožné, je to třetí nejsložitější věc po invalidaci cache a pojmenování věcí.

V následujícím textu si prosím dosaďte za zmiňované technologie-frameworky vaše oblíbené. V JavaScript světě totiž nemůžete udělat chybu, co se týká toho, že když řeknete technologie A, uslyšíte B, C, D a E, jak vysvětlím za chvilku. My používáme Angular.js a Ember.js. Od Angular.js tedy odcházíme k Ember.js. Na ten framework existují dva názory. První, je to úplně špatný framework, jste blázni. Druhý, není to špatný framework. Většinově převládá názor první. To může ovšem znamenat, že většina se mýlí. Ostatně nebylo by to poprvé. Jedním z rysů JavaScriptového světa je jeho nedospělost nejlépe charakterizovaná bonmotem “každý den vznikne alespoň jeden framework”.

Pamatuji si jako dnes výsměch z koutku našich JavaScript kamarádů na téma Maven a poznámek na konto “to vám stáhne půlku internetu”. No a potom vymysleli NPM. Akorát zapomněli na fixování verzí a immutabilitu tranzitivních závislostí. No a potom někdo smazal knihovnu na left pad a položil druhou půlku internetu.

To, že nejsme schopni najít Ember.js vývojáře, může být způsobeno několika faktory:

  • Všichni chtějí dělat v React.js nebo Angular 4 (či jak to chytré hlavy z Google právě verzují).
  • Ten framework fakt stojí za starou belu.
  • Vývojáři prostě nejsou.
  • Nejsme zajimavý projekt.

Poslední odrážku prozatím vynechám a vrátím se k ní pozdějí. Předposlední odrážce nikdo nevěří. Druhá odrážka může být implikována první. Pojďme se jí tedy zabývat.

Chtějí skutečně všichni dělat pouze a jenom v jedné technologií?

S Reactem, abych byl konkrétní. Myslel jsem si tedy, že s Reactem nemůžeme šlápnout vedle. A ejhle. Podle reakcí to vypadá, že nikoliv React, ale Vue.js hýbe světem a nikoliv EcmaScript, nýbrž Elm. Sorry jako.

A tak je to v JavaScript se vším.

Neexistuje nic jako psaný či nepsaný standard jako v Javě Jiřím Fabianem toliko vysmívaný Spring framework. Co mě fascinuje je fakt, že vývojáři vůbec neřeší produkt, na kterém budou dělat. Když jsme u Reactu, Facebook se nabízí sám. Určitě jste narazili na spoustu lidi, kteří ohrnovali nos nad PHP. Vsadím se s vámi o měsíční výplatu, že devět z deseti z těchto lidí by šlo do Facebooku hned. A to by tam mohli psát třeba v Perlu, jenom aby tam byli. Stále opakuji dokola, řešte produkt, business technologie půjdou kolem. Bohužel přístup je spíše opačný, nejdůležitější jsou technologie. Jestli je ten důvod lepší uplatnitelnost na trhu, touha hrát si s něčím novým nebo kombinace obojího či něco dalšího, to bohužel netuším.

Přes všechny sympatie, které k Reactu chovám, mi přijde podobný přístup nebezpečný pro firmu, která se rozhodne s vývojáři tuhle hru hrát. Dejme tomu, že bych našel pět vývojářů na React.js, protože je to aktuálně v módě. Co by se asi stalo, kdyby byl za rok v módě Elm? Znamenalo by to, že to budeme celé přepisovat? Pravděpodobnost, že by se tech pět shodlo, je malá, spíše by se ten tým rozpadl. Tuhle hru můžete hrát, ale vždycky budete tahat za kratší část provazu.

Technologie by podle mě neměla být tím nejhlavnějším kritériem a pokud je, je otázkou, zdali o takového vývojáře vůbec stojíte.

Tento web používá k poskytování služeb, zobrazení reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tímto souhlasíte. Další informace