classified_skeleton_klient

Esimene Veebisulase klient on Skeleton

Minu automatiseeringute konsulteerimise firma, Veebisulane, läks suure avapauguga käima. Esimene klient on Skeleton, Eesti suur idufirma. Tahtsin teiega jagada, kuidas inimene, kes ei ole (erialana) ülikoolis programmeerimist õppinud, jõudis selleni, et ta hakkas programmeerimisega raha teenima. Põhisõnum noorematele lugejatele on see, et ära ürita välja mõelda, mida sa tulevikus teha tahad. Keskendu oma huvidele ja erinevate oskuste arendamisele.

Kui kaua läheb aega, et programmeerimist õppida?

Lühike vastus sellele küsimusele on umbes 15 aastat, sest võib öelda, et minu esimene kokkupuude programmeerimisega oli algkoolis. Tegin läbi toreda harjutuse ja panin kirja minu õpingute ajajoone, et välja selgitada, kuidas ma olen jõudnud selleni, et mu oskused on piisavalt kõrgel tasemel, et ma saan suurtele ettevõtetele kasulik olla.

  • Kuskil kolmandas või neljandas klassis (circa 2007) oli mul Mängukoopas esimene kokkupuude HTMLiga. Kas keegi veel mäletab, et kolliurud olemas olid? Iga Mängukoopa kasutaja sai endale kolliuru, mis oli põhimõtteliselt lihtne HTML leht, kuhu sai panna teksti ja pilte. Raamatuid mul HTMLi kohta ei olnud, nii et kogu teadmine tuli Mängukoopa foorumitest ja teiste inimeste kolliurgudest. Õppisin kiiresti ära brauseri inspect funktsiooni, sest sellega sai välja uurida, kuidas mõni neiu oma kolliuru tausta näiteks roosaks tegi või sinna animatsiooni langevatest lumehelvestest pani.

