Želim da počnem sa nečim očiglednim: svi mitovi se na kraju ispostave kao gubljenje vremena (mitovi, ne mitologija). Postoje trenuci kada se stvari savršeno poklope, naročito kada koncept proizađe iz razmišljanja o nekom mitu i ispostavi se efikasnim. Većinu vremena, međutim, mitovi stvaraju buku, i ne olakšavaju stvari niti ih čine korisnijim, zbog čega na kraju samo troše vreme.

Za sve vas koji ste deo sveta programiranja, imajte na umu da ćete svuda nailaziti na savete. Neki su korisni, neki nisu, a neki će vas samo usporiti.

Vremenom sam shvatio da mnoge stvari koje su me brinule tokom moje programerske karijere zapravo nisu bitne. Ponekad sam satima učio alate za koje me je neko ubedio da su „revolucionarni i neophodni“, a na kraju ih nikada nisam ni koristio. Proveo sam mnogo vremena popravljajući probleme koji to nisu bili, ali me je to držalo u iluziji da napredujem i učim.

Istraživanje programera iz 2024. pokazuje da 69% programera gubi najmanje 8 sati nedeljno, oko 20% svog vremena, zbog stvari kao što su tehnički dug, loša dokumentacija i usporeni procesi izrade softvera. Sva ta iskustva su me naučila da praćenje svakog saveta na koji naiđete verovatno vodi ka gubljenju vremena, a ne ka tome da postanete bolji programer.

Ovaj tekst razmatra pet programerskih mitova koji se stalno ponavljaju. Ako ihse oslobodite, moći ćete da se posvetite onome što je zaista bitno.

Mit #1: Morate naučiti svaki framework da biste ostali relevantni

Myth #1: You Must Learn Every Framework To Stay Relevant

Uvek se pojavi neki novi framework, alat, biblioteka ili programski jezik koji postane glavna tema u programerskoj zajednici. Svi obećavaju će baš taj framework da promeni sve, da reši sve probleme u kodiranju i učini vaš rad efikasnijim i bržim. Ako odmah ne skočite na taj „voz“, lako možete imati osećaj da zaostajete.

Istina je da u glavnom uopšte nije potrebno da navrat-nanos učite taj novi alat ili framework o kojem ste čuli, o kojem svi pričaju. Kompanije se često drže starije tehnologije, prosto jer funkcioniše. Sistemi zasnovani na Javi, PHP-u ili .NET-u rade godinama bez prebacivanja na najnovije verzije, jer nema problema sa onim što je najvažnije, a to je da je kod stabilan, koristan i da podržava veliki broj korisnika/posetilaca.

Učenje novih i popularnih alata može izgledati kao širenje znanja, ali ako ih nikada ne primenite u praksi, a učili ste mesece, to se može smatrati gubljenjem vremena. 

Retrospektivno, bolje bih iskoristio vreme da sam se dublje posvetio osnovama, kao što su rešavanje problema ili dizajn paterni. To su veštine koje koristim u svakom projektu, bez obzira na framework.

Suština:

  • Pokušaj da uvek budete u korak na najnovijim trendovima u industriji, po svaku cebu, samo vas iscrpljuje i dovodi do burnout-a.
  • Učenje nečeg novog vredi samo ako rešava stvaran problem sa kojim se suočavate. Ako vaš tim koristi React, učenje React-a ima smisla.

Mit #2: Postoji samo jedan pravi način za pisanje koda

There Is Only One True Way To Write The Code

U ranim godinama programiranja verovao sam da postoji samo jedan ispravan način za pisanje koda i samo jedan tačan način da se reši problem. Proveo sam mnogo vremena pokušavajući da oponašam ono što sam video u tutorijalima ili što je neki senior uradio ranije, misleći da je to jedini pravi način.

Ali programiranje je takvo da postoji mnogo različitih načina da se reši isti problem. Sada, kada ovo znam, u svom projektu trudim se da odluke donosim u skladu sa kontekstom, a ne po principu „ovo je jedini pravi način“.

Suština:

  • U programiranju ima dosta izbora, i dok je jedan pristup možda brži, drugi lakši za implementaciju i održavanje, nijedan od njih nije apsolutno ispravan ili pogrešan.
  • Kada ovo shvatite, možete se fokusirati na to da vaš kod radi, umesto da pokušavate da dostignete zamišljeni standard rešavanja problema.

Mit #3: Moram sve da rešim sam

I Have To Figure Out Everything By Myself

Kada sam tek počinjao, verovao sam da „pravi programer“ treba da može samostalno da reši svaki problem. Nisam postavljao pitanja, nisam tražio odgovore online, niti gledao kako su drugi rešavali slične situacije, jer sam želeo da pokažem da sve mogu da postignem sam.

