Naujiems programuotojams gali būti be galo sunku įsilieti į rinką.
Kodinimo mokyklos periodiškai paleidžia po krūvelę prakeptų programuotojų, dar turim savamokslių užsislėpusių namie, dar turim žmonių, kurie ieško jau nebe pirmo darbo.
CV bankas turi 4 skelbimus Junior Frontenderiams (2 karpytojams, 2 JS programuotojams). Panašiai su PHP.
Tikėtina, kad rinka yra perpildyta naujokais. Kaip gauti pirmą darbą jei kiekviena vieta turi bent 10 kitų kandidatų?
# Rinka plečiasi
Pradėkim nuo padrąsinimo ir reality check'o. Programuotojų paklausa auga. Organizacijoms vis sunkiau rasti tinkamų darbuotojų. Tenka svarstyti galimybę auginti savo programuotojus.
Neturtingi verslai net neturi pinigų geriems specialistams, vienintelė jų viltis yra perspektyvūs naujokai. Dar yra verslų, kurių modelis yra paremtas pigia, mažai patyrusia darbo jėga nekreipiant dėmesio į didelę darbuotojų kaitą ar labai limituotus naujokų sugebėjimus. Galiausia yra geografiniai suvaržymai, kai mažesniuose miestuose tos konkurencijos gali ir nebūti, o vieta yra.
Mano galva, tai yra tarpeliai pro kuriuos mes galim įlįsti į programuotojų bendruomenę. Pakanka įkišti koją tarp durų, o tada jau nebėra kelio atgal.
Posto apačioj įdedu Uncle Bob kalbą apie programavimą. Ten jis sako, kad paklausa auga taip greitai, kad bet kuriuo metu pusė visų programuotojų bus naujokai. Tikint jo žodžiais panašu, kad naujokams vietos atsiras visada. Šitai mane nuteikia teigiamai.
Belieka suvokti kur ir kaip ieškoti.
# Darbdavio dilema
Prasidėti su visišku naujoku yra rizikinga. Itin sudėtinga įvertinti ar ši ivesticija atsipirks.
Ar naujokas per keletą mėnesių sugebės pasiekti reikiama lygį, ar nedings motyvacija, kaip elgsis stipriai pastrigęs?
Dar reiktų pridėti standartines naujo komandos nario rizikas, tokias kaip pritapimas komandoj, darbštumas ir kiti darbdavių trokštami bruožai.
Tavo misija yra kuo labiau sumažinti šias rizikas.
Programavimo sugebėjimai, motyvacija ir unikalios asmeninės savybės gali padėti potencialiam darbdaviui apsispęsti.
# Programavimo sugebėjimai
Pripažinkim, tu ir pats nežinai kaip labai moki dalykus. Aš irgi. Niekas nežino.
Dėl to darbo skelbimuose ir būna tokie tušti reikalavimai kaip "5 metai X patirties", "švarus kodas" arba "mokėti visus JavaScripto frameworkus". Nors šie dalykai nenurodo tavo tikro sugebėjimų lygio, jie yra bent jau šioks toks orientyras padedantis įvertinti bendrą situaciją.
Už tai geras būdas parodyti savo sugebėjimus yra rodant kodą ir jo rezultatus. Įprastai programuotojams tai yra portfolio (darbų pavyzdžių puslapis) ir GitHub'o paskyra (accountas).
Apžiūrėdamas tavo kodo pavyzdžius, samdantis programuotojas gali greit nustatyti tavo lygį, stilių ir kitas programuotojeliškų sugebėjimų užuomazgas.
Portfolio yra svarbus mažiau techniškiems žmonėms. Net nemokėdamas programuoti gali išmėginti ar teisingai veikia tavo sukurti dalykai. Jei giriesi CSS sugebėjimais, bene vienintelis būdas suvokti ar tikrai moki yra pažiūrėti jau sukodintą puslapį.
Gali net nepradėti ieškoti darbo turėdamas tuščią GitHub'ą. Pradėti niekada nevėlu, jei dar neturi, git'as kaip technologija ir GitHub'as kaip vieta talpinti kodą, turėtų būti aukštai tavo besimokomų dalykų sąraše.
# Kaip kalbi apie programavimą
Kalba išduoda sugebėjimų ir požiūrio lygį. Tik visai nesenai pradėjau pastebėti, kad galiu nuspėti programerio lygį vien kalbėdamas su juo apie programavimą. Ypač šitai tinka naujokams.
Tavo kalba apie programavimą pasirodys dar prieš prasižiojant. Tos saugyklos (repositories) GitHub'e, kaip atrodo jų aprašymai? Tuštoka su vienu dviem sakiniais? Gal geriau pasistenk ir paversk tą aprašymą aiškia kodo dokumentacija.
O kaip atrodo pačios saugyklos? Ar turi tokių kur "liko tik užbaigti"? Nuo tokio pasakymo man ūžia galvoj. Galbūt taip sakantys nėra blogi žmonės, bet visiškai aišku, kad turi problemų.
Gal ko nors nemoka, gal tingi, neranda motyvacijos, negali persilaužti ir atstrigti. Variantų daug, tik signalas neigiamas ir pavojingas. Jei jau niekaip negali užbaigti, tai bent nuoširdžiai prisipažink kur problema ir kaip ketini ją išspręsti.
Žodžiai yra svarbūs. Ar sugebi papasakoti dalykus taip, kad juos suprastų penkiametis? Mokėjimas kalbėti paprastai parodo, kad tikrai suvoki tai apie ką kalbi. Gali treniruoti su savo mama arba neprogramuotojais draugais.
Gal ir norėtųsi, bet neverta mėginti apsimesti gudresniu ir daugiau žinančiu nei iš tikro esi. Esu įsitikinęs, kad mano gudrius nusišnekėjimus prigauna kiekvienas kitas programuotojas, net jei to ir nepasako. Užtenka neteisingai pavartoti kokį terminą ir tu jau prigautas.
# Greit mokausi
Jau parodėm, kad turim aiškiai apibrėžtus sugebėjimus. Maždaug: "moku CSS ir HTML, va tau sukarpytas puslapio dizainas, gali išmėginti ir įsitikinti, kad tikrai moku".
Būdamas programuotoju tokių sugebėjimų turėsi įgauti gan dažnai ir greitai. Mokytis naujus frameworkus, technologijas, konceptus, net kalbas gali būti ir bus beveik kasdienybė.
Pridėkim tai, kad esi naujokas, mokytis reiks tikrai daug. Svarbus sėkmės faktorius yra sugebėjimas greit mokytis. Rasti, įsisavinti ir suvokti informaciją, išmokti naujus dalykus, kad galėtum išsikapanoti iš programavimo problemų.
Nežinau geresnio būdo pademonstruoti sugebėjimą greit orientuotis nei istorija apie atstrigimą. Maždaug: "Dariau draugui WP saitą, galvojau reiks tik suconfigint šabloną, bet prireikė custom PHP kodo. Neradau jokio tinkamo plugino, bet neišsigandau, pasigūglinau, radau, kad galiu parašyt savo pluginą ir parašiau." Ultimate Win!
Papildomi taškai jei aiškiai pasakai ką išmokai. Šitai parodys, kad sakai tiesą ir suvoki šio atstrigimo reikšmę. Net jei nepasakysi ką išmokai, tikriausia būsi paklaustas. Tavo melai ar "pagražinimai" bus išaiškinti iškart. Aišku tik jei sugalvojai istoriją pagerinti.
# Tu net neturi tų sugebėjimų
Arba kaip tik turi, tik nežinai. Aš įsivaizduodavau, kad kietai varau. Iš tikro buvau tik prisižiūrėjęs tutorialų ir nieko neparašęs. Kol nepradėjau rašyt ir kelti dalykų į GitHub'ą niekas net neatrašinėjo į mano darbo paraiškas.
Tiesiog rašyk kodą, rodyk GitHub'e, leisk visiems naudotis jau veikiančiu savo kodu, pahostink puslapį viešai. Bent minimaliai dokumentuok savo kodą, parašyk ką jis daro, kaip jį pasileisti.
Super laimėjimas jei aprašysi kodėl tą kodą parašei, kokią problemą jis sprendžia, kam jis skirtas.
# Motyvacija
Idealu jei gaudamas pirmą darbą esi jam pakankamai kvalifikuotas. Bet kas nori laukti kol išmoksi viską ko reikia. Tada jau būsi nebe entry lygio programuotojas, o koks tai junioras. Ir tai tie terminai yra debatuotini. Be to, dirbdamas realiam darbe, su tikrais projektais ir žmonėm mokysies daug greičiau.
Taigi būdas išsisikirti nuo kitos žaliavos yra motyvacija.
Visiškai tikiu, kad svarbiausia priežastis kodėl gavau savo visus darbus, net būdamas jiems nepakankamai kvalifikuotas, buvo mano didelis noras tuos darbus gauti.
Net neįsivaizduoju ar įmanoma motyvaciją kaip nors dirbtinai padidinti. Tiesiog nori dalykų arba ne. Žinau tik, kaip galima ją pastebėti. Turi aiškius tikslus, jų siekia konkrečiais veiksmais. Dar yra woowoo dalykai tokie kaip degančios akys, pagyvėjimas kalbant apie siekiamus dalykus, tikslus žinojimas ko nori.
Galbūt motyvacija nėra išmokstama ir tikrai ne visur į ją žiūri kaip į svarbiausią priežastį samdyti naują darbuotoją. Už tai motyvacija ne tik padeda siekti dalykų, bet ir padeda darbdaviui suvokti kaip labai stengsies, kad kuo greičiau pasiektum reikiamą lygį.
# Išsiskirti iš masės
Galima, verta ir reiktų parodyti savo asmenybę. Darbdaviui bus daug lengviau įvertinti tavo cultural fit'ą, asmeninius bruožus ir įsivaizduojamą riziką, jei internetuose ras papildomos medžiagos apie tave.
Apgalvotas ir į naują darbą nutaikytas turinys gali būti skirtumas, kurio pakaks išsiskirti iš kitų naujokų ir gauti tą pirmą darbą.
Konkrečių patarimų nežinau ar turiu šiam reikalui. Geriau pasidalinsiu keliom mintim ką galima nuveikti. Nėra jokių taiskylių, nes čia vieta parodyti savo kūrybiškumą. Galima tik padėti sau užduodant klausimą ar šitai kaip nors sumažins riziką mane samdyti.
# Naudingas softo projektas
Atsimenat Chrome pluginą "Siūlyk antrašę"? Tas žmogus sukūrė naudingą, visų norimą ir greit išpopuliarėjusį daiktą. Jis išėjo dvigubai viral, primą kartą kai visi pradėjo dalintis ir siūlyti naudoti, antrą kai visokie šūdinų antraščių valdovai pradėjo verkti dėl nebeveikiančių klikbaitų. Infakinsein.
Aišku, šitokią sėkmę pasiekti gali būti įtin sunku, gal net neįmanoma. Už tai galima sukurti ką nors naudingo, kuo naudosis nedidelė grupelė žmonių. Galima pabrainstorminti apie kitus savo hobius ir rasti softu išsprendžiamą problemą. Į galvą ateina žemėlapis kur sužymėtos lauko sporto aiškelės.
Šiek tiek pasuki galvą ir padarai. Gal tik geriau venk daiktų kur jau prigaminta tūkstančiais.
# Social turinys parodyti savo asmenybę
Blogas, naudingas turinys social medijose, podcastas, YouTube kanalas. Kas nors vieša, naudinga ir susiję su nauja norima profesija.
Šitas galbūt silpniausias pirmo darbo gavimui, bet tikėtinai leis gauti good fit'ą nuo pirmo darbo. Jei tavo kuriamas kurinys nelabai patiks potencialiam darbdaviui, tikėtina, kad ir sutarti bus sudėtinga. Win win.
# Tiesioginiai kontaktai
Įsivaizduok jei eitum į darbo pokalbį su esamo darbuotojo rekomendacija. Visai tikėtina, kad tas darbo pokalbis būtų labiau formalumas net nei išbandymas.
Net trumpas pokalbis per kokį programerių meetą gali padėti vėliau, darbo medžiojimo procese, išsiskirti iš minios. Šiltas pristatymas yra galingas reikalas.
Rasti kontaktų gali būti sunku, bet variantų yra. Jau esami pažįstami, draugai, draugų draugai, online forumai ir bendruomenės, programuotojų susitikimai.
Pažinodamas žmones gali gauti darbą kai jis net neskelbiamas. Gal net kai tos darbo vietos nėra, kartais tiesiog priimamamas geras žmogus avansu.
# Akademijos, praktikos, kursai
Visokie būdai mokytis programuoti gali būti traplynais į pirmą darbą. Tai geri būdai įmonėms pasitikrinti kandidatus ir sąlyginai pigiai duoti jiems progą įgyti reikiamų darbui sugebėjimų.
Mokantis galima patikriti visus svarbius darbdaviui reikalus. Tiek asmenines savybes, tiek techninius sugebėjimus ir sugebėjimą greit mokytis. Galiausia ir motyvaciją. Naujokui, tai galimybė sužibėti ir dar išmokti dalykų.
Praktika įmonėj ar kokie nors kursai gali padėti išsiskirti iš minios tokių pat. Ypač jei gausi gerų rekomendacijų.
# Sarbiausias dalykas
Kad ir kiek prirašiau, iš tikro tenoriu, kad iš viso šio posto atsimintum vieną dalyką: tavo misija yra sumažinti darbdavio riziką. Viskas ką darysi medžiodamas pirmą darbą turi suktis apie tai. Tikrai paprastas ir tiesus būdas pasitikrinti ar veiki reikiamus dalykus.
Riziką labiausia sumažinsi turėdamas reikiamus sugebėjimus ir tai pademonstruodamas. Šitai yra neabejotinai svarbiausia ir privaloma. Be sugebėjimų programuoti darbo medžiojimas būtų juokingas.
Antras yra parodyti savo būdą, motyvaciją ir darbštumą. Galiausia, gali išsiskirti iš kitų savo unikaliom stiprybėm.
Dabar gali pamėginti įvertinti kaip labai rizikuotų darbdavys šiuo metu priimdamas tave į darbą. Ar pats priimtum save į darbą jei rizikuotum savo uždirbtais pinigais?