Samouk je v tomto kontexte profesionálny programátor alebo programátorka, ktorý sa naučil programovať na vlastnú päsť bez informatickej vysokej školy.
Veľmi rešpektujeme každého, kto to dokázal, pretože naučiť sa programovať doma síce môže každý, ale nie každý to dokáže. Chce to veľkú dávku motivácie, disciplíny, ale hlavne tvrdej roboty.
V tejto sérií sa pýtame samoukov otázky ohľadom ich cesty k programátorskej pozície.
V 3. časti sa rozprávame s Jakubom (priezvisko anonymné).
Mám 35 rokov. Od začiatku (cca. 11 rokov) robím pre kamarátovu firmu, ktorá sa zaoberá softvérovým vývojom, bezpečnosťou a administráciou SW/HW.
Bolo to počas vysokej školy. Do firmy som sa dostal ako brigádnik, pričom náplňou práce bola support pri správe IT infraštruktúry. Po pár rokoch sa mi podarilo prekonvertovať na programátora.
V tomto som mal šťastie, že ma kamarát oslovil. Ale ako som písal, primárne nešlo o programovanie.
Brigádnicky plat si moc nespomínam, keď som išiel na TPP ako programátor, tak to bolo okolo 1000 eur v čistom.
Originálne som vyštudovaný fyzik.
S programovaním som sa prvýkrát stretol na strednej škole, no láska na prvý pohľad to nebola. Fyzika mi bola prednejšia. Počas vysokej školy sme mali tiež pár predmetov, ale priznám sa, že mi to moc dobre nešlo. Programovanie ma chytilo až počas doktorandského štúdia.
Keď prišiel na svet Android, tak som dostal chuť preň robiť aplikácie. No bol som celkom naivný a veľmi rýchlo som zistil, že bez toho aby som poznal Javu sa ďaleko nedostanem.
Plus mínus v tom čase sa mi naskytla príležitosť ísť študovať 2 ročný vzdelávací kurz (predchodca itvkurze.sk). Kurzy sa zaoberali C, HTML, CSS, Javascript, Java, C#, Java servlety, Linux, PHP, Java EE.
Keďže ale môj sen bol ten Android, tak som sa už vopred začal učiť Javu skrze knihy Pavla Herouta.
Našťastie som tento proces započal ešte v čase, kedy som nemal založenú rodinu, a popri doktorandskom štúdiu sa to dalo stíhať. Vzdelávací kurz prebiehal ako večerná škola cca 4 hod – 4 dni v týždni, prípadne 8 hod po oba dni víkendu.
Nemám na toto obdobie nejaké negatívne spomienky. Niekde v priebehu času muselo u mňa dôjsť k osvieteniu (alebo učitelia a knihy mi viac sadli), lebo počas štúdia všetko do seba zapadalo. Tu niekde som si uvedomil, že na to aby bol človek dobrý programátor, musí mať hlavne dobré logické myslenie.
„Na to aby bol človek dobrý programátor, musí mať hlavne dobré logické myslenie.“
Na toto asi tiež nebudem úplne dobrý vzor. Heroutové knihy som išiel jednu za druhou. Ostatné veci boli riadené predmetmi z večernej školy. Potom som mal to šťastie, že v robote sa naskytla možnosť spravovať Java EE aplikáciu, ktorá mi bola inšpiráciou a zároveň ma donútila, doštudovať si také oblasti ako webservicey, LDAP a pod.
Po čase som objavil “magazíny” ako dzone.com, infoq.com, jaxenter.com a skrze ne aj osobnosti v IT svete a ich blogy.
Časom som sa začal zaujímať o “estetičnosť” kódu a z toho plynúce oblasti ako návrh a architektúra (domain-driven design, clean/hexagonal architecture, …). Tu mi bol dôležitým zdrojom pluralsight.com, rôzne blogy (http://www.kamilgrzybek.com/, https://enterprisecraftsmanship.com, https://event-driven.io, https://martinfowler.com/bliki), github projekty a pod.
Pred pár rokmi mi ešte veľmi pomohlo, že som sa zapojil do open-source vývoja infraštruktúry okolo multiplayerovej hry, ktorú si doteraz občas zahrám (www.faforever.com), kde som sa stretol, so skúsenými programátormi, ktorí mali v projektoch nastavené štandardy celkom vysoko.
Ťažko povedať. Celým týmto som v podstate preplával bez nejakého skúsenejšieho mentora. Z logiky veci predpokladám, že so skúsenejším kolegom, by som sa dostal ďalej rýchlejšie. Na druhú stranu by mi možno skreslil pohľad na svet. ¯\_(ツ)_/¯
Určite áno. Programovanie má tú výhodu, že okamžite vidno efekt roboty. Vieš si hneď pozrieť svoje dielo v prevádzke. Samozrejme výhodou je neskutočný dopyt po odbornikoch a z toho plynúce benefity na pracovnom trhu. Rovnako počas korony, si myslím, že naše odvetvie bolo najmenej zasiahnuté.
Neviem to posúdiť. Zatiaľ mi teoretické znalosti z VŠ extra nechýbali a ak áno, tak som sa doučil. Na druhú stranu neprogramujem sofistifikované aplikácie, kde sa určite uplatní programátor s teoretickými znalosťami z VŠ.
Určite si definujte cieľ, za ktorým si pôjdete. Na začiatok mi určite pomohlo, že som nebol až taký samouk, ale absolvoval som kurzy/školu programovania a na konci dňa sa mi investícia vrátila. Bohužiaľ videl som aj pár prípadov, ktorým to až tak nepálilo, a bolo to pre nich skôr trápenie. Ak ale nemáte výrazné problémy s pochopením toho, čo sa práve učíte, určite choďte do toho. Zapájajte sa do open-source, hľadajte komunity (ale toto vám asi netreba hovoriť, keď ste sa dostali na streetofcode.sk :).
S hľadaním práce to podľa mňa tiež nebudete mať ťažké, ak to nepreženiete s nárokmi. Veľa firiem nemá problém zobrať neskúseného programátora na skúšku a keď sa osvedčíte, tak sa dohodnete na lepších podmienkach.
Všetko je to o vôli a chuti zdokonaľovať sa.
Daj vedieť, ako sa ti páčil tento rozhovor. Tiež, ak sme sa zabudli spýtať niečo dôležité, čo ti chýbalo, tak napíš, aby sme sa to mohli pýtať ďalších.
Si samouk programátor/ka a si ochotný/á s nami urobiť takýto rozhovo? Tak sa prosím ozvi, budeme veľmi radi. Sme na Discorde, alebo napíš email na [email protected]