Cesta developera: From Zero to Hero


Cesta developera: From Zero to Hero

Tak ako zdrojový kód, tak aj kariéra developera je plná premenných, konštánt, závislostí, podmienok a často nekonečných cyklov až rekurzií, z ktorých sa nevieme dostať a márne hľadáme východisko.

Niekto sa uspokojí a bude len vyčkávať, čo prinesie ďalší deň a väčšinu času je podráždený z neustálej monotónnosti. Niekto sa zasa snaží proaktívne posúvať, pracuje na svojich technických, ale aj soft-skill schopnostiach. Nechcem predsa pracovať na niečom, čo ma nenapĺňa, nebaví, alebo ostať na pozícii, ktorá v mojom živote nemá žiadnu perspektívu. Viem, že mám predsa na viac, dokážem niečo vybudovať. Developer predsa nie je len moderným robotníkom, ktorý musí počúvať rozkazy nadriadených – projekťákov. V tomto prípade sa dá povedať, že mám reálne 2 možnosti. Prvá, menej namáhavá, zmena aktuálneho zamestnávateľa, ktorá je niekedy, bohužiaľ, nutná, aj ak sa nenájde spoločná reč s vedením v otázkach budúcnosti. Jednotlivé firmy, respektíve ich HR oddelenia, teraz poľujú po developeroch na sociálnych sieťach alebo konferenciách a predbiehajú sa s ponúkanými benefitmi s obľúbeným flexibilným pracovným časom na čele. Druhá, niekedy časovo náročnejšia cesta, ale o to zaslúženejšia, možnosť budovania kariéry v rámci firmy, ktorá mi dá pomocnú ruku a poskytne potrebný priestor sebarealizácie.

Samotnú kariéru si môžeme predstaviť ako jednoduchú pyramídu, ktorou sa postupne snažíme ísť smerom hore, a tak ako pri pyramídach (alebo iných stavbách, pyramídu som ešte nestaval), základy sú to najdôležitejšie. Jednotlivé pozície sa často v určitých povinnostiach prekrývajú a každá firma si ich špecifikuje po svojom, alebo im dáva iné “fancy” názvy, ktorým občas ani pracovná zmluva nerozumie.

Kapitola č. 1: Motivácia

Motivácia je hnacím motorom, ktorý nás posúva všetkými aspektmi života. Ráno kvôli nej vstávam z postele, cestujem do práce, respektíve do školy, idem do posilňovne… Jej forma býva rôzneho charakteru. Lekár chce byť lekárom, pretože chce zachraňovať životy. Futbalista sa chce stať profesionálom, pretože ho daný šport napĺňa. Niekto sa chce sa stať politikom pretože… no, aby sa o ňom napríklad písalo často v bulvárnych novinách.

Kvôli čomu, ale chce byť developer developerom? Baví ho len práca na počítačoch? Kvôli počítačovým hrám? Peniaze? Znalosti? Perspektivita? Zuckerberg? Začiatky a motiváciu má každý individuálnu. Či už som sa k programovaniu dostal prvýkrát “na silu” v rámci predmetu v škole, kde sa programovali super kalkulačky, alebo ma inšpirovali príbehy programátorov “z garáží”, ktorí to dopracovali až do Silicon Valley (odporúčam pozrieť si film Piráti zo Silicon Valley), alebo ma v detských časoch jednoducho bavilo vytváranie programov v Basicu, kde som donútil počítač hovoriť neslušné slovíčka, všetko toto ma ovplyvňovalo a viedlo k tomu, že toto je presne forma práce, ktorou sa chcem v budúcnosti živiť.

Toto je zoznamovacie (Hello world!) obdobie, na konci ktorého si musím určiť hlavne platformu (desktop, mobil, web, iot,…), na ktorej chcem v budúcnosti vyvíjať svoje aplikácie a určiť si svoje pole posôbnosti – Frontend, Backend, prípadne Full-stack?

Kapitola č. 2: Junior

Na začiatku kariéry je dôležité vedieť firmu zaujať. Keďže zatiaľ nemám žiadne pracovné skúsenosti, musím tento nedostatok vynahradiť svojimi základnými znalosťami, ukázať “hello world” alebo pokojne aj školské projekty na svojom githube a hlavne na pohovore ukázať, že som otvorený novým znalostiam a nemám problém s prácou v tíme.

Výber správnej firmy v tejto fáze je veľmi dôležitý, pretože mi dá základný “setup” a pochopenie toho, ako to v tejto brandži chodí. Treba pochopiť, že práca sa, bohužiaľ, nekončí pracovnou dobou a to najdôležitejšie sa často odohráva mimo kancelárskych priestorov. To je, alebo by mal by byť, ten čas, ktorý treba investovať do vzdelávania, bez ktorého to nikdy nepôjde. Prečo by som ale mal investovať svoj voľný čas vzdelávaniu sa, keď sa chcem venovať rodine, priateľom, koníčkom…? Pretože v budúcnosti nebudem predsa chcieť 40 h týždenne len programovať, alebo riešiť veci, ktoré ma až tak nebavia a budem mať oveľa väčšie predpoklady sa posunúť ďalej, riešiť väčšie veci. V škole nás naučia potrebné minimum, vo firme noví kolegovia k týmto základom pridajú ďalšie potrebné znalosti pre prácu s ich codebase, alebo ich super legacy kódom, ale treba rátať s tým, že nikto pri mne nebude sedieť 8 hodín denne a venovať sa len mne. Čím viac sa junior snaží byť samostatný, tým viac znalostí sa na neho za krátky čas nabalí. Samozrejme, keď neviem, pýtam sa, nebudem dni riešiť problém, ktorý by mohol byť jednou otázkou vyriešený behom 5 minút.

