Galerija

Postani i ti programer, čak iako više nisi dete

Na moj blog javilo se više ljudi sa pitanjem kako postati programer. Umesto da odgovaram svakom pojedinačno, evo jednog priloga svima, nadam se da će to pomoći.

Kao prvo, programer je veoma širok pojam i obuhvata funkcije od kodera (dakle zanatlija koji samo pišu program po jasnim specifikacijama drugih dizajnera), pa sve do arhitekte velikih sistema. Osim hijerarhijske, postoje i funkcionalne podele. Ima ko se bavi sistemskim softverom (operativni sistemi), kontrolom uređaja, pisanjem aplikacija, smišljanjem algoritama ili proučavanjem informatičke teorije.

Osim toga danas bez informatike nema nijedne druge struke. Kompjuteri su alat fizičarima, biolozima, hemičarima, urbanistima, advokatima, inženjerima svake vrste i da ne nabrajam dalje. U svakom takvom slučaju programer mora da nauči veliki deo posla ljudi za koje piše softver, tako da dolazi do neke vrste privremene specijalizacije. Programeri, osim osnovnog posla, postaju, na kratko, eksperti nekih podskupova drugih profesija.

Mladi ljudi danas imaju veliki izbor škola koje ih mogu osposobiti za ovu struku. No, zanimljivije pitanje je kako postati programer ako ste već odrasli i već imate neku drugu struku. Prvi preduslov za to je dobro poznavanje jezika Techglish, odnosno Technical English. Sigurno, danas, postoji veliki broj knjiga i na našem jeziku koji nude dobar kvalitet, ali ja ih ne poznajem. Od kada znam za sebe ja sam se koristio uglavnom engleskom literaturom, pa će moji saveti biti iz tog domena.

Jedna od mnogih mogućnosti da krenete sa programiranjem od nule.

Jedna od mnogih mogućnosti da krenete sa programiranjem od nule.

Ako baš ništa ne znate o programiranju, savetovao bih da počnete od nekog grafičkog okruženja koristeći veoma jednostavne programske jezike kao JavaScript, na primer. Kan Akademija na engleskom jeziku, potpuno je besplatna web škola koja, osim programiranja, nudi i matematiku, fiziku, hemiju, biologiju itd. Informatička škola nudi lekcije iz jednostavne 2D animacije, ali osim toga nudi u samom web browseru gotov razvojni sistem, tako da vam nisu potrebni ni kompajleri niti bilo koji drugi klasični (i uglavnom komplikovani) alati. Jednostavno se u levom prozoru piše program, a u desnom se trenutno vide rezultati. Osim toga škola nudi stotine već gotovih programčića na sve moguće teme iz kojih se mnogo toga može naučiti. I svaki možete pročitati, pokrenuti i eksperimentisati menjajući ga. I same lekcije koje nudi ovaj kurs su atraktivne i skoro da ne zahtevaju prethodna znanja. Ali su idealne za probijanje leda.

Jednom kada osetite šta je to programiranje, tek onda bih vam savetovao da krenete da čitate ozbiljnije knjige koje daju pravu formalnu teoriju oko programskih jezika, elementarnih struktura i algoritama. Nakon toga, ako znate engleski, Internet nudi praktično neograničen broj odgovora na skoro svako informatičko pitanje. Ali evo da dam i nekoliko konkretnih primera knjiga koje bi mogle da budu korisne u ovoj drugoj fazi.

Thinking in C++„, autor: Bruce Eckel, koji vam daje dobar uvod u objektno orijentisani način razmišljanja implementiranim preko konkretnog jezika C++.

Nakon toga, treba se pozabaviti fundamentalnim strukturama podataka i fundamentalnim algoritmima i to nudi knjiga „Algorithms in C++“ u 5 tomova, autor: Robert Sedgewick.

Nakon toga, da dobro ovladate zanatom, potrebno je da naučite i gomilu programerskih recepata, da ne biste morali da izmišljate toplu vodu svaki put, dobra knjiga za to je „Head First Design Patterns„, autori: Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.

Nakon Kan Akademije i ovih knjiga, jedino što vam je potrebno je Gugl na engleskom. Nema šta on neće naći. Nije neophodna pomoć drugih živih ljudi, naravno ako znate sami da učite, da znate koji deo knjiga je bitan, a koji se može preskočiti i samo ponekad vraćati se u slučaju konkretnih budućih problema.

Good Luck.

P. S.

Ako vam se baš posladi, evo i jednog pointera na mnogo viši nivo, „The art of Computer Programming„, autor Donald Knuth, totalni guru informatike.

Evo i moje kolekcije priloga koji se bave informatikom.

Ako želite da odslušate, prilog počinje na 39 min 15 sek

Advertisements