Na ovom mestu baviću se pitanjima:
Šta je to programiranje?
Ko može time da se bavi?
Koliko dugo je potrebno da se to nauči?
Da li je teško kao što se misli?
Programiranje je moguće naučiti na fakultetu ili kursevima, ali je takođe moguće samostalno naučiti uz Internet.
Podeliću svoje iskustvo i davaću razne linkove ka besplatnim materijalima i kursevima. U svojim člancima predstaviću najpoznatije programske jezike i osnovne koncepte u programiranju. U suštini, reći ću sve ono što bih voleo da je meni neko rekao kada sam počinjao da učim programiranje što bi mi uštedelo dosta vremena i gubljenja u okeanu informacija!
Sve na jednom mestu!
Sada to svi znaju! Čak i domaćice koje misle da je Windows novi deterdžent za pranje rublja, doktori koji pretpostavljaju da kada se spomene C misli na začin C, i frizeri koji za C++ misle da je neki novi obogaćeni vitamin C. Čak i oni znaju da su programeri dobro plaćeni!
Gotovo svakom kada sam spomenuo da učim programiranje odreagovao je na sličan način: "A pa odlično, čuo sam da su tu dobre plate!"
To je stvarno tako. Pa šta onda čekamo, hajdemo svi da učimo programiranje! Uskoro će sve nas i onako zameniti roboti i programi!
Polako.
Prvo, verovanje (a često i strah) da će mašina i veštačka inteligencija preuzeti sve poslove i da ništa neće ostati za nas ljude, naravno nije na mestu. Isto kao što ni otkriće parne mašine nije ostavilo ljude potpuno besposlene.
Drugo, i još bitnije... Programiranje nije za svakoga! To je bitno shvatiti. Reći da je taj posao težak opet nije dovoljno dobar opis, jer svi poslovi umeju da budu teški i imaju svoje dobre i loše strane. Programiranje tu nije izuzetak, ali jeste specifična delatnost i kao takva traži osobe koji poseduju određeni mentalni sklop i interesovanja.
Tako da je tu prva i najbitnija stvar videti da li ste vi zaista želite da budete programer. Na svu sreću to nije teško proveriti. Pokušaću u narednih nekoliko tekstova da prestavim šta znači programiranje i šta znači biti programer.
U vremenu početka razvitka komjutera i programskih jezika, u drugoj polovini prošlog veka, programiranjem su se bavili inženjeri koji su bili obrazovani na raznim tehničkim fakultetima i koji su uglavnom zaista izgledali kako zamišljamo klasične programere. Zaluđenici i fanatici, koji su po ceo dan provodili pored svojih dragocenih mašina i samo u tome videli svoj smisao života.
Međutim, razvojem tehnologije i posebno Interneta, sve više se stvarala potreba za ljudima koji poznaju programiranje. Obzirom da fakultetski obrazovani programeri nisu mogli ni blizu da pokriju poslove koji postoje, sve više se stvarao prostor za ljude koji nemaju diplomu ali su naučili taj zanat sami ili na raznim kursevima. Zato danas postoji manje-više trajni poziv na mobilizaciju svih koji žele da se bave ovim poslom. Takav trend postoji već dugi niz godina i samo raste. Sva predviđanja koja postoje, govore o rastu broja upražnjenih mesta koji će morati da se popune sa radnicima koji nemaju fakultetsku diplomu.
Danas svako može da se odluči i počne da uči programiranje, apsolutno siguran da ga tamo negde čeka i posao. Retka su zanimanja koja garantuju tako izvestan posao i dobre zarade! Zvuči skoro kao neka prevarantska šema, prosto previše dobro da bismo poverovali.
Ali, uvek postoji ono „ali“. Programiranje zaista zahteva posebnu vrstu ljude. Naravno, ne mislim da to moraju da budu neki čudaci ili vanzemaljci, ali svi koji žele da se time bave trebaju biti svesni šta ih čeka. Krenuti sa učenjem programiranja samo zato što će nam to doneti novac, je potpuno pogrešan pristup, i ako je to jedini razlog dovešće pre ili kasnije to odustajanja, te će to značiti prosto izgubljeno vreme koje je moglo konstruktivnije da se iskoristi.
Sada, dolazimo do najbitnije stvari.
Razmišljati previše na temu „da li sam ja rođen da budem programer“ nije pravi način rešavanja te dileme. Naravno, treba uzeti u obzir da li vas uopšte zanimaju kompjuteri i da li ste zainteresovani da pišete programe, što faktički znači da ćete najveći deo radnog vremena provoditi gledajuči u ekran i kucajći kodove. Čak i da su odgovori na ova pitanja pozitivni, jedini pravi način da saznate da li će vam odgovarati ta vrsta posla je da prosto počnete da kucate kodove i pravite kratke programe.
Pre samo nekoliko decenija da biste to probali bilo je potrebno mnogo vremena provedenih na fakultetu, pronalaženja kompjuterske literature do koje je bilo veoma teško doći i naravno imati pristup samim kompjuterima što je bila privegija samo bogatih firmi i institucija.
Danas, na vašu sreću, tih nekoliko godina se svodi na samo nekoliko sekundi koje vam je potrebno da iskopirate Internet adresu sajta koji se bavi učenjem programiranja.
U sutrašnjem tekstu daću vam adresu sajta gde možete da probate programiranje, i otrkiću vam koja je najbitnija stvar u programiranju, a sigurno i u životu opšte.
Najbitnija stvar u životu, a i u programiranju je SADA! Filozofski gledano, može se reći da je to i jedini trenutak koji imamo, ali ostavimo filozofiju po strani za sada. Bitno je da ovaj link koji vam dam isprobate odmah, bez odlaganja. Odlaganje često dovodi do potpunog neizvršenja. Dakle, bitno je da ovo probate ODMAH!
Evo adrese sajta na kome možete na najlakši i najzanimljiviji način naučiti programiranje.
https://www.codecademy.com/
Možete da se ulogujete sa Facebook ili Gmail nalogom.
Postoji dosta raznih kurseva, ali preporučujem da se krene od HTML & CSS kursa. HTML je osnovna konstrukcija Interneta, temelji i noseći zidovi, koji drže sve, uključujući i ovu web stranu koju upravo gledate. CSS su tapete, fasade, ukrasni ornamenti, boje vaših fotelja itd. Na sve to dolazi JavaScript: on se brine o tome da uključi peć i svetlo, ili da menja programe na vašem TV-u kada vi to poželite.
Probajte odmah, nemojte odlagati! Videćete, vežbe na početku su veoma lake i ne zahtevaju nikakvo prethodno znanje, sem da znate da koristite tastaturu.
Nemate šta da izgubite, a možete da dobijete toliko mnogo. Pored moguće karijere i zarade, učite se jednom posebnom načinu razmišljanja koji će vam vam pomoći u raznim stvarima, čak i svakodnevnom životu, posebno u planiranju, donošenju odluka i rešavanja problema. Od pravljenja liste za kupovinu do komunikacije sa najbližima imaćete jedan nov i svež pogled na svet.
Stiv Džobs reče da su kompjuteri bicikli za mozak, a učenje kompjuterskih jezika biće vožnja na najboljim mountain bike-ovima po visokim planinama gde je vazduh čist a divan pogled se prostire nadaleko.
Ako vam bude dobro išlo, super, učite programiranje i bližite se jednom zanimljivom, dinamičnom i dobro plaćenom poslu.
Ako vam ne bude išlo, bar ćete znati da to nije za vas, i možete to da napustite znajući da ste dali sve od sebe i probali. Sada bar nećete više imati dileme da li je to bilo za vas ili ne. Svoju energiju moći ćete da usmerite na druge stvari koje će vam više odgovarati.
Ali treba pokušati. Link za Codecademy koji sam dao u prošlom članku je najlakši način da se to uradi.
Probajte!
Codedademy - Akademija koda
U jučerašnjem tekstu sam preporučio Codecademy za učenje kodiranja, evo i preporuka koje kurseve izabrati i kojim redosledom možete ići.
Istina, postoji mnogo sajtova za učenje programiranja, ali niti jedan od njih ne ide tom brzinom "pravo u meso", kao što Codecademy to radi.
HTML/CSS
Najbolje je početi sa HTML/CSS. Tu ćete videti kako je sagrađen Internet! Čak i da vas uopšte ne zanima programiranje prosto je lepo znati na koji način se gradi Internet, u koji gledate svakoga dana po ko zna koliko sati.
Kurs je veoma lak čak i za potpune početnike.
JavaScript
Ovo je dobar i logičan nastavak na HTML/CSS. Za one koji žele da se bave pravljenjem web sajtova, ovo je dobitna kombinacija.
Ovaj kurs je malo teži, pa možda nije loša ideja završiti JQuery pre njega. JQuery bi mogli da nazovemo pojednostavljenom verzijom JavaScript-a.
PHP
PHP isto predstavlja jezik koji čini osnovu Interneta, s’ tim što HTML/CSS/JS stvaraju izgled onoga što gledate vi na vašem računaru, a PHP se bavi logikom na strani servera, dakle kompjutera gde je izvor samog sajta. To isto mogu raditi i Python i Ruby.
PHP je jedan od lakših kurseva i ne traje dugo.
Python
Python je na neki način najlakši jezik za učenje programiranja. Kada pogledate Python kod, videćete da najviše liči na običan engleski jezik i može se čitati i razumeti (relativno) lako.
Ipak, sam kurs je najduži od svih mogućih na ovom sajtu, te će vam trebati malo više vremena, ali ćete posle završenog kursa imati čvrste temelje ovog jezika, ali i programiranja uopšte.
Kurs spada u malo teže, ali ništa preterano teško i nerešivo.
Ruby
Ruby je isto pogodan jezik za početnike. Kod, slično kao Python, veoma liči na engleski jezik. Japanac koji ga je osmislio, Yukihiro Matsumoto, je baš to želeo kada ga je stvarao; programski jezik koji će biti lak i razumljiv za programere.
Ovaj kurs je neke srednje dužine, i nije mnogo težak.
SQL
SQL upravlja bazama podataka. Ovaj kurs nije neophodan, sem ako ne želite baš time da se bavite. Mada, ako imate vremena i volje, svakako da treba da ga završite, radi stvaranje opšte slike.
Veoma je lak, gotovo svuda vam se govori šta treba da unesete, i traje baš kratko.
Java
Java već godinama drži vodeće pozicije po popularnosti i poslovima. Koristi se bukvalno svuda, od mobilnih telefona i osnovnih sistema u zgradama i autobusima, pa do Interenta.
Kurs je zaista lak i traje veoma kratko, zahteva se samo da se unose određeni kodovi, i onda vidite kakve rezultate daju.
Programiranje zaista nikada nije bilo zabavnije!
Sada možete učeti osnove programiranja uz devojke koje se skidaju ako dajete tačne odgovore!
Na sajtu
Code Babes (
https://codebabes.com) stvarno su se potrudili da motivišu one koji odgledaju njihove kurseve uz nekoliko atraktivnih devojaka. Svaka devojka vodi po jedan kurs. Ukupno ima 7 kurseva: HTML, CSS, JavaScript, PHP, Android(Java), SEO i opšti Internet kurs. Svi su namenjeni za apsolutne početnike, ali i ako ste prešli taj nivo, možete utvrditi znanje ... i uživate.
Funkcioniše ovako: odgledate jedan youtube klip, i nakon toga sledi nekoliko pitanja iz te lekcije. Ako date tačne odgovore, devojke počinju da se skidaju. Počinju od naočara i gumice za kosu, preko majce, pa sve do... gole kože!
Posle prvih par lekcija ćete morati da se ulogujete preko svog Gmail ili Twiter računa, da bi nastavili besplatno.
Ljudi koje zanima književnost i strani jezici beže od programiranja, misleći da je to nešto što je suprotno njihovim verovanjima, ali...
Postoji vrlo zanimljiva sličnost između programskih jezika i stranih jezika! Na prvi pogled, ove dve discipline nemaju ništa zajedničko, sem reči „jezik“. Strani jezici su u vrsti društvenih nauka, tiču se lingvistike i književnosti i time kao da su u suštoj suprotnosti sa programskim jezicima, koji izviru iz prirodnih nauka i matematike.
Ipak, to je daleko od istine! Tako, samo učenje programskih jezika vrlo je slično učenju bilo kojeg stranog jezika. Počinjete sa tim da bilo koji tekst koji je napisan na tom stranom jeziku gledate sa potpunim nerazumevanjem i blagim očajanjem. Ko će sve te simbole da nauči? A onda počinjete da učite, slovo po slovo, reč po reč... Sve vam je više jasno i sve ste zadovoljniji. U programiranju, isto tako postoje naredbe čije značenje morate da naučite i zapamtite. Onda sve te divne reči treba spojiti i dati im celinu i smisao. Sintaksa i semantika postoji u programiranju baš kao i govornim jezicima, i ima slično značenje.
Ovo mnogo lakše pada ljudima koji su počeli sve ovo da uče mladi i u školi; tada se taj prvi i najteži deo procesa brzo savlada.
Sjajna stvar u vezi Codecademy je što ima krajnje pragmatičan pristup i što vi od prve lekcije počinjete da kucate kodove i odmah vidite rezultate. Kao na privatnim kursevima stranih jezika, odmah se ide na to da počnete da govorite prve reči i „razmišljate na tom jeziku“. Time se razlikuje od našeg klasičnog školskog pristupa gde se gubi puno vremena na gramatiku i nagomilava se pasivno znanje dok se praktično znanje zanemaruje.
Sećam se kada sam prvi put uzeo roman na francuskom, pre nego što sam počeo da učim francuski... Sve mi je bilo nejasno! Nisam mogao ni jednu reč da uhvatim da razumem. Onda, posle nekoliko godina, kada sam uzeo istu tu knjigu, kao da se otvorila i zasijala na potpuno drugi način! Razumeo sam ne samo pojedinačne reči, nego i smisao svega, i mogao sam sa zadovoljstvom da čitam taj roman!
Slično je i sa programiranjem. Prvi put kada pogledate neki kod napisan na programskom jeziku sve će vam biti nejasno. No, vremenom, uz konstantan rad, razumećete sve više i na kraju ćete doći do toga da apsolutno razumete sve o čemu se radi, a imaćete i sposobnost da isto tako nešto i sami napišete.
Istina, put je dug, ali verujte mi na reč: baš kao i Jelen pivo, ovo je nešto što zaista VREDI! (Navijači znaju zašto).
Nekada je važilo ono da je "samo smrt siguran posao". No, kako godine idu, a medicina postiže sve više čuda, možda ni smrt više neće biti siguran posao! Ipak, postoji sad nešto drugo što je sigurno...
Pre 30 ili 40 godina ono što su radili programeri uglavnom se ticalo kompjutera koje su posedovale velike firme i institucije. Njihov rad vrlo se malo ticao i dolazio do običnog čoveka.
Ipak, danas se to je mnogo drugačije. Čim vam zazvoni alarm na mobilnom ujutro i vi pritisnete dugme da se isključi (ili češće snooze za produžetak zadovoljstva) vi koristite program koji je neko osmislio da baš tako izgleda i baš to radi. Na vašem poslu, gotovo sigurno koristite računar i programe koji značajno pomažu u vašem radu. Na ličnom računaru, od Windows-a, pa sve do igrica, filmova i Interneta... sve to je delo programera!
Programi će sve više preuzimati poslove koji su rađeni ručno ili mašinski. Sasvim je izvesno da i nezaposlenost koja vlada u svetu dolazi kao logična posledica brzih promena koje se dešavaju izazvane informatičkom revolucijom.
Uostalom, meni je prilično čudno da je 21. vek već dobro poodmakao a da ljudi još uvek peru zube četkicama i, da izvinite, brišu zadnjicu rukama, sa nekakvim papirima. U akcionom filmu „Judge Dredd“, Silvester Stalone putuje u budućnost (naravno, da bi izvršio neko grandiozno delo američke pravde) i tamo, tražeći toalet papir za WC bude dočekan smehom i sprdnjom, jer se tamo negde u toj budućnosti više ne koriste tako primitivna sredstva. Koriste se nekakve „školjke“, mada nisu baš prikazali kako to funkcioniše.
Evo isečka iz tog filma: https://www.youtube.com/watch?v=OrWcEGDXOUg
Sve više poslova će preuzimati računari i veštačka inteligencija. Nekada sam mislio da ljudi koji se bave prevođenjem i stranim jezicima nikada neće moći da budu zamenjeni programima zbog specifičnosti takvog poziva i nijansi koje su uvek pristutne u jeziku i lingvistici, a koje mogu biti presudne u krajnjem smislu. Ipak, vreme je pokazalo drugačije, i samo jedan običan Google translate dostupan svima već postiže izuzetne rezulate, a mogu ne mogu ni da zamislim koliko bi napredniji sistemi mogli da postignu. U stvari, lažem, mogu jasno da vidim; mogli bi prosto da dođu do apsolutne preciznosti, kojom bi čak prevazišli način govora i izražavanja većine običnih prevodilaca.
Onda sam verovao da će bar psiholozi i psihijatri biti pošteđeni terora mašina, jer oni ipak moraju dosta da osluškuju svoje pacijente, i da reaguju svaki put na drugačiji način na osnovu svojih znanja, empatije i intuicije. Ali čak i sve to može biti, kroz dugotrajan proces i nove programske jezike, učitano i u memoriju inteligente mašine. U stvari, sa takvim ogromnim kapacitetima, mašina automatski postiže mnogo bolje rezultate nego čovek, jer mašina ne može da ima pad koncetracije, ne može da ima „loš dan“, ne može da „dobije“, ne može da joj se spava ili da prosto bude nezainteresovana u datom trenutku.
Na kraju nas sve to vraća na programere. Oni su ti koji će stvarati takve visoko inteligentne mašine, koji će im davati život kroz pisanje odgovarajućih programa. Zato je programiranje jedan od najizvesnijih poslova budućnosti.
Da li sam previše star za učenje programiranja ako imam 26 godina? 35? 48? 65? 81? Ovo je jedno od najčešćih pitanja koja se tiču učenja programiranja.
Odgovor je, u svim slučajevima: „Ne!“. Ne postoji nikakva granica! Postoje ljudi koji su i osamdesetim naučili programiranje. Sa druge strane, neki ljudi ni sa 20 ili 25 godina nisu spremni da uče nešto novo. Oni već posle završene srednje škole ili fakuteta smatraju da je njihovo obrazovanje završeno i prosto ne žele da započinju da uče ništa novo.
Ali, vi ste drugo... Sama činjenica da postavljate to pitanje, znači da imate interesovanje. Niko vam ne garantuje da ćete to naučiti; ali da li ćete naučiti ili ne, prvenstveno zavisi od vašeg stava i vremena koje ste spremni da uložite, a godine nisu presudne. Bitno je samo da to dovoljno želite!
Istina je da ljudi koji su počeli da uče programiranje sa 10 ili 15 godina imaju veliku prednost, ali to zaista nije bitno. Sada postoje klinci koji već sa 5 godina prave svoje prve aplikacije i programe. Isto kao što je i Mocart je već sa 4 godine počeo da komponuje, no, to ništa ne znači.
To što je Mocart bio wunderkind ne treba vas da spreči da sa 15 ili 50 godina naučite da svirate gitaru ili violinu. Naravno da nikada nećete dostići virtuoznost Mocarta ili Džimija Hendriksa, ali to i nije vaš cilj. Vaš cilj je da naučite da svirate jedan insturment zbog karijere ili zadovoljstva i na taj način obogatite svoj život.
To naročito važi u polju programiranja. Tačno je da je pre nekoliko decenija ta branša bila rezervisana za kompjuterske "Mocarte", ali tehnologija je mnogo lakša za korišćenje sada, a samim tim i kreiranje programa.
Tačno je da ko počnete sa 45 godina, vrlo verovatno da da nećete raditi za Microsoft i da nećete zarađivati desetine hiljada dolara mesečno, ali zašto bi vas se to ticalo, ako vi uspete da zarađujete 500 ili 1000 eura?
Potražnja za programerima je takva, da ako umete da odradite posao ili imate sjajnu ideju za neku aplikaciju, apsolutno niko vas neće pitati za godine.
Čak i da ne napravite karijeru od toga, učenjem programiranja vi se učite jednom novom načinu razmišljanja, koji se zove „kompjutersko razmišljanje“. To je jedan veliki dar i jedna užasno praktična stvar koju ćete osetiti posle u bilo kom poslu, u svakodnevnim aktivnostima, u bilo čemu gde je bitno rešavati probleme, bilo velike ili male. Takav način razmišljanja je bio koristan bio i pre 1000 godina, a sada je sve više neophodan, i vrlo je verovatno da sa razvojem tehnologije, takav način razmišljanja postane najbitniji faktor borbe za opstanak!
Najbitnije je pokazati upornost, svakoga dana izdvojiti vreme za učenje, i rezultati će neminovno doći. (U sledećem tekstu „Ne programira lep, nego uporan“, ću se malo više pozabiviti tom temom održavanja konstantnog rada).
Isto kao za ljubav, nikad nije kasno... da se programira strasno!
U učenju programiranja, možda je najbitnija stvar strpljenje. Treba provesti puno vremena učeći kodove i koncepte koji nam u početku izgledaju veoma strani i nejasni.
Pogotovu ako učite sami. Tada je veoma bitno da razvijete motivacione sposobnosti koje će vas svakoga dana držati u konstantnom radu i napredku.
Preporučujem tekst Džerija Sajnfelda (autora popularne serije „Sajnfeld“):
http://lifehacker.com/281626/jerry-seinfelds-productivity-secret
Tekst je kratak pa mu posvetite par minuta. On govori o prostom obeleževanju na kalendaru svakoga dana kada posvetite više od sat vremena nečemu u čemu želite da napredujete. Ne radi se o nekoj revoluciarnoj metodi, nego o vrlo prostom postupku koji motiviše. Probao sam i stvarno daje rezultate! Bez toga bi neke dane sigurno preskočio, ovako, nekada kada sam imao druge obaveze, ipak sam gledao da nekako izguram makar taj sat vremena, i tako zaokružim još jedan dan. Stvarno je lepo kad pogledate i vidite da ste u proteklih nekoliko dana ili nedelja svakoga dana radili na tome. Stvara osećaj sigurnosti i baš je nekako vidljiv dokaz za to.
To vam je kao guranje kamena uz planinu. Teško je i često uopšte ne možete ni da vidite vrh kome težite, i postaje sve teže, a ne vidite neke konkretne rezultate svoga napora.
Ipak, dobra vest je da vremenom stvarno postane lakše. Jednog dana ćete dogurati do vrha planine i osetiti olakšanje i tek tada ćete videti da je sav taj napor vredeo. Onda dobijate momentum, ili inerciju, i tada su i sile fizike na vašoj strani. Odjednom ono što radite postaje sve lakše, i sve ono što ste učili polako nalazi svoje mesto u praktičnom radu. Naravno, do sledećeg uspona, ali je svaki sve lakši.
Kolega programer kaže ta je to kao penjanje po nekom zidu i dugo vremena samo gledate u taj zid sa nerazumevanjem i teskobom, i nikako da se izdignete iznad njega. Jednog dana, uspete sa obe ruke da se izdignete iznad tog zida i konačno vam se ukaže nova slika i otvoreni horizont i tek tada sve ono što ste učili dobije smisao. Preskočite taj zid i sve je drugačije.
Isto kao učenje stranog jezika. Ne baš bilo kog stranog jezika... Učenje bilo kog evropskog jezika nije dobro poređenje jer svi imaju slična slova našoj abecedi (a slovenski jezici imaju i mnoštvo sličnih reči). Ovo je kao učenje arapskog, kineskog ili jevrejskog. Dakle, čak su i slova drugačija i tu počinje sve. Potrebno je puno vremena da se nauče sva slova i osnovne reči, a opet to ništa posebno ne znači, posle puno napora, pravi izazovi tek predstoje u vidu gramatike, vokabulara, semantike...
Tako i u programiranju. Čini vam se da ste dali sve od sebe i po ceo dan gledate u ekran, i posle nekoliko meseci napornog rada i postizanja rezultata, opet ste na početku.
Zato je ključna stvar za uspeh u programiranju (kao i u mnogim stvarima u životu) - STRPLJENJE! Čak je mnogo bitnije i od inteligencije. Neka prosečna inteligencija vam je naravno potrebna, ali za konačni uspeh je upornost i disciplina mnogo bitnija.
Dakle, kao što naš narod kaže:
Ne programira lep, nego uporan!
Programiranje sam uvek učio sam, isključivo uz Internet! Tako mi je preporučeno od nekih koji znaju više od mene. Ja bih pre išao putem nekog kursa i sličnih stvari, ali iako se to čini kao možda lakši put, to ipak nije i najbolji put. Učeći sam, čovek se suočava sa težim problemima, ali kroz njih ojačava i sazreva kao programer. Na kraju, najbitnije je što se na taj način najbolje vrši provera da li zaista želimo da naučimo programiranje! Kroz samostalan rad videćemo da li stvarno imamo strpljenja za ovaj posao, koji ipak zahteva jedan poseban način razmišljanja.
Nisam ni sanjao da ću ikada da se bavim programiranjem, moram da priznam. Dobio sam tu adresu za Codecademy, i prošlo je više od 6 meseci od kako sam je dobio do dana kada sam kliknuo na taj link. Rekao sam sebi taj dan da moram bar pola sata da posvetim. Ipak, kada sam počeo, video sam da programiranje uopšte ne mora da bude neko dosadno kucanje kodova koji nemaju veze sa životom. Odmah mi se dopalo! Taj dan radio sam mnogo duže od pola sata a onda i sledeći dan i sve naredne dane! Taj kurs mi je bio kao neka igrica koju nisam mogao da prestanem da igram i gde sam jedva čekao da pređem sledeći nivo!
Vrlo brzo mi je to učenje postala najbitnija stvar u životu. Uživao sam i radovao se svakom novom danu i izazovima koje sam sretao na kursu.
Pored toga, sve češće sam pronalazio definicije za razne termine, koncepte i programske jezike na Guglu i Wikipediji. Naravno, posetio sam stotine sajtova; ne nekima sam bio mesecima i vadio razne stvari, mada na većini sam bio samo kratko i izvukao neke nepoznate pojmove.
Prešao sam i kurseve na w3schools za HTML i JavaScript. Oni nisu toliko zanimljivi i interaktivni kao na Codecademy, ali imaju više informacija koje su neophodne za početnike.
Trudio sam da nađem što više klipova na Youtube-u. Odgledao sam razne tutoriale, emisije, predavanja i savete.
Pročitao sam i dosta knjiga, većinu sam ih skinuo preko Torenta. Iz mog iskustva, najbolje knjige za početnike su iz edicije "For dummies" (kod nas je dosta tih knjiga prevedeno u ediciji "za neupućenje, nažalost, vrlo malo za programere) i "Head First".
Nekoliko lynda.com tutoriala sam skinuo preko Torenta. Ko voli da gleda klasična predavanja, lynda.com mu nudi najkvalitetnije videe sa obiljem praktičnih primera koji se mogu primeniti.
Ako bih morao da izdvojim samo jednu knjigu iz oblasti programiranja za početnike to bi bila baš ova:
Coding for dummies
Ovu knjigu bih stvarno toplo preporučio svakome ko počinje da uči programiranje bezprethodnog znanja!
Cela edicija "for dummies" je sjajno osmišljena i usmerena ka tome da se premosti taj jaz između tehnologije i ljudi koji možda imaju mali strah od nje.
Čak i ako vaš engleski nije sjajan, ali imate osnovno razumevanje, moći ćete da je čitate. Pisana je takvim jezikom da stvarno svako može da je razume. Kroz humor, slikovite primere, knjiga vas lagano upoznaje sa osnovnim stvarima u programiranju. Tehničke stvari i detalji se uvek zaobilaze i ide se pravo u suštinu i praktične primere.
Ova knjiga vas uvodi u svet programiranja na najbezbolniji način i daje veoma lepo sročenu tu neku opštu uvodnu reč da biste shvatili gde je danas tehnologija i zašto je toliko bitna. Sve je to urađeno u najkraćim crtama i za čitaoce je isceđen sam nektar iz tih sokova.
Knjigu ne morate čitati kao roman, možete preskakati poglavlja i čitati odmah ono što vas zanima. Postoje korisne praktične vežbe, a i uputstva kako da napravite svoju prvu web aplikaciju. Sve lekcije prati mnoštvo linkova gde na Internetu možete da pročitate još na date teme ili da nastavite kodiranje.
Čitava knjiga je usmerena ka web developmentu, tako da se kreće od HTML-a i CSS-a, preko JavaScripta, pa do dva jezika koji se koriste za back end, Ruby i Python.
Od sutra nastaviću da pišem o programiranju, da li ga vredi učiti, gde i kako učiti, koliko je teško, koje su najčešće zamke koje vrebaju i na kojim većina ljudi koja uči programiranje pada, gubi motivaciju i prestaje sa učenjem...
Istina da programiranje nije lako, ali šta je u ovom životu lako... sem pesme o nedeljnom jutru od Faith No More.
Treba se potpuno posvetiti programiranju bar nekoliko meseci, da bi nam sve te stvari postale bliže. Ali na kraju, najbitnija je praksa! Što pre počnete da se susrećete sa pravim problemima i poslom, pre ćete stvarno naučiti. Nađite nekog ko se time već bavi da vas posavetuje i da vam neke zadatke, ili vidite sa nekom firmom koja već ima programere da volontirate, pomažate i tako učite posao. Vaš proces učenja će se nastaviti (bar u programiranju on traje dokle god smo živi), ali ćete sada znati koje su stvari prioritetnije i na šta je najbitnije da se fokusirate.
To vam je kao spremanje nekog najfinijeg jela. Možete staviti najkvalitetnije sastojke, mešati, spremati i... Ali na kraju, sve to morate gurnuti u rernu ili staviti na plotnu!
Na kraju treba reći da je često ono što deli uspešnog programera i nekoga ko već zarađuje, od neuspešnog programera koji se zauvek zaglavio u procesu učenja i u jednom trenutku izgubio volju da ide dalje je jedna ključna stvar: MENTOR. Morate naći nekoga ko zna više od vas i ugovoriti redovne sastanke! Idealno bi bilo jednom nedeljno, ali i jednom mesečno bi nešto značilo. Naći mentora je isto što i potraga za Svetim Gralom, pitanje je da li uopšte i postoji... Svako ko bilo šta zna o programiranju, taj uveliko već radi, zarađuje ozbiljne sume novca i već ima posla preko glave a sve primamljivije ponude stalno stižu. E sad, tako neko da odvoji svoje dragoceno vreme i posveti se nekom početniku, vrlo su male šanse, sem ako imate sreće da znate nekog takvog ko vam je veoma blizak.
To ne znači da treba odustati od Svetog Grala; da ga je lako naći ne bi se ni zvao tako i ne bi imao takvu vrednost. Vaša motivacija može preskočiti i mnogo teže prepreke. Uostalom, ne zaboravite da je i taj vaš mentor morao da prođe sve što vi prolazite, tako da će ta osoba sigurno pomoći, samo je bitno da se vi pokažete vredni njegovog (ili njenog) vremena.
Bitno je da treba koristiti svaku priliku da se svaki programer koji se sretne priupita nešto, da se svuda nešto sazna! Radionice, predavanja, meet-up, besplatni i plaćeni kursevi... sve je to nepresušan izvor znanja, ali i novih poznastava koji nam mogu mnogo pomoći na daljem putu.
Powered by blog.rs