Kako sam od osobe koja regrutira programere sama postala programerka?

2 avg

Prvi kontakt s IT svijetom imala sam 2014. kada sam počela raditi na poziciji IT recruitera. Tu sam već prvi dan naučila da nije Java sve što ima riječ Java u sebi kada sam kolegi ponosno pokazala silne životopise Javascript developera koje sam pronašla. Kasnije sam, osim u selekciji, radila u dosta drugih domena ljudskih resursa, vodila sam i uvodila različite projekte u firmi i mentorirala kolege u timu, regionalnom timu u Indiji, pa čak i van kompanije.

Od psihologije do prve linije koda

Nakon otprilike četiri godine postepeno mi je u poslu sve više nedostajao izazov “razbijanja glave” oko nekog problema. Moj dotadašnji posao, a i primarna struka – psihologija, većinom se bavi drugačijim tipovima problema.

Tragajući za nečim novim, došla sam na ideju da programiranje može biti zanimljiv hobi, treniranje mozga i razvijanje općenito drugačijih vještina. Doduše, imala sam već neku ideju što je programiranje jer mi je informatika bila jedan od dražih predmeta u srednjoj školi. Kako mi je tadašnji posao, između ostalog, bio i organizacija developerskih edukacija, već sam se upoznala s različitim platformama za učenje. Znala sam da Udacity ima kvalitetne tečajeve i upravo su bili objavili Googleovu stipendiju za našu regiju – to nisam mogla propustiti!

Skoro pa bacajući novčić odlučila sam se za frontend tečaj. Najveći naglasak tečaja bio je na HTML-u, CSS-u i ponajviše Javascriptu, i svidjelo mi se što već s vrlo malo znanja i vještina mogu isprogramirati nešto opipljivo (u sklopu tečaja napravila sam memory i cross-the-road igre).

Bye Bye HR, ‘Hello (backend) World!’

Za početak sam projekte pregledavala s dečkom koji je također developer, nakon čega sam ih stavila na GitHub i stidljivo podijelila s kolegama programerima na poslu. Dva mjeseca sam paralelno programirala i radila, i što sam više toga naučila, programiranje mi je bilo sve zanimljivije i uzbudljivije. Zapitala sam se kako bi to bilo programirati 8 sati dnevno, i – dala otkaz.

U trenucima sulude hrabrosti (koja će se kasnije pretvoriti u tremu kako se praksa bližila) prijavila sam se za developersku praksu u istoj tvrtki.

Praksa je bila koncentrirana na backend, područje s kojim nisam imala iskustva, ali spremila sam se za nju koliko sam uspjela u mjesec dana. Na Udemyju sam poslušala tečajeve na temu osnova Jave te algoritama i strukture podataka – učila sam i vježbala po 8+ sati dnevno. Dakle, učenje je u tom periodu bio posao s punim radnim vremenom.

Srećom, praksa je počinjala niti dva mjeseca nakon što sam prestala raditi pa sam imala dovoljno ušteđevine i životne komocije da tih par mjeseci volontiram, jer s tom količinom znanja nisam bila zapošljiva. Da nisam imala tu mogućnost, nastavila bih raditi i paralelno programirati projekte za portfolio, međutim cijeli proces učenja i zapošljavanja bi se sigurno znatno odužio.


Iako su bilješke s prakse više izgledale kao rječnik stranih riječi nego bilješke, nisam požalila. Naučila sam brdo toga, napravila projekt s timom u Springu i Reactu, pokušala pohvatati što više osnova obje tehnologije, paralelno radila projekte kod kuće… Konačno, nakon prakse sam se zaposlila na poziciji juniora i trenutno radim na produktima i servisima u sklopu platforme, u Reactu, Javi i Kotlinu.

Naučene lekcije

Kad sam zbunjena, velika je šansa da učim nešto zaista novo.
U početnoj fazi bilo je dana kada mi je bilo teško uživati u programiranju jer je svaka linija koda bila nova prepreka. Sjećam se kako sam jednom cijeli dan pisala 8 linija koda, dakle prosječno jednu po satu. Tada sam pomislila, “ako sada ne odustanem, neću nikad”.

Međutim, svaki put kad sam htjela odustati, rekla sam si “ako se i sutra budem osjećala ovako izgubljeno, sutra ću odustati.” Htjela sam odustati hladne glave, ne iz frustracije. Taj me osjećaj pratio kroz mnoge “prve puteve”: prvi tečaj, prvi projekt, prvi stvarni projekt, prvi projekt u novom jeziku… Kasnije sam shvatila da je to frustracija vezana za učenje i da je zapravo dobra stvar, jer znači da učim nešto zaista novo.

Osnove, osnove, osnove.

Što god učila, fokusirala sam se da jako dobro razumijem osnove. Jednom kad razumijem koncepte, lako (ili lakše) pohvatam različite jezike i tehnologije. Mislim da je to presudno za ljude koji nemaju tehnički faks (ma i s njim) jer ako ne znaš osnove, pogubiš se kad kreneš raditi na stvarnim projektima jer nemaš na čemu graditi dodatna znanja.

Moja najtoplija preporuka je puno pažnje posvetiti osnovama, ne kopirati neki kod koji radi, bez razumijevanja u detalje zašto i kako. Na jednom ili par zadataka posljedice “fušerskog” rada neće biti vidljive, ali kako se povećava količina koda, kaos se multiplicira i vidljiviji su efekti donošenja tehničkih odluka.

Na stvarnim projektima se poznaju junaci.

