10 razmišljanja koja govore da i niste baš dobar programer

You may also like...

15 Responses

  1. Petar says:

    Igore, zanimljiv članak! hteo bih da ti postavim par pitanja pošto sam ja početnik i tek učim osnove web dizajna i programiranja (preko video tutorijala i ponešto knjiga). Evo recimo prva stvar koja mi nije jasna jeste – ako želim da pravim sajtove na bazi WordPress-a zašto bih recimo učio JavaScript ili jQuery ili neku treću tehnologiju ako ima milion pluginova koji će mi završiti posao ? ovo ne pitam zato što sam lenj da učim nego zato što se upravo oslanjam na to što si u tekstu napisao – zašto uopšte praviti nešto iznova ako je neko drugi već to sve odradio ? Nije mi jasna ta granica kada trebam koristiti sopstveno znanje iz nekog programskog jezika ili biblioteke, a kada implementirati nešto tuđe i provereno?? Već neko vreme učim i stekao sam utisak da kad pređem gradivo sve što ću raditi biće kalemljenje i implementacija tuđih rešenja i to je to. ili je možda moj pristup pogrešan: možda treba bataliti WordPress i osloniti se na neki PHP framework koji mi daje više slobode u programiranju ?? Izvini ako sam smorio, nadam se da ćeš odgovoriti. PozZ

  2. manjak says:

    Moraš da znaš js i jquery ako si web developer. Poenta je da bilbioteke koje ćeš nalaziti na netu neće uvek odgovarati tvojim ili potrebama tvog klijenta. Zato moraš da znaš JS kako bi tu biblioteku prilagodio. Poenta je da ne pišeš sve ispočetka već da upotrebiš gotova rešenja koja su proverena i dobro rade i da ih samo nadogradiš. Velika je ušteda i sigurnost.

    Ako budeš samo wp radio neće od tebe ništa biti. Neki PHP framework svakako. Laravel je dobar izbor.

  3. Petar says:

    Hvala puno! I meni je taj Laravel zapao za oko, vidim da doživljava veliki uspon u popularnosti, a onaj lik sa Envato-a Jeffrey Way je veliki pobornik tog frameworka, naštancovao je dosta tutorijala na svom sajtu i najveći je njegov pobornik. I što je najvažnije, izgleda da je “beginner-friendly” :D

  4. Nemanja Krivokapic says:

    Pozdrav! Sa vecinom teksta se slazem medjutim zapalo mi je za oko koriscenje gotovih resenja. Na osnovu komentara u tekstu stekao sam utisak da je “bolje koristiti gotovo nego pisati svoje”. Ovo cesto pravi veliki problem jer umesto da pravimo resenje po meri klijenta i konkretne potrebe, koriscenjem gotovih biblioteka (pogotovu kod PHP-a) cesto pisemo kod prilagodjen bibliotekama a ne konkretnom resenju. Slazem se da postoje “best practice” i da niko od nas pojedinacno nije pametniji od ostatka sveta medjutim prevelika apstrakcija i pravljenje “alata za sve” predstavlja realan problem. Danas ljudi koriste ORM i kod najprostijih aplikacija umesto da rade direktno sa PDO-om. Pre ce uzeti frejmvork iako realno nemaju potrebu za tako necim. Sve ovo vodi u onu drugu krajnost zbog kojeg Srbiji (a i ostatku sveta) nedostaje dobrih programera. Ukoliko koristis nesto sto znas kako radi to je super ali ukoliko koristis a nemas pojma kako radi – to je katastrofa. Ne zelim da me pogresno shvatite ovde – ja prvi koristim razlicite frejmvorke i programske jezike koje biram prema potrebi same aplikacije koju razvijam. Razlika je sto nikada necu pristati da koristim nesto zato sto u tom necemu ima 10% onoga sto je meni potrebno ili ako se ne slazem sa nacinom implementacije odredjenog resenja.

    Ostalo mogu samo da potpisem :)

    Pozdrav,
    Nemanja

  5. Igore veoma lep tekst, i slozio bi se sa tobom u vise tacaka, ali ne sa svim.
    Tacka 2. :
    Ne bih se slozio ovde, zato sto cesto kao programeri nailazimo na nove jos neresene probleme, i kao tako se cesto pojavljuje potreba da mi ih resimo (knp. ja sam juce smislio nacin za editovanje teksta u dugmadima contact forma u jetpacku). Slazem se da treba pogledati na internetu, ali ni internet nije uvek pametniji.
    Tacka 4.:
    Sto se tice ove tacke slazem se da je pametnije da se koriste druge biblioteke, ali treba naglasiti da cesto i u tim bibliotekama nemaju sva resena, pa sam korisnik moze da napravi resenje i prosledi zajednici kako bi se moglo dodati buducim biblitekama.
    Tacka 7.:
    Slazem se da treba istrazivati nove biblioteke, ali mora se voditi i racuna o samoj starosti biblioteke i platformi za koju se primenjuje (knp. pre 5 dana sam bio na takmicenju gde smo pravili aplikaciju za windows 8.1 metro, i koristili smo .net fukciju system.drow, koja je standard od davnina ali kad smo trebali da pretvorimo u metro aplikaciju nije mogla da se koristi)

    P.S Ja znam da u ovom tekstu ima brdo pravopisnih i gramatickih greski, ali imam disleksiju, pa se nadam da ces me razumeti. :)
    Srdacan pozdrav!

  6. Miloš says:

    Slažem se sa člankom u potpunosti.

    Što se tiče Laravela, mislim da nije dobar za početnike iz razloga što početnici uglavnom nemaju pojma ni šta je OOP, ni šta su klase a šta interfejsi, i slične stvari, i mislim da Laravel može samo da ih zbuni. A, naravno, potrebno je bar da se ima pojam kako sve to u pozadini funkcioniše.

    Moje mišljenje ja da početnici treba da krenu sa čistim PHP-om i kad nauče osnove, da onda nauče bar osnove OOP-a, pa da tek onda počnu sa nekim jednostavnijim framework-om tipa Codeigniter ili slicno, da bi pokapirali neke osnove. Kasnije će im biti lako da se opredele na bilo koji ozbiljniji framework, ako im bude bilo potrebno.

    Pozdrav!

  7. manjak says:

    Miroslave i Nemanja, niste razumeli to što sam hteo da kažem kod tog insistiranja gotovih rešenja. Kada mislim na gotova rešenja mislim na recimo neke biblioteke na Githubu koje godinama razvija više ljudi i koje su milion puta modifikovane i prilagođene svačijim potrebama, koje ne baguju i obavljaju posao. Naravno, ako postoji potreba za nečim što već ne postoji naravno da je potrebno to samostalno razviti, ili ako procenimo da neka biblioteka ne može biti lako modifikovana da bi ispunila naše potrebe. Nije sad da pošto-poto treba koristiti gotova rešenja ali neki standardni zahtevi mogu biti ispunjeni korišćenjem gotovih biblioteka i paketa uz minimalne modifikacije.

  8. Dušan says:

    Ako nećete da koristite provereno kvalitetne rezultate tuđeg rada, onda verovatno imate i svoj programski jezik jer vam ne odgovara kako radi Java, C# ili PHP. Da idemo dalje, verovatno ni Intel ne pravi dobro procesore, trebalo bi izmisliti sopstveno rešenje. Gotova rešenja ne moraju se uvek koristiti ali se moraju uzeti u obzir prilikom procene vrednosti projekta. Ako nemate drugog posla i volite da izmišljate toplu vodu, to bitno utiče na vreme potrebno na realizaciju projekta, samim tim i na cenu. Vaš konkurent koji koristi gotova rešenja isti posao možda može da uradi znatno brže = jeftinije.

    Mnoge stvari u životu nisu rešene na najbolji mogući način, tako je i u ovom poslu. Tržište je takvo da ponekad jednostavno nema dovoljno resursa da se kod napiše za izložbu, Igor se toga uopšte nije dohvatio u tekstu. Sa druge strane, ako radite za sebe treba se maksimalno potruditi, pisati dokumentaciju i testove, poštovati konvencije, raditi refaktorisanje itd.

  9. Petar says:

    Zar Code Igniter nije “mrtav” ? Video sam vec na par foruma da se sve manje koristi i sve manje razvija i da Laravel preuzima primat…

  10. Nemanja Krivokapic says:

    @Manjak zato sam se i ogradio i rekao “citajuci tekst stekao sam utisak” :) Inace sam si napisao “prilagodjene svacijim potrebama” – kada nesto prilagodjavamo svacijim potrebama onda to nije besplatno i uglavnom se placa optimizacijama koje su moguce u konkretnom slucaju. Na nama je da pri odabiru obratimo paznju i na ovo.

    @Dusan – zapravo ne, radim u PHP-u, Javi i Python-u zavisno od potrebe i zahteva. Kapiram da si hteo da karikiras ponasanje onih koji “sve to bolje rade sami” tako da cu preskociti deo oko procesora :) . Trziste je trziste ali i reputacija je reputacija. Stvar je svakoga od nas kakav odnos sa klijentom ostvari – da li je klijentu bitan kvalitet ili kvantitet? Da li pravi novo resenje kojim zeli da ispita trziste i proveri svoju pretpostavku da je taj proizvod profitabilan ili vec poseduje proizvod i sada zeli da investira u kvalitetno resenje koje ce mu omoguciti vise mogucnosti i bolji user experience?

    Za kraj – ne dovodi se u pitanju da li bi iskusni programer trebalo da koristi gotovo resenje ukoliko mu odgovara, odgovor je naravno da bi trebalo dokle god je svestan kompromisa. Problem je sto ovo citaju i pocetnici koji ce koristiti gotova resenja za koja su “culi” da su popularna bez da budu svesni kompromisa koje prave. A onda cemo da se pitamo zasto ima sve manje kvalitetnih programera na trzistu?

  11. Aleksandar says:

    Zaboravio sa na mogućnost ponovnog korišćenja koda.
    Naime, ako vodiš računa da to što pišeš može nekada kasnije da se ponovo upotrebi to će ti isprva doneti malo više muke, ali će kasnije i te kako uštedeti vreme.
    Na taj način sam kreirao sopstveni frejmvork sa dosta mogućnosti u podešavanjima.

    Ovo pod 2 i 4 uzeti sa rezervom, sigurno je da neću da pišem jquery, ali mnoge plaginove brže napišem sam nego što ih nađem na netu. Uz to, probaš 2-3 a ni jedan ne radi ono što treba…

    Sve ostalo apsolutno stoji. Možda bih još dodao i komentarisanje koda, raspored fajlova, planirano keširanje, planirane nadogradnje i proširenja (plugin, extension)…

  12. miljan says:

    Ovo je neozbiljan tekst jer se bavi neozbiljnim stvarima – kao da je pisan za osnovce ili mladje srednjoskolce…
    Sedi i napisi ga ponovo zivota ti ;-)

  13. Miloš says:

    @Petar: Ako pročitaš moj post ponovo, videćeš da ne pričam o tome da li je framework mrtav ili ne, nego o tome da je jednostavan i da bi ti bilo mnogo jednostavnije kao početniku da naučiš njega nego Laravel.

  14. Stefan says:

    Pozdrav svima , ucim web programiranje vec dva meseca a zelim da budem temeljan pa sam i dalje u JavaScriptu i bibliotekama(nisam presao jos na PHP etc jos uvek sam na FronEndu). Nisam upisao skolu za to ili akademiju zato sto mislim da mogu sam da naucim preko tutoriala i knjiga. E sad postoje one lose strane ovakvog ucenja a to je sto si sam i sto kad ti neke stvari nisu jasne nemas skim da se posavetujes ili jednostavno manjak projekata koje bi mogao da radis sa nekim. Pa sam mislio da pitam ako ima zaintresovanih, takodje pocetnika, da napravimo neki kontakt ili neke projekte zajedno. Da napravimo neku grupicu kako bi nam bilo lakse da ucimo i da se pomazemo?