Kako se postaje uspešan programer?

Ako pogledate knjige o popularnim programskim jezicima, ne možete a da ne primetite kako te knjige teže četvorocifrenom broju strana. I sigurno ste se bar jednom zapitali, kako programeri uspeju da zapamte sve što se u njima nalazi? Da li je potrebno memorisati sve iz njih kako biste postali uspešan programer? Koji je odgovor na pitanje “Kako postati uspešan programer?”?

Programeri uopšte ne memorišu naredbe! Programeri uče princip kako se nešto može uraditi. Oni logički razmišljaju i smišljaju načine da reše probleme. Takođe, poseduju znanje o mogućnostima nekog programskog jezika. Često ne znaju kako se tačno piše naredba koja im je potrebna, ali to i nije tako bitno – samu sintaksu naredbe uvek mogu da nađu na internetu.

Uspešni programeri su kreatori koda

Šta je to što uspešni programeri znaju i šta ih to izdvaja od ostalih, manje uspešnih? Uspešni programeri razumeju algoritme i umeju da ih implementiraju. Dobri programeri moraju da imaju odlične analitičke sposobnosti i rezonovanje. Oni nikad ne uče kod „napamet“, već uvek samo logiku unutar koda. Ako razmeju logiku, same naredbe će lako naći. Programeri ne reprodukuju kod koji su nekad naučili, već razmišljaju, pišu i kreiraju rešenje. Uspešni programeri su kreatori koda!

Kako da naučite da razmišljate kao uspešan programer?

1. Uspešni programeri ne uče kod napamet

Prva stvar koju ne bi trebalo da radite je da učite kod napamet! Učenje naredbi ili delova koda napamet Vas nigde neće dovesti. Ako Vam neko samo malo promeni problem koji rešavate bićete bespomoćni.

Memorisanje samo po sebi nije baš prava stvar. Primena novih koncepata koje učite je ključ. Pomoći će Vam da napravite vezu u Vašem mozgu, što vodi ka treniranju Vašeg analitičkog mišljenja.

Učenje programiranja donekle podseća na učenje stranog jezika. Kao što ni engleski ne možete da naučite tako što čitate rečnik, tako ni programiranje ne možete da naučite tako što učite naredbe. Tako da, nemojte se upetljati u pokušaju da zapamtite sve detalje vezane za jezik. Fokusirajte se na učenje novih ideja i primenjivanje istih u praksi.

programiranje kod

2. Uspešni programeri shvataju princip

Zadatak programera je da pronađe niz koraka koji vodi do rešenja problema i da te korake pretoči u kod.

Recimo da imate sledeći problem: imate datoteku i treba da ispišete njen sadržaj u konzoli koristeći neki programski jezik. Pokazaćemo to na primeru programskog jezika Python, mada je programski jezik potpuno nebitan. U svakom drugom programskom jeziku bi se na sličan način došlo do rešenja.

Razmislite, koji je prvi korak?

Šta bismo mi uradili kad bi neko zahtevao od nas da pogledamo sadržaj fajla? Naravno, otvorili bismo ga! Pa i računar treba da uradi to isto. Potreban nam je kod koji radi upravo to – otvara fajl. Ako smo to davno koristili ili ne možemo da se setimo naredbe koja to radi, jednostavno bismo ukucali sledeći tekst u Google: „how to open a file in python“. Sigurno će nam već na prvoj strani Google pronaći rešenje.

O čemu treba da vodimo računa kad otvaramo datoteku – o tome da budemo što precizniji kako bi računar dobio što tačnija uputstva. Ko je nekad radio sa fajlovima, umesto učenja naziva naredbe koja otvara datoteku, potrebno je zapamtiti da računar traži da mu kažemo razlog otvaranja datoteke. Iz datoteke možemo da nešto čitamo, da pišemo u nju ili da dopisujemo. Znači, ispravno učenje nije memorisanje same naredbe, već učenje ove pojedinosti – „precizirati na koji način treba otvoriti datoteku“.