Najteži dio učenja nije mi bio prvi tečaj niti samostalan rad na projektima već dio kada smo na praksi trebali podići projekt iz nule: napraviti konfiguracije, koristiti interne alate za deployment, continuous delivery i integration…

Tu sam najjasnije vidjela razliku između dotadašnjeg “programiranja u vakuumu”, na samostalnom projektu, i programiranja u stvarnom životu. Uz to, također sam razumjela što sve čini developerski posao (nije samo hrpa jednostavnih nepovezanih aplikacija!). Svakome bih preporučila da se čim prije pokuša dokopati rada na realnom projektu (kroz praksu, mali freelance projekt, kao ispomoć na projektu poznanicima…) jer je to dobra prilika da vidi odgovara li mu/joj profesionalno programiranje, a i ulaznica je za daljnje, ozbiljnije poslove.

Dobar mentor je zlata vrijedan, a više mentora… više zlata.

Tečaj i pripremu za praksu prolazila sam sama (blagoslovljen bio StackOverflow), dok sam na praksi imala mentore – službenog mentora i kolege koji su bili studenti informatike, ali su imali bolju pozadinu od mene. Dečko mi je također programer pa sam prilikom učenja često koristila njegovu pomoć.

Isto tako sam našla hrabrosti da kolege koje ne poznajem pozovem na “tehnički spoj na slijepo”, kavu na kojoj će mi malo ispričati o sebi, čime se bave i poslati mi meni relevantne primjere svog koda. Preko LinkedIna sam se povezala s ljudima koji su napravili zaokret u karijeri ili su na tom putu… Bazično svatko tko zna više od mene može mi biti mentor, bitno je u njegovom pronalasku biti kreativan.

IT zajednica je jako susretljiva po pitanju dijeljenja znanja.
Meetupi, online zajednice (poput Developers Hrvatska i Developers Hrvatska Relaxed), različite prakse, radionice, forumi unutar različitih tečajeva, konferencije koje sve više firmi organizira i slično, mogu puno pomoći. Od konkretne tehničke pomoći i usmjerenja, pa do motivacije i inspiracije. Tko nema sreću da je okružen developerima, treba si je sam stvoriti. Mislim da su početnici u odličnoj poziciji pristupiti iskusnijima jer nitko ne očekuje da znaju sve, tako da je spremnost reći “ne razumijem, molim te objasni ponovno” i pristupiti bilo kome – prednost koju treba znati iskoristiti.

Učenje u timu je učenje na steroidima.

I na prethodnom i na trenutnom poslu, najviše sam naučila od ljudi u timovima u kojima sam radila. U trenutnom timu učenje je sastavni dio posla. Nije dosta “iskrcati” kod, već znati donijeti tehničku odluku – razumjeti problem i rješenja, odlučiti se za jedno i znati prednosti i nedostatke u odnosu na druga. Nekada je to moguće samostalno, a za zahtjevnije zadatke bitno je imati tim iskusnijih, koji će znati raširiti vidike i pomoći da bolje sagledaš problem i rješenje. Radom u dobrom timu ili firmi možeš napredovati brže nego što bi sam/a. A kroz dobru povratnu informaciju možeš se “nakačiti na tuđe znanje” i ubrzati napredak.

Spremnost za učenje je preduvjet za vještinu u struci u kojoj se stvari mijenjaju iz dana u dan.

Tu ne mislim nužno na jezike i alate koji se mijenjaju i mijenjat će se iz mjeseca u mjesec, već na dobro usvajanje bazičnih znanja i principa na kojima se može graditi daljnje učenje (iz dijela Osnove, osnove, osnove).

U mojoj situaciji, bez tehničke pozadine, bilo je od iznimne važnosti da sam sposobna sama učiti kako bih uopće mogla doći u priliku da uđem u tim praktikanata, zaposlim se i učim od drugih. Upornost i sposobnost izdržavanja kvantnih skokova u učenju je ono što dijeli one koji sanjaju o prekvalifikaciji i one koji će u tome uspjeti. A zaposlenjem samostalno učenje nije gotovo, dapače, u neku ruku tek je počelo.

Imate hrabrosti za novi skok? No sikiriki.

Da me netko prije 5 godina, kada sam se zapošljavala u HR-u, pitao gdje se vidim za 5 godina, svakako ne bih rekla “u developmentu”

Za sada nisam požalila. Kada pogledam unazad na ovo iskustvo, jedino što bih zaista napravila drugačije iz ove pozicije je – manje bih se živcirala kada nešto ne razumijem!

Napravila bih kavu, udahnula, resetirala se i krenula ispočetka.

Resursi za vas…

Iako je svačiji put drugačiji, za kraj dijelim nekoliko linkova na resurse koji su meni bili značajni.

  • Front End Web Developer – dosta skup tečaj za naše prilike (dobro se prijaviti za stipendije koje povremeno dijele), ali je jedan od rijetkih koji nudi mentorstvo i tehnički review projekata.
  • Eloquent Javascript – vrlo sažeta i jasna online knjiga o Javascriptu.
  • Complete Java Masterclass for Software Developers – iako je produkcija skromna, i dalje najpopularniji Java tečaj na Udemyju.
  • Modern React with Redux – možda najbolji instruktor kojeg sam slušala na temu Reacta.
  • Kotlin for Java Developers – vrlo kratak i kvalitetan tečaj Kotlina od programera koji su pisali sam jezik.
    + mnogi blogovi, tutoriali i odgovori na pitanja na StackOverflowu, samo treba potražiti.

-/netokreacija.com/

(Visited 166 times, 21 visits today)
Podijelite članak:
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter

Comments