Prečo je tak ťažké zohnať dob­rého front-end prog­ra­má­tora?

Sebastián Mach / 14. november 2015 / Tools a produktivita

To je férová otázka. Pre nezain­te­re­so­va­ných sa prog­ra­mo­va­nie front-endu zdá ako veľmi jed­no­du­chá zále­ži­tosť. Keď to je však pravda, prečo je tak kom­pli­ko­vané nájsť dob­rého a lac­ného prog­ra­má­tora, ktorý si s touto čas­ťou webu poradí?

Odpo­veď je jed­no­du­chá. Prog­ra­mo­va­nie kva­lit­ného front-endu je rov­nako ťažké ako ľubo­voľné iné zamest­na­nie, či zame­ra­nie, ak ho chcete robiť kva­litne. Ak si si ho nikdy prog­ra­mo­vať neskú­sil, zrejme je pre teba ťaž­šie poro­zu­mieť, nakoľko špe­cia­li­zo­vaní musia títo deve­lo­peri byť a čo všetko musia ovlá­dať.

Front-end je kom­pli­ko­va­nejší ako sa zdá

Netvr­dím, že back-end alebo ser­ver-side deve­lop­ment je jed­no­du­chý ako facka, ale je dôle­žité uznať aj nároč­nosť rie­še­nia prob­lé­mov na strane kli­enta. Ako front-end deve­lo­per robíš väč­šinu práce v jazy­koch HTML a CSS, v kto­rých rie­šiť prob­lémy nie je naj­jed­no­duch­šie. JavaSc­ript čias­točne pomáha, ale čím viac kódu pou­ži­ješ, tým horší bude výkon stránky. Napí­sať efek­tívny front-end je ume­nie. Navyše, keď sa stránka roz­ši­ruje a ras­tie, práca s CSS je naozaj boles­tivá. Jazyk je pomerne sta­tický a musíš si pamä­tať pri­veľa vecí.

Frond-end sa učí ťažko. Prak­tiky sa neus­tále menia a neus­tále sa musíš vzde­lá­vať (res­pon­zívny web, HTML App­Ca­che, CSS trans­forms, WebGL, atď.) Každá tech­no­ló­gia pri­náša pre front-end deve­lo­pe­rov nové prí­le­ži­tosti, ale tiež mení ich pra­covné postupy. Absol­vo­vať kurz nestačí. Vyuču­júci na výš­kach a kurzoch(väčšinou) nedo­kážu držať krok s trhom a rých­lymi zme­nami vo svete fron­tendu, preto nemô­žeme čakať, že každý čerstvý prog­ra­má­tor bude dobrý a skú­sený. Po takomto kurze alebo výučbe je deve­lo­per väč­ši­nou stále pozadu. Necháp ma zle, základy sú dôle­žité. Ale ak chceš počuť pravdu, u nás na ško­lách sa nešpe­cia­li­zu­ješ. Je to len a len na tebe.

Front-end je viac než len prog­ra­mo­va­nie

Nejde tu len o kód. Dôle­žité je, ako kód spo­lu­pra­cuje s pou­ží­va­te­ľom. Dobrý front-end pomáha pou­ží­va­te­ľovi a slúži mu. Naopak zlý mu bráni a tvorí fasádu medzi ním a služ­bou. K tomu, aby deve­lo­per vytvo­ril kva­litný front-end, musí mu byť jasné, ako vytvo­riť výkonný web a musí tiež čo zaručí úspech stránky. Fron­ten­ďák musí ovlá­dať http cacho­va­nie, musí vedieť opti­ma­li­zo­vať a tiež by mal doká­zať písať čo naj­struč­nejší kód a ten redun­dantný odstra­ňo­vať.

Aby sa však nepo­ve­dalo, že je toho málo, ak kódiš front, mal by si mať cit pre mar­ke­ting. Pocho­piť mys­le­nie zákaz­níka a vedieť, či upred­nost­niť rých­losť nad fun­kci­ona­li­tou, alebo opačne je kľú­čové. Ide­álne by si mal mať zvlád­nuté aj základy teórie dizajnu. Ďaľ­šou dôle­ži­tou oblas­ťou front-endu je bez­peč­nosť. Je dôle­žité aby si vedel stránku ochrá­niť pred rôz­nymi útokmi ako sú DNS pin­ning, či clickjacking(prinútenie uží­va­teľa klik­núť na niečo, na čo by nemal.) Každý fron­ten­ďák musí navyše ovlá­dať aj tro­cha back-endu. Bolo by predsa fajn, keby chá­peš čo tá stránka ( a ako) vlastne robí.

Byť dob­rým fron­ten­ďá­kom zna­mená vytvo­riť niečo, čo má byť kom­pa­ti­bilné so VŠET­KÝM

Vývo­jári Peter-Paul Koch(výskum­ník webo­vých pre­hlia­da­čov), Doug­las Crock­ford(ame­rický vývo­jár, pod­ni­ka­teľ a jeden z inži­nie­rov, ktorý pra­cuje na vývoji jazyku JavaSc­ript) a Nicho­las Zakas(autor mno­hých kníh o prog­ra­mo­vaní) sa všetci zho­dujú. Front-end ja naj­viac nepria­teľ­ské pro­stre­die pre vývo­jára. Dôvod? Kom­pa­ti­bi­lita. Keď fron­ten­ďák dokončí svoju prácu (a mnohú prácu iných) môže začať nová výzva. Musí sa uis­tiť, že jeho výtvor fun­guje správne vo všet­kých pre­hlia­da­čoch, na všet­kých mobil­ných a iných zaria­de­niach. To môže byť veľmi veĺa práce. 

Rýchla otázka. Koľko pre­hlia­da­čov vieš z hlavy vyme­no­vať? Aby sme ich pár spo­me­nuli: Chrome, Fire­fox, Opera, Safari, Inter­net Explo­rer — a teraz už aj Edge. A to sú len tie naj­pou­ží­va­nej­šie, neho­vo­riac o tom, že v ich pre­doš­lých ver­ziách môžu fun­go­vať inak ako v tej naj­nov­šej. Aj to treba ošet­riť. Dobrý pro­dukt fron­ten­ďáka fun­guje všade správne. Doká­zať to je však časovo náročné a vyža­duje skú­se­nosti… A to sme spo­me­nuli v pod­state iba sto­lové počí­tače a note­bo­oky. Ak zahr­nieme všetky rôzne zaria­de­nia, ktoré exis­tujú s rôz­nymi metó­dami vstupu, s rôz­nymi veľ­kos­ťami obra­zo­viek, s rôz­nym roz­lí­še­ním… asi už máš pred­stavu, koľko s tým je roboty. 

Takže prečo je ťažké nájsť dob­rého front-end deve­lo­pera? Pre­tože byť jed­ným, je ťažké — zrejme oveľa nároč­nej­šie, ako si pred­sta­vu­ješ. Dobrý fron­ten­ďák musí byť trpez­livý, zanie­tený, musí byť ochotný spra­viť aj veci, ktoré nie sú jeho povin­nos­ťou a to všetko za pod­mie­nok, že jeho výtvor bude fun­go­vať na veľ­kom množ­stve zaria­dení správne. Nájsť toľko kva­lít v jed­nom člo­veku nie je často ako nájsť poklad.

Zdroj: medium.com

Pridať komentár (0)