O čemu još treba da vodimo računa u ovom koraku? O lokaciji fajla? Program koji pišemo nema pristup celom našem računaru, već vidi samo neke njegove lokacije. Potrebno je da mu napišemo – gde se fajl nalazi. Ovo je mesto gde će veliki broj početnika pogrešiti. Naime, za ovaj korak je potrebno dobro razumevanje relativnih i apsolutnih adresa – ko jednom shvati princip neće imati kasnije problema.

Imamo otvoren fajl i treba da iščitamo sve njegove redove.  Zamislite (sekvencijalni) fajl kao nekadašnju audio kasetu. Da biste slušali petu pesmu, potrebno je da premotate prve četiri. Znači, u ovom koraku čitamo fajl red po red dok ne dođemo do kraja fajla. I tako je u svakom programskom jeziku. Da bismo se kretali red po red, potrebno je da smo nekad ranije shvatili princip petlji – kretaćemo se kroz fajl tako što ćemo koristiti petlju for. Python ima veoma moćnu for petlju koja može da se „kreće“ kroz redove i to možemo (ako znamo) da iskoristimo kako bismo pisali što manje koda.

Onda je potrebno da čim iščitamo red da ga ispišemo. U svim programskim jezicima postoji naredba za štampanje – obično se piše kao „print“ ili „output“. To će svi sigurno lako zapamtiti. Ono što je teže je da u slučaju da koristimo naša slova da se „setimo“ da to kažemo računaru, inače će biti prikazane kvačice.

I poslednji korak – ako smo otvorili datoteku moramo i da je zatvorimo.

I pobrojali smo korake koji su neophodni da bi se rešio ovaj problem. Evo kako izgleda naš program u Pythonu:

fajl = open('tekst.txt', 'r', encoding='utf8')
redovi=fajl.readlines()
brojac=0
for red in redovi:
    print(red)
fajl.close()

Šta bi se desilo ako red “print(red)” ne bi bio uvučen? Ovakve stvari kod dobrih programera uopšte ne stvaraju nedoumice – njima je ovo kristalno jasno!

Gledajući ovaj mali program, šta je to što je dovoljno da programer zna kako bi ga uspešno rešio:

  • da svaki fajl može da se otvori za čitanje ili pisanje i da moramo precizno da kažemo računaru šta želimo da radimo s našim fajlom
  • kako se koriste apsolutne i relativne putanje
  • čemu služi for petlja i kako se koristi
  • da u trenutku čitanja reda fajla treba isti i da ispišemo
  • da se “setimo” da uključimo naša slova
  • da na kraju treba da se zatvori datoteka

Shvatanje ovih koraka omogućuje programeru da ovakav program može da napiše u bilo kom programskom jeziku. U jeziku koji svakodnevno koristi će brže doći do rešenja, ali nepoznavanje sintakse nekog programskog neće ga sprečiti da napiše program u njemu, samo će ga malo usporiti.

3. Uspešni programeri koriste svaku priliku da uče od drugih

Posmatrajte kako drugi programiraju – iz toga može mnogo da se nauči. Pogledajte projekte drugih ljudi, idite na GitHub i proučavajte ih.

Kada iskoristite vreme da vidite koje su pristupe drugi ljudi koristili na sličnim projektima, možete shvatiti kako da primenite koncepte i ideje koje ste naučili, ali na neki drugi i zanimljiviji način. Možete preuzeti repositories sa GitHub-a da biste videli kod u tekst editoru i čak i koristiti kod na nekom od svojih projekata.

4. Dobri programeri su deo neke zajednice

Jedan od metoda da usavršite svoje znanje jeste da budete deo zajednice koja će Vam dati feedback kada su u pitanju Vaši projekti. Možete podeliti sa njima svoj kod i videti povratnu informaciju. Budite otvoreni da date svoje mišljenje i povratnu informaciju, kao i da shvatite kako su drugi ljudi razmišljali i razumete pristupe koji su koristili. Takođe, budite otvoreni da prihvatite mišljenje drugih ljudi, dobro ili loše.