To ipak nije funkcionisalo. Proveo sam sate savijen nad problemima koji bi mogli biti rešeni za nekoliko minuta da sam samo pitao ili potražio rešenje.

Vremenom sam shvatio da korišćenje resursa nije varanje i da ne znači da sam zbog toga lošiji programer. Naprotiv, to znači da sam praktičan, što bi svaki developer trebalo da bude. Forumi, AI alati, kolege – svi su tu da vam uštede vreme i spreče frustraciju, kako biste mogli da se fokusirate na značajan posao.

Suština:

  • Prava veština nije znati sve, već znati gde da potražite odgovore, kako ih proceniti i kako ih implementirati.
  • Kada sam ovo prihvatio, moj rad je postao brži i manje stresan, a ujedno sam i više naučio tokom procesa.

Mit #4: Veštačka inteligencija će zameniti programere

AI Will Replace Programmers

Ovo je trenutno glavna tema u programerskoj zajednici. Ljudi se brinu da će sve više zadataka biti automatizovano, što će smanjiti potrebu za radom programera. Ono što nam je ranije oduzimalo sate, AI sada generiše za nekoliko minuta, pa nije ni čudo što se ljudi plaše. i to ne samo u svetu programiranja. 

Međutim, realnost je drugačija. AI može pomoći kod repetitivnih zadataka, može generisati delove koda ili predlagati rešenja. Veštačka inteligencija ubrzava rad, ali ne zamenjuje razmišljanje, donošenje odluka i rešavanje problema koje programeri rade svaki dan (još uvek).

Suština:

  • Nakon što sam se malo upoznao sa potencijalom velikih jezičkih modela, počeo sam da gledam na AI kao na koristan alat, a ne pretnju.
  • AI mi je uštedeo vreme i omogućio da se bolje fokusiram na one aspekte programiranja koji zaista zahtevaju ljudsku procenu.
  • Učenje kako koristiti ove alate postaje deo veštine programiranja, a ne nešto što je zamenjuje.

Mit #5: Senior programeri znaju sve

Senior Developers Know Everything

Ranije sam pretpostavljao da senior programeri imaju sve odgovore. Mislio sam da je razlika između mene i njih jednostavno u količini stručnosti i znanja, i da ću jednog dana, ako dovoljno dugo istrajem, stići do te (izmišljene) destinacije, da ću isto kao i oni, sve da znam.

Stvarnost je mnogo drugačija. Senior programeri ne znaju sve; oni su samo razvili sposobnost da postavljaju prava pitanja, efikasno rešavaju probleme i ostaju smireni kada nemaju odgovor ili se približava rok.

Oni se oslanjaju na dokumentaciju, kolege i metodu pokušaja i pogreške kao i svi drugi. Ono što ih izdvaja je iskustvo, a ne sveznanje. Kada sam ovo shvatio, oslobodio sam se ogromnog pritiska. To je značilo da ne moram čekati da „znam sve“ da bih doprineo ili sebe nazivao programerom.

Suština:

  • Napredak dolazi kroz pravljenje grešaka i učenje. Ne postoji linija koju, kada je pređete, znači da znate sve.
  • Sa ovim uvidom, svi mitovi koje sam nosio sa sobom počeli su da se raspadaju.

Šira slika

Pogled unazad, svaki od ovih mitova imao je jednu zajedničku stvar: navodio me je na oklevanje. Uveravao me je da je programiranje o savršenstvu, trenutnoj veštini ili nekoj nedostižnoj ekspertizi.

Ali istina je mnogo jednostavnija. Programiranje je u tome da svaki dan naučite nešto više i da budete u redu sa tim da odmah ne znate sve odgovore.

Kada sam otpustio mitove, počeo sam zaista da uživam u procesu. Više nisam jurio nemoguću verziju sebe; jednostavno sam gradio, eksperimentisao i postajao bolji korak po korak.

Ako i vi nosite ove stavove sa sobom, ovo je vaše „dozvola“ da ih otpustite. Ne treba vam savršen kod, superfokus ili ogromno znanje da biste bili „pravi“ programer. Potrebna vam je samo radoznalost, strpljenje i spremnost da nastavite dalje.

Razotkrivanje ovih mitova podseća nas da je web development o kontinuiranom učenju, rešavanju problema i saradnji. Stvarnost je da svaki developer, bez obzira na iskustvo, raste kroz postavljanje pitanja, eksperimentisanje i rad sa drugima. Otpustivši ove zablude, stvaramo prostor za zdraviji i održiviji pristup web developmentu – koji ceni radoznalost, prilagodljivost i timski rad.