Tahtsin Mängukoopast ekraanipilti üles panna, aga tuleb välja, et Mängukoobas pandi 2020 kinni. Ma ei ole vist kunagi nii õnnetu olnud ühe platvormi kinni panemisest. Ma ootasin oma konto info mujale salvestamisega liiga kaua. Minu kasutajaga olid seotud kümned järjejutud, mis ma olin lapsena kirjutanud ja igasugused riided, mis ma olin Gimpiga disaininud ja Mängukoopasse müüki pannud. Kõik need andmed on nüüd igaveseks maailmast kustutatud. Pisardasin natukene kaotatud mälestuste üle, aga midagi ei ole teha. Tuleb uusi mälestusi tekitada.

  • Teist korda puutusin programmeerimisega, täpsemalt PHP ja HTMLiga kokku koolis proge- ja robootikaringis (circa 2010). Meile vist õpetati kõige lihtsamaid käsklusi. Mul ei ole ausalt öeldes meeles täpselt, mis õppekava nendes ringides oli, aga ma mäletan, et iga tund oli minu jaoks jube põnev.
  • Pärast seda oli mitu aastat pausi enne, kui ma hakkasin tasuta veebikursustel Pythonit õppima. Suurem osa õppimist toimus 2014-2016, kui ma Argentinas olin. Ma sain ise oma õppekava seada, nii et ma keskendusin peamiselt matemaatikale, füüsikale, keemiale ja programmeerimisele.
  • Ülikooli esimesel aastal, mis minu jaoks oli ettevalmistusaasta, valisin aasta lõpu projektiks laoroboti programmeerimise. Teema ei olnud füüsikaga seotud, aga ma surusin õpetajate tahtest läbi, sest teised pakutud teemad ei tundunud üldse huvitavad. Roboti tööle saamine oli keeruline ja valgussensorite seadistamise kohta ei olnud väga palju struktureeritud infot.
  • Pärast veel pikemat pausi hakati 2019 Inglismaal Durhami ülikoolis füüsika alal õpetama andmeanalüüsi Pythoni programmeerimiskeelega. Täpsemalt õppisin ära, kuidas Pythoni erinevaid teeke nagu Numpy, Pandas ja Matplotlib kasutada. Mulle pakkus Python rohkem huvi, kui teistele õpilastele, nii et ma õppisin omast ajast natuke juurde ja eksperimenteerisin erinevate ilusate Matplotlib graafikutega.
  • Valisin ülikoolis alati programmeerimisega seotud projektid. Tahtsin võimalikult palju programmeerimist harjutada, nii et minu laboritööd vajasid alati keerulisemat andmeanalüüsi.
  • 2018 suvel töötasin Keemilise ja Bioloogilise Füüsika Instituudis ja õppisin masinõpet. Esimesena konverteeriti meid Linuxi usku ja õpetati Bashi, et me saaks oma arvutites elementaarsete ülesannetega hakkama. Siis tehti KBFI tudengite vahel võistlus, kes suudab oma Pythoni masinõppe algoritmiga matemaatilist probleemi kõige kiiremini ja edukamalt lahendada. Mina valisin enda tehnikaks particle swarm optimizaton’i ehk osakeste parve optimeerimise. Mul polnud elus vist nii lõbus olnud. Ma ainult elasin tööl ja käisin mõnikord kodus magamas. Võitsin meie lõbusa võistluse ära ka ja sain auhinnaks tasuta lõuna ja akupanga.
  • Ehitasin roboti. Lihtsalt lõbu pärast. See robot ei teinud eriti midagi peale selle, et teda sai juhtida nagu puldiautot.
  • Otsustasin oma osakeste parvega edasi töötada ja valisin baka töö alaks astronoomia. Mulle anti mingid valikud, aga ma küsisin, et kas ma võiks hoopis osakeste parvega genereerida gravitatsiooniga toetatud raketi trajektoore. Keegi nagu vastu ei vaielnud, kuigi minu juhendajad ei teadnud osakeste parvedest mitte midagi. Minu vaene väike arvuti sai vaevalt arvutustega hakkama. Kui ma koodis tegin muutuse, siis ma panin arvuti õhtul jahutusmati peal tööle ja hommikul lootsin, et ta ei olnud öö jooksul ära sulanud. Ütleme nii, et ma sain väga palju Python’i praktikat, aga kõik oli väga spetsiifilise teema kohta.
  • Magistrit ma ei teinud, vaid läksin Londonisse toidu startupi looma. Truli veebilehte ehitades avastasin, et PHP ja Python on väga sarnased. Minu Pythoni teadmised tegid PHP õppimise lihtsaks, nii et ma sain keskenduda ainult sellele, et WordPressi kapotialusest aru saada. Mul oli vaja jälgida, kelle käes mu ettevõtte taaskasutatavad pakendid on, nii et ma pidin nullist ehitama pakendite jälgimise tarkvara, mis ühilduks WordPressi ja WooCommerce veebipoega. Mul oli napilt nii palju teadmisi, et ma ei läinud hulluks, aga ega see oli ikka väga raske. Ma pidin iga asja Googeldama ja bugidest läbi punnima. Mõnes kohas oli vaja kasutada ka HTMLi ja JavaScripti. Sain ka selle kogemuse, kuidas keerulist süsteemi ehitada ja erinevaid tarkvarasid kokku sobitada.
  • Esimese startupi aasta lõpuks oli mul aeg täiesti otsas, nii et ma hakkasin jälgima, kuhu minu aeg läheb, ja programmeerima pisikesi skripte, mis teeksid minu eest töö ära. See on Veebisulase idee alguspunkt. Automatiseerisin osa Amazoni raamatupidamisest, näiteks mul on Pythoni skript, mis arvutab mulle, kui palju ma pean Inglismaal käibemaksu maksma. Tegin miniprogrammi, mis konverteerib minu WooCommerce tellimused õiges formaadis Exceli tabeliks, mille saab sõidumarsruudi generaatori programmi üles laadida. Minu väikesed Veebisulased hoidsid siit ja sealt 5-30 minutit kokku, mis kokkuvõttes vabastas minu nädalas mitu tundi.
  • Otsustasin pärast Truli aeglast surma, et on aeg õppida, kuidas päris kasutajasõbralikku äppi teha. Seni olin teinud scripte, mida inimene peab ise terminalis jooksutama, aga seda tavainimene üldjuhul ei oska või ei taha teha. Mul oli üks pusletükk puudu, et oma oskusi rahaks tegema hakata. Läbisin Udemy’s 80-eurose Django kursuse. Django on veebirakenduste loomise raamistik, mis töötab Pythoni abil. Seda kursust oli naljakas teha, sest mõnes mõttes ma ei õppinud mitte midagi uut. Ma sain lihtsalt teada, kuidas kõik pusletükid omavahel kokku sobivad. Django äpid töötavad mõnes mõttes üsna sarnaselt WordPressi pluginatega. Vaatasin kursuse videosid ja mõtlesin lihtsalt: “Aahah, ahah, ahah, selge!”.

Nagu näha, siis ma olen pikalt erinevate programmeerimiskeeltega tegelenud. Ma ei arvanud kunagi, et ma sellega raha teenima hakkan, sest algajana tundus, et on võimatult palju asju vaja õppida enne, kui oskad ehitada midagi, mis on päriselt kasulik. Ma ei pannud omale õppekava paika ega midagi, vaid lihtsalt tegelesin programmeerimisega seotud projektidega, kui vähegi võimalus anti.