5. Gde dobri programeri traže odgovore na svoja pitanja?

Glavno mesto je, naravno, Google. Poželjno je znanje engleskog jer ako rešavate neki specifičan problem verovatno nećete naći odgovor na našem jeziku.

Ako znate dobro engleski, sajt gde ćete sigurno naći odgovor ili imati nekog da pitate je stackoverflow.com. Ako nema odgovora na Vaše pitanje, tamo ga možete postaviti.

Ne treba zanemariti ni facebook grupe gde se okupljaju ljudi koji programiraju u nekom programskom jeziku i gde uvek možete postaviti pitanje i brzo doći do odgovora. Ako ste početnik, imate grupu IT početnici, a ako Vas, recimo zanima Python, imate i grupu Python Srbija.

6. Dobri programeri hvataju beleške dok uče

Verovatno ste ovaj savet čuli mnogo puta u prošlosti kako od nastavnika, tako i od kolega i drugih učenika. Vođenje beleški Vam pomaže da učite jer Vas pretvara iz pasivnog slušalaca u aktivnog učenika. Dok vodite beleške, fokusirani ste na to što učite i neće Vas vući da, na primer, stalno proveravate telefon tokom neke lekcije.

Takođe, ovo Vam može pomoći da Vam koncepti koje učite budu jasniji i primorati Vas da zapisujete najvažnije koncepte svojim rečima. Sam čin pisanja će Vam pomoći da mnogo lakše zapamtite stvari koje učite.

7. Dobar programer se postaje vežbom!

Najvažniji savet smo sačuvali za kraj! Kao što već znate, samo vežbom ćete doći do savršenstva! Da napomenemo, mi ne težimo savršenstvu, ali ako ste posvećeni vežbi i usavršavanju svojih veština par sati nedeljno, bićete iznenađeni koliko napretka ćete postići.

Ukoliko usvojite sve gorenavedene savete i primenite ih prilikom učenja, uživaćete u procesu i usvojićete mnogo, mnogo više znanja! Mnogo je zanimljivije da radite na projektu nego da pokušavate da zapamtite kod. Priključivanje zajednici koja će Vam pružiti podršku i pomaže Vam da napredujete je mnogo lepše i zanimljivije nego da sve to radite sami.

Zapamtite, učenje nije nešto kratkotrajno, učite tokom celog života, tako da nemojte sebi stvarati pritisak da nešto postignete u kratkom periodu.

Ako niste sigurni koji bi to bio prvi korak ka učenju programiranja, probajte sa kursevima predviđenim za učenje sopstvenim tempom:

Kursevi programiranja

Za učenje svojim tempom
sql i baze podataka
Programiranje

SQL i baze podataka

SQL i baze podataka Novembar 11, 2021 Objavio: Sanja Vuković Kategorija: Programiranje , Nema komentara SQL i baze podataka i koliko ih je teško savladati?

[...]
Programiranje

Programiranje bez muke

Kako postati uspešan programer? Septembar 20, 2021 Objavio: Ana Uzelac Kategorija: Programiranje , Nema komentara Kako se postaje uspešan programer? Ako pogledate knjige o popularnim

[...]
powerpoint prezentacija
Prezentacije

Kako napraviti dobru poslovnu prezentaciju?

Na kojoj god da ste poziciji, čime god da se bavite, neophodno je da povremeno napravite neku prezentaciju kako biste predstavili neku Vašu ideju, postignute rezultate, informisali publiku, itd.

[...]
kurs after effects
Animacija

Šta sve možes da uradiš pomoću After Effects-a?

After Effects je najmoćniji alat koji se koristi za pravljenje specijalnih efekata. Specijalni efekti zamenuju skupa snimanja u eksterijeru koje zamenjuje relativno jeftino snimanje u kontrolisanim uslovima studijskog snimanja.

[...]
Programiranje

Zašto učiti Python?

Stalno slušate o programskom jeziku Python. Da li znate zašto je toliko popularan? Pročitajte članak da biste saznali…

[...]
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn