Čo by ste mi poradili?

Čo by ste mi poradili?

Minule som dostal otázku od človeka, ktorý by sa chcel stať programátorom.

„Čo by ste mi poradili? Špecializovať sa na Frontend/Backend/Fullstack?“

Podľa mňa otázka vychádza z nesprávneho pohľadu na vec.

Špecializovať sa na Frontend/Backend/Fullstack?

Pre a proti špecializácie

Akákoľvek úzka špecializácia zatvára človeku pohľady na vec z inej perspektívy. Samozrejme nedá sa naučiť všetko, ale uzavrieť sa do akejsi bubliny špecializácie, dáva iba obmedzené výsledky.

A to nehovorím iba o programátoroch, ale všeobecne. Platí to pre akúkoľvek činnosť.

Najvypuklejšie je to v medicíne. Moderná medicína si človeka rozparcelovala na malé kúsky a vytvorila množstvo špecializovaných odborov. Sú tu odborní špecialisti na oči, srdce, pľúca, mozog, kosti, kožu atď. Nepopieram, že vo svojej špecializácii sa vyznajú, ale človek nie je jednočlánkovec. Človek je komplikovaný tvor. Úzka špecializácia dospela do stavu, že ak ide o niečo bežné, tak vám lekár možno pomôže. Ale stále oveľa častejšie sa stretávame s tým, že prídete za lekármi a tí si vás začnú posielať na rôzne špecializované vyšetrenia. Všade vám povedia, že to je OK, to je v norme, ale v konečnom dôsledku vám nevedia pomôcť a problém, s ktorým ste za nimi prišli, pretrváva.

Lekár si vykáže úkony, poisťovňa alebo vy osobne si to zaplatíte, ale výsledok je ako jeden bývalý kandidát na prezidenta hovorí “nu-lit-ný”. Čiže vám nepomohli.

Vráťme sa ale k programovaniu.

Podľa môjho názoru, ktorý som si vytvoril počas dlhoročnej praxe v IT, som presvedčený, že špecializovať sa na jeden programovací jazyk, či jednu časť tvorby webu, či aplikácie síce robí z programátora špecialistu na danú technológiu, ale bohužial konečný výsledok pre užívateľa je väčšinou dosť biedny.

Preto aj v IT vznikli rôzne pozície od konzultantov, cez programátorov, testerov, grafických, či UX dizajnérov a pod. Proces vývoja aplikácií sa rozparceloval na menšie úkony a tieto robia špecialisti.

Výsledkom je, že užívateľ vznesie požiadavku. Konzultant si ju zapíše ako ju pochopil. Toto predá programátorovi, ten to urobí ako to pochopil z podania konzultanta. Tester to testuje a zistí, že to funguje inak ako by očakával, hoci nemá ani šajnu ako to chce pôvodný užívateľ. Tak sa to ešte nejak pozmení, aby to vyhovovalo aj testerovi.

Výsledok sa dá užívateľovi a ten zistí, že vlastne dostal niečo iné, než chcel.

Poradím vám toto …

Takže ak sa chcete stať programátorom a rozmýšľate o špecializácii, tak sa špecializujte na to, aby ste vedeli komunikovať so zákazníkom a vedeli pochopiť jeho požiadavky. Keď dostanete zadanie niečo vytvoriť, tak si predstavte seba ako neznalého programovania ako by ste očakávali, že sa niečo bude ovládať. Vytvárajte programy a aplikácie tak, aby boli jednoduché a intuitívne ovládateľné. Intuitívne znamená, že človek vie, čo má urobit, aby dosiahol požadovaný výsledok bez toho, aby čítal návod alebo mu to niekto vysvetľoval.

Pokiaľ ide o konkrétny programovací jazyk alebo oblasť, tak sa snažte toho zvládnuť, čo najviac. Technológie sa neustále menia. Čo sa naučíte dnes, zajtra už stačiť nebude. Učiť by ste sa mali neustále.

Keď sa rozhodnete naučiť nový programovací jazyk, tak mne sa osvedčil nasledovný 3 krokový postup:

  1. Zoberiem popis daného jazyka a prebehnem ako rýchlo sa len dá jeho možnosti, aby som si urobil ucelený obraz o tom, čo všetko sa dá  s jeho pomocou urobiť.
  2. Prejdem si podrobne jeho syntax, aby som vedel ako sa používa.
  3. Pustím sa prakticky do realizácie zadania od zákazníka.

Po tomto postupe nie som žiadny odborník ani špecialista na daný jazyk, ale viem aké má možnosti. Až praktickou realizáciou získavam potrebnú rutinu a automatizované znalosti, ktoré mi umožňujú pracovať rýchlo a efektívne.

Čiže začnite pracovať prakticky ihneď ako máte ucelený prehľad o tom, čo sa daným jazykom alebo technológiou dá realizovať.

Oveľa dôležitejšie ako detailná znalosť a pamätanie si najmenších detailov je schopnosť vedieť pochopiť, čo zákazník potrebuje a urobiť to bez chýb. 

Ak mám začínajúcim programátorom poradiť, na čo sa majú špecalizovať, tak je potrebné sa špecializovať na zákazníka.

Zákazník očakáva, že ste odborník, že viete, čo on chce, že to dodáte načas a bez chýb. To je to na čom záleží a za čo vám zákazník zaplatí. Máte dodať veci, ktoré:

  1. Spoľahlivo fungujú
  2. Jednoducho sa obsluhujú
  3. Sú dodané v dohodnutom termíne

Ak toto plníte, potom sú zákazníci ochotní zaplatiť za vaše služby viac ako si pýta vaša konkurencia. Zákazníka nezaujíma aké programovacie jazyky ovládate, koľko ich ovládate, ako detailne ich ovládate.

Začnite týmto ...

Ak iba uvažujete a ste na štarte kariéry programátora, tak absolvovaním kurzu programovania a tvorby webových stránok DEVELOPER BOSS, určite neurobíte krok vedľa.

Naučíte sa tvoriť webové stránky od A po Z. Naučíte sa používať Visual Studio, HTML, CSS, JavaScript, C#, SQL. A na tom sa dajú vytvárať profi webové stránky a budovať kariéra programátora. Ak budete chcieť viac, môžete sa potom posunúť aj iným smerom, napr. k vývoju hier, či mobilných aplikácií. Všetko, čo sa v kurze DEVELOPER BOSS naučíte, určite zužitkujete. Navyše je tu 30 dňová garancia vrátenia peňazí, takže svoje ťažko vydreté peniaze vôbec neriskujete.

 

Začnite tu a teraz >>



7 IT pascí
Ako nenaletieť na rozprávky tvorcom webov a markeťákom, ktorými Vás oberajú o peniaze?