Učenje programiranja

Još jednom... NIKAD NIJE KASNO!

— Autor programiranje @ 15:14

Na moje tekstove o odgovarajućim godinama za počinjanje programiranja je došlo par pitanja, a i svoj programerskoj praksi sam često nailazio na to pitanje neupućenih:

Da li sam previše mator da počnem sa programiranjem?

Pošto u svom prethodnom tekstu (http://programiranje.blog.rs/blog/programiranje/generalna/2016/06/02/da-li-sam-previse-star-za-programiranje) nisam bio dovoljno konretan, jednostavan odgovor bi glasio:

-NE!

Dakle, vrlo slično onom istorijskom "njet" koje je ti Tito tvrdo saopštio Staljinu sredinom prošloga veka. Jedino kako mogu da zamislim da ste previše stari je da niste više na ovom svetu. Da, u tom slučaju, ako ste mrtvi, onda bih možda mogao da kažem da ste previše stari, mada, zbilja, ni to ne bih mogao da tvrdim, jer pretpostavljam da su i na onom svetu potrebni kompleksni algoritmi, ako ništa drugo, onda da valjano odrede ko će da ide u raj a ko u pakao...

No, taj deo ću ostaviti nekom teologu, ali što se tiče ovozemaljskog dela, nema brige, nije kasno za vas.

Čak i ako imate preko 60 ili 70 godina, čak i ako više niste radno sposobni, baš u tom slučaju programiranje može doneti neverovatno benefite za vaš mozak. Kao što neki krenu da slikaju iz hobija, vi možete da krenete da učite programiranje. Programiranje čak može više pomoći u održavanju vitalnosti vašeg uma, jer sa slikanjem možete da se i zapustite, a sa programiranjem ćete stalno biti mentalno angažovani i sretati nove izazove. 

Problem nije u godinama, ne. Pogotovu ako imate 30+, ili 40+ godina, to mogu da budu idealne godine za početak. 

Glavni problem je u motivaciji, tj. u tome da li vas to stvarno zanima.

Da se razumemo, ako je ovo pedeseti članak koji čitate o programiranju, i premišljate se o početku učenja programiranja više od godinu dana, mislim da vam je bolje da to batalite. Ako to ne uradite danas, verovatno nećete nikada.

Zašto?

Zato što vas to ne zanima, a jedini razlog zbog čega ste dobili tu ideju je što ste čuli da tu "ima love". Ima, bre, love svuda, samo ako malo zavrnete rukave. Za programiranje će vam rukavi biti toliko zavrnuti da nećete ni morati da ih spuštate. A ona stolica koja treba da se usija da bi došlo do rezultata, ne da da će da se usija, nego će da gori, ima, bre, ručak na njoj da spremate kad se jednom dignete sa nje. Samo što neće biti ništa od spremanja ručka, jer ćete uskoro na ringlu opet morati da stavite svoje dupe, da bi nastavili da radite. Znači, pravac u onu trovačnicu na ćošku da kupite onu pljesku što je mešavina keretine i soje, pa onda trk nazad na stolicu, što pre dok se ne o'ladi.

Sve ovo vam govorim jer ne može svako da bude programer. Postoje ljudi koji prosto imaju predispozicije i interesovanja za to, i oni će lagano zaplivati tom rekom. Ali ako vidite da vas to ne zanima, i da se ne snalazite u svemu tome, bolje da tu energiju uložite u neko novo polje ljudske delatnosti, jer ako nemate talenta za programiranje, sigurno imate za nešto drugo.

Ali, probajte, uradite to već danas, evo čim završite sa čitanjem ovog članka, otvorite neki od besplatnih kurseva i krenite(ja sam davao neke linkove na svom blogu), odmah ćete videti o čemu se radi. Ne treba se predati bez borbe, ali ako vidite da to nije vaša borba, pronađite front koji jeste, gde ćete vi dati svoj maksimum.

Tačno je, ako krenete danas da učite sa svojih 35 godina, postoje 20-ogišnjaci koji su u ogromnoj prednosti u odnosu na vas. Pa šta? Ja vam tvrdim i to svi znaju da će biti dovoljno posla i za vas i za njega. Ali da vam kažem nešto iskreno... ako već dugo razmišljate na taj način "pa ja bih, ali šta ću ja tamo kada to programiranje rade neki klinci koji se čitav život bave time... pa to je teško i treba bar fakultet", onda moram da vam kažem da je kod vas najverovatnije upregnut onaj fenomenalni psihološki mehanizam, racionalizacija. Prosto vas mrzi da se bakćete sa nekim tamo programima i kodovima, ali vaš um je smislio način da ublaži tu lenjost. To je sasvim okej, stvarno jeste! Daleko bilo da nemamo te odbrabene mehanizme, ja verovatno ne bih ni iz kreveta mogao da ustanem ujutro, da nije tu mehanizam da mi objasni kako nisam ja kriv što sam lenj, nego SNS i SPS, NATO pakt, CIA, Vatikan i naravno keva! Ali, ako ovo prepoznate, onda bolje da batalite tu ideju oko učenja programiranja. 

Da ste imali stvarno interesovanje, do sada biste već počeli.

Ali ako se danas prvi put srećete sa ovom idejom, i stvarno mislite da to može biti stvar za vas, pobogu, otvorite neki online kurs i krenite, probajte bar 15 minuta da se bavite time. Ako vam se to dopada, ili vam se bar čini podnošljivo, onda stvarno nije bitno da li imate 25 ili 50 godina.

Ne bih da zvučim pesimistično i defetistički, ali bolje i tako nego da vam dajem lažnu nadu. Taj mit da svako može da se bavim programiranjem je zavladao, a to je toliko apsurdno koliko i neka izjava da svako može da bude doktor ili arhitekta. Taj mit svakako u interesu svake države, a pogotovu firmi i korporacija, jer će time da se motiviše veliki broj ljudi da uđe u tu priču. Postoje lakši poslovi u arhitekturi(ako je sagledate u širom smislu) koje može svako da radi, svako može da radi na građevini i meša malter, i to mu je neko bavljenje arhitekturom, majkumu, ali ne i na projektovanju zgrade. Slično je i u programiranju, uvek ima poslova sa strane za koje je potrebna radna snaga da radi te manje zahtevne poslove.

Nadam se da će vam ovaj članak pomoći da prelomite, i da ćete danas čvrsto odlučiti odlučiti da konačno probate to famozno programiranje. Ili da ćete prelomiti na drugu stranu i da ćete se odlučiti da je za vas ipak šivenje, ili španski jezik, ili pisanje poezije, ili dilovanje gudre u kraju (što da ne, pa neko i to mora).

U oba slučaja nadam se da sam vam razbio dilemu, i dugujete mi jednu pljesku (od priloga samo kupus i luk, molim).

A ako ste još u dilemi, onda ću ja vama da kupim šargarepu, da imate da grickate dok razmišljate, pošto ste kao onaj magarac koji je između dva plasta sena i ne zna sa kojim da počne.

U svakom slučaju, prijatno vam bilo!


Kako se ne izgubiti u moru informacija?

— Autor programiranje @ 16:46

Na Internetu  stvarno postoji izobilje informacija na svaku moguću temu. Veoma lako je zalutati i izgubiti puno vremena! Može sve da se nađe, ali u tom beskrajnom svetu mogućnosti preti puno zamki. Naći ćete ono što vas zanima, ali ćete uz to pogledati i pročitati još mnogo stvari koje vam ništa ne znače. Sa svih strana vrebaju reklame, postavljene tu baš da bi pogodile baš ono što mi želimo.


U učenju programiranja, takvih opasnosti ima još više. Pogotovu ako učite sami! Tada je pronaći pravi put od početnika do nekoga ko radi taj posao prava umetnost. Zaista je mnogo stranputica, i najgore je što često iako učimo korisne i praktične stvari, mučimo se i napredujemo, i izgleda da to zaista činimo na najbolji mogući način, ali u stvari zalazimo u neke detalje koji su možda jesu korisni i potrebni, ali ne radimo pravu stvar. U programiranju nema puno vremena za učenje lepih i potrebnih stvari, nego se treba što pre koncentrisati na ono što je neophodno. Sem ako nemate 15 godina i nameravate srednju školu i fakultet da posvetite IT-u. Ako imate toliko vremena onda možete da se bavite svim mogućim aspektima koji vas zanimaju. Ali, ako ste u procesu prekvalifikacije, želite što pre da počnete sa poslom, onda takav luksuz apsolutno ne smete sebi priuštiti.

Kao što je Bodler to lepo rekao: "Najveća lukavost đavola je da vas ubedi da ne postoji". Tako će i vama, pre ili kasnije, neki đavolak da se javi i da počne da vam šapuće kako bi bilo lepo da naučite razne stvari, i na taj način vas odvući od konkretnih projekata.

Tri osnove stvari treba da zna svaki programer, ali to sve treba učiti u hodu, ispreplitano, i najbolji način učenja je kroz praksu.
1. Postoji mnogo stvari koje se tiču osnova softvera, hardvera i računarstva koje treba naučiti, ali treba biti vrlo umeren i oprezan sa tim jer tu treba znati samo osnovne stvari, sve drugo je zalaženje u oblasti koje se neće ticati našeg posla.
2. Treba poznavati osnove programiranja, to je sigurno, ali to je najbolje činiti kroz neki programski jezik i malo dodatnog rada. Opet, ako se previše vremena provodi u izučavanju raznih koncepta, paradigmi i abstraktnih termina, udaljavamo se od naših ciljeva.
3. A onda dolaze i sami programski jezici. Treba isprobati bar nekoliko, govorio sam to u drugim člancima, ali to treba uraditi što brže i efikasnije.

Čak i kada izaberemo pravi programski jezik, bitno je da ne provedemo večnost učeći ga. Recimo, Python se može učiti godinama, i opet ne biti spreman za neki konkretan posao. Kao što engleski jezik možete učiti godinama, ali opet ne bi bili ni blizu spremni da ga predajete u srednjoj školi ili da budete prevodilac, zato što posao ima svoje finese i specifičnosti, koje možete upoznati samo kroz rad. Dakle, da bi bili spremni za posao, potrebno je što početi sa praksom, sa vežbanjem i radom sa klijentima.

Najbitnija stvar u procesu osposobljavanja za posao je znati kako i dokle učiti!
Dakle, koncetrisati se na bitne stvari i iz njih izvuči maksimum, a sve drugo što je potrebno, ali ne i neophodno, samo proleteti, videti o čemu se radi... i znati gde postoji više informacija o tome, u slučaju da nam zatreba. Sposobnost filtriranja i odabira samo onog što je vama potrebno za učenje je bitna, možda i ključna veština od koje da li ćete učiti programiranje 6 meseci i već konkurisati za prvi posao, ili ćete učiti 6 godina, i ni posle toga nećete još biti dovoljno sigurni da li ste na pravom putu!

Vrlo brzo nakon shvatanja osnovnih stvari treba početi sa radom na stvarnim projektima!

Povezati sa bilo kojom firmom ili klijentima i videti kako sve to izgleda u praksi. To naravno ne znači da se vaše učenje završilo, nego da upravo tek počinje, jer će te tek tada videti šta je u stvari najbitnije da učite i u kom pravcu treba da se krećete, jer bi se bez toga sigurno izgubili u prašumi informacija.

Ili se udavili u tom ogromnom okeanu.

A to vam ne treba.

Ono što vam treba je da se ohrabrite i da što pre zaplivate.

Nizvodno.

 


BESPLATNO UČENJE PROGRAMIRANJA PREKO INTERNETA

— Autor programiranje @ 15:06

 

1. Codecademy

Ovaj sajt osmišljen kao interaktivna igrica i na sve načine se trudi da drži pažnju i podigne motivaciju. To čini putem zanimljivog izgleda, bedževa, poena, poruka ohrabrenja i podsticaja da se što duže dana u nizu posećuje kurs. Prvo dobijate lekciju i objašnjenja a potom dobijate zadatke i potrebno je da unesete valjani kod. Ako je tačno idete dalje, ako nije program vam ukazuje na vašu grešku. Na svakom zadatku postoji i Hint, što je prva pomoć, a ako vam ni to ne pomogne rešenje i objašnjenje ćete naći na forumu. Pre je bio potpuno besplatan, sada postoji i deo koji se plaća. Ako vam nije problem da date 10-tak dolara mesečno, preporučujem i plaćanje. Ali i besplatni deo ima ogromne količine materijala koji su sasvim dovoljni.

Ako vas i pored svega ovoga ne bude zainteresovalo programiranje, onda je to vrlo dobar znak da to uopšte nije za vas.


2. W3schools


Ovo je jedan od najdragocenijih izvora kodova za početnike na jednom mestu. Može se učiti klasično, lekcija po lekcija, i postoji deo gde to što naučite možete da isprobate u vidu koda. Posle toga imate i jednostavne zadatke koje možete da rešite.


3. Treehouse

Ovo je jedan od najboljih sajtova koji se plaćaju, ali i to se može izbeći ako uzmete probne 2 nedelje besplatno, i posle toga opet i opet, samo svaki put date drugačiju e-mail adresu (ako slučajno to pravilo nisu do danas provalili i zaštitili se, ali verovatno nisu), Morate imati kreditnu karticu za plaćanje na Internetu, ali ne morate imati nikakav novac na njoj. U Banca Intesa možete besplatno otvoriti taj račun, čak i ako ste nezaposleni. Sajt je zaista izuzetan i olakšava učenje maksimalno.

4. Lynda.com

Ovaj sajt se takođe plaća, ali većina stvari se može skinuti besplatno preko Torenta. U pitanju su visokobudžetni i upeglani video materijali gde se na vrlo temeljan način objašnjava svaka sitnica.

5. Web and study

Ako ne znate dobro engleski, ovo je pravi sajt za vas. Pristup je zaista odličan, i ako želite da napravite najbolji mogući uvod prvo u informatiku i računarstvo, pa onda i u logiku programiranja, na pravom ste mestu.Naravno, možete preskočiti tehničke stvari i odmah krenuti sa praktičnim delom koji se tiče pisanja kodova za HTML, JavaScript, PHP...

Dodatni izvori:

Knjige

Na Internetu postoje hiljade knjiga koje se tiču programiranja, i skoro svi se mogu skinuti besplatno. Ipak, u tom moru informacija, najbitnije je naći nivo koji je vama potreban i pristup koji vam odgovara.

Meni se najviše dopadaju serije For dummies (za neupućene) i HeadFirst. Većina tih knjiga polazi od toga da ne znate ništa ili vrlo malo o programiranju i objašnjava vam kroz razne slikovite primere koji su vezani sa stvarim životom. Dizajn im je vrlo primamljiv i olakšava početak učenja i sprema za prolazak kroz gustu šumu kodova koja vas čeka.

Wikipedija

Enciklopediju ćete često koristi, i ona je veoma nepresušan izvor informacija. Naravno, bitno je biti veoma selektivan, izvlačiti najbitnije, i dugačke članke preletati. Za većinu stvari vam je dovoljno da vidite o čemu se radi u prvih nekoliko rečenica. Sve dalje čitanje može biti gubljenje vremena, sem ako to baš nije neka tema koja vas posebno zanima.

Youtube

Youtube treba konsultovati za sve pojmove na koje naletite, jer je nekad nekoliko minuta videa bolje od ko zna koliko sati čitanja o nečemu. Za sve ozbiljne teme, alate i programske jezike postoje dobri tutorijali. Lakše teme, savetovanja i razna predavanja ja recimo gledam uz obroke i tako vreme posle mogu iskoristiti za neki konkrentiji rad.

Google

Najbolji prijatelj programera je upravo Gugl. Bitno je samo da znate da dobro postavite pitanje na engleskom. Preko 90% ljudi pogleda samo prvu stranu Gugl rezultata za datu pretragu. Vi kao programer morate apsolutno da budete u ovih preostalih 10% koja će uporno pretraživati mnogo duže da bi našli prave informacije!


Powered by blog.rs