Kapitola č. 3: Senior

Najskôr sa treba spýtať, kedy vlastne sa môžem považovať za seniora? Je to len vďaka tomu, že som už pár rokov vo firme, naučil som sa nový jazyk, alebo moja výplatná páska už má viac cifier ako je priemer na Slovensku? Áno aj… Seniorný človek je naozaj ten, ktorý už je nejaký ten rok vo firme, pozná interné procesy, projekty na ktorých sa pracuje a aj slabé miesta (svoje aj projektu), na ktorých treba zapracovať. Technická zdatnosť a aj finančné ohodnotenie sa zvyšujú, ale stále sú tam určité drobnosti, na ktoré sa ešte seniorita vzťahuje a nemusia byť ani spomenuté v pracovnej zmluve. Sú to povinnosti ako mentoring, či už nových juniorov, respektíve odovzdávanie znalostí ďalej v rámci firmy, ale aj komunikáciou mimo firmy formou prednášania na konferenciách a meetupoch, alebo blogových článkov.

Kapitola č. 4: Križovatka

Toto obdobie má na kariéru developera asi najväčší dopad, pretože určuje jej nové smerovanie, povinnosti a s tým súvisiace nové privilégiá. Je hlavne na mne, aby som si určil, kam sa bude moja budúcnosť uberať.

Na tejto križovatke sa môžem pohnúť 3 smermi:

  • Cesta developera: či už ostanem ako senior developer, alebo povýšim až na architekta, budem sa venovať prioritne programovaniu, od toho ma už nikto nedostane. Treba si uvedomiť fakt, že so stúpajúcou sa senioritou, prichádzajú ďalšie zodpovednosti. Zodpovednosť za kvalitu dodávanej nielen mojej práce, ale aj juniornejších kolegov, treba neustále držať krok s technológiami a viac sa zapájať do budovania tímu, ktorý nikdy nie je len o jednotlivcovi. A ak nepomôžem posunúť sa kolegom, nebudem sa môcť posunúť ani ja, pretože svoju prácu nebudem mať na koho delegovať.
  • Cesta Leadera: technickejšie zameraný Tech Lead, tímovejšie Lead developer a ďalšie, sú pozície pre developera, ktorý chce vyjsť zo svojej ulity, komfortnej zóny a cíti, že je ten správny čas na vedenie svojho vlastného tímu, ktorému musí byť vždy dostupný, posúva ho a hlavne preberá všetku zodpovednosť technického a ľudského charakteru. Stále popri svojich nových zodpovednostiach programuje, ale väčšinu dní musí ísť programovanie, bohužiaľ, do pozadia, pretože ho čaká oveľa viac meetingov, musí riešiť veľa code reviews a ďalších nových (nie vždy až tak super) povinností.
  • Cesta manažéra: projekt manažér s technickým backgroundom je v mnohých firmách preferovanejší, pretože má lepší cit na plánovanie, vie efektívnejšie minimalizovať riziká a robiť presnejšie odhady práce. Touto cestou sa vydá developer len v prípade, že už sa nechce viac venovať programovaniu, pretože popri všetkých tých reportoch, SCRUM-och, Kanban-och, šprintoch, jednoducho neostáva čas na programovanie. Samozrejme, záleží od štruktúry firmy, aktuálnych potrieb, respektíve dohody so zamestnávateľom ohľadom pracovnej náplne.

Výber je len a len na mne, preto sa musím rozhodnúť správne.

Kapitola č. 5: Manažment vs. Leadership

Ako sme si povedali v predošlej kapitole, manažér je viac-menej ten, čo hlási a má na starosti riadenie projektu, napríklad SCRUM. Leader riadi ľudí a jeho starosťou je, aby sa na konci šprintu/deadlinu, povedalo DONE. Inak povedané, projekťák tasky vytvára, leader dozerá na to, aby boli vyriešené.

Táto kapitola je teda hlavne o uvedomení si rozdielov medzi manažmentom a líderstvom:

  • Manažér sa spolieha na svoju moc, Leader na dôveru.
  • Manažér manažuje prácu, Leader manažuje ľudí.
  • Manažér riziko minimalizuje, Leader ho berie na seba.
  • Manažér pravidlá vytvára, Leader porušuje.
  • Manažér si zásluhy berie, Leader ich dáva tímu.
  • Manažer tím obviňuje, Leader si vinu berie na seba.
  • Manažérom môže byť takmer ktokoľvek, Leaderom nie.

Bonus

Na záver sa ponúka ešte jedna bonusová kapitola. Kapitola, ktorá už nie je pre každého a hlavne nie každý to až k nej dopracuje. V tejto kapitole sa rozpráva už o pracovných pozíciach s tromi tajomnými písmenami: CTO, COO, CEO… Ide o pozície, ktoré sú v rámci hierarchie firmy na úplnej špičke, v ktorých to už o programovaní často vôbec nie je. Nech sa už moja kariéra bude uberať hociktorým smerom, jej najdôležitejším článkom som JA.

+ Diskusia nemá žiadne príspevky