Ajajoont vaadates tekib selline tunne, et mul oli algusest peale kindel trajektoor Djangoni, aga see on sellepärast, et ma valisin oma elust need hetked, mis olid seotud progega. Ma võiks samamoodi teha ajajoone sellest, kuidas planeedid rivistusid ja universum otsustas, et minust saab bioloog. Ma peaaegu läksin bioloogiat õppima, sest see pakkus mulle samamoodi huvi nagu füüsika ja masinõpe. Siiamaani pakub.

Selleks hetkeks, kui Mihkel rääkis oma murest, oli mul kogunenud täpselt õige hulk teadmisi, et sellest imelisest võimalusest kinni haarata. Kunagi ei tea, millal tuleb hea võimalus…

Mida on vaja, et esimene klient leida?

Tutvusi.

Lihtsalt tutvusi ja oskusi.

Mihkel, minu elukaaslane, töötab Skeletonis. Ta vingus kodus, et tema tiim on liiga stressis ja ajavaene, et hakata Saksamaa laboritöötajatele tarkvara ehitama. Ta mainis, et nad kaaluvad Django äppi ehitamist aga ei ole veel otsustanud, kes nende tiimist seda ehitama hakkab. Ma pakkusin ennast, sest mul oli tunne, et ma oskan napilt piisavalt hästi Djangot, et neile abiks olla. Mihkel intervjueeris teisi kandidaate erinevatest riikidest, aga tuli välja, et mul on kõige parem hind ja minu boonuseks on see, et kommunikatsioonikanalid on 100% avatud. Ma saan iga kell Mihkli käest midagi küsida ja Mihkel saab kogu projektil hästi silma peal hoida.

Sellises olukorras mõned inimesed ilmselt vinguvad, et onupojapoliitika ja ebaaus ja nii edasi. Minu kogemusel maailm käibki tutvuste kaudu, nii et vinguda pole mõtet. Networking on üks olulisemaid asju, millele noore täiskasvanuna tähelepanu pöörata. Ütleme ausalt, kui paljud teist on näinud või kuulnud sellisest situatsioonist, kus tööandja ütleb oma töötajale: “No me teeme konkursi, sest peab tegema, aga sa saad raudselt selle töö endale”? Inimesed on lõpuks ikkagi (vähemal või rohkemal määral intelligentsed) sotsiaalsed ahvid.

Ma näen proge unes

Olen viimase nädala tegelenud enam-vähem ainult Skeletoni laboritarkvaraga. Ma tavaliselt teen päevas ainult kuskil 2-3 tundi intensiivset tööd, aga nüüd ma teen 6-7. Tundub, et programmeerimine annab ajule täpselt nii palju dopamiini ja progressi tunnet, et inimene suudab seda tundide kaupa teha.

Ma näen programmeerimist unes. Mäletan, et kui kõik maailma inimesed mingit versiooni candy crush’ist mängisid, siis sai ka värvilisi kujundeid unes nähtud ja bussipeatustes inimesi mentaalselt jope värvi järgi ritta seatud. Nüüd on sarnane situatsioon. Ma ei saa öösel magada, sest ma vähkren voodis ja kujutan poolunes ette, et mu magamismudel on valesti seadistatud.

ChatGPT on elupäästja

Ma ei tea, kuidas ma selle tööga hakkama saaks, kui mul ei oleks ChatGPTd. Mul on Chat koguaeg lahti ja ma küsin tema käest pidevalt Django kohta küsimusi. Programmeerimise õppimine käib Chati abil palju kiiremini kui vanasti, sest Google annab programmeerimisküsimustele vastuseks lihtsalt foorumi postitusi, aga Chat vastab minu küsimusele täpselt. Kui ma Chati vastusest aru ei saa, siis ma saan alati täpsustusi küsida.

Järgmisel pildil on näha, kuidas ma küsin eelmisele küsimusele täpsustust ja ChatGPT kasutab minu näidismudelite nimesid oma vastuses.

ChatGPT tasuta versioonis on nüüd küsimuste limiit, nii et ma maksin 20$ ja tellisin omale Premium versiooni läbi ettevõtte konto. Ma oleks ilmselt valmis ka 100$ kuus plekkima nii hea tööriista eest.

Teavitused meilile?

Saada oma email, kui soovid uute postituste kohta teavitusi.

Meeldis? Jaga sõpradega

Kirjuta kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga

Kasumi numbrist

Rakendan oma ettevõttes kasum esimesena süsteemi ja loen siin kasumiks välja makstud brutopalka ja dividendide maksmiseks kogutud raha.

Kasum = brutopalk + dividendifond