Ko je backend developer i čime se bavi?
Backend programer je programer koji razvija serversku stranu web stranice, desktop ili web aplikacije, informacioni sistem i drugi softver. On je odgovoran za internu arhitekturu, algoritme, računarsku logiku i interakciju servisa sa bazama podataka i uslugama trećih strana. Kreira programsko-administrativni dio koristeći jedan od programskih jezika, na primjer, PHP ili Python.
Jednostavno rečeno, takav IT stručnjak programira sve procese web stranice koji nisu vidljivi korisniku, za razliku od frontend developera koji piše kod za vanjski dio programa – korisnički interfejs.
Na primjer, u online prodavnici front-end programer kreira zgodan meni, formular za aplikaciju i kartice proizvoda na koje se može kliknuti, a back-end programer je odgovoran za ispravan rad košarice za kupovinu ili integraciju s pristupom za plaćanje.
Šta programer treba da bude u stanju da uradi
Hajde da navedemo šta pozadinski programer treba da zna i da može da uradi:
- Objektno orijentirano programiranje.
- Git sistem kontrole verzija i GitHub servis.
- Najmanje jedan jezik na strani servera – najpopularniji su Python, PHP, Java i C++.
- Popularne biblioteke i okviri za odabrani jezik.
- Principi rada servera.
- API, REST, SOAP.
- Karakteristike rada sa SQL bazama podataka.
- Pisanje jediničnih testova.
- Osnove mrežne sigurnosti.
- Sposobnost rada u Linux operativnom sistemu.
- Osnovno poznavanje frontend razvoja.
- Engleski jezik na nivou čitanja tehničke dokumentacije
U nastavku ćemo vam reći detaljnije o vještinama i odgovornostima backend programera, ovisno o njihovim kvalifikacijama.
Junior
Junior backend programer je novajlija u razvoju, specijalista sa 6-12 mjeseci iskustva. Poznaje osnovnu sintaksu jednog od programskih jezika (Python, PHP, Java), zna raditi sa popularnim okvirom i bazama podataka, a u svom portfelju ima nekoliko jednostavnih projekata, na primjer, standardnu web stranicu, online prodavnica ili backend za online uslugu.
Karakteristike mlađeg programera:
- rješava jednostavne i rutinske zadatke prema uputama;
- radi pod vodstvom iskusnog mentora koji radi preglede koda;
- zna gdje tražiti potrebne informacije, ali ako se pojave poteškoće, koordinira problem sa menadžerom;
- rijetko piše kod koji se koristi u konačnoj verziji projekta.
Glavni zadatak juniora je da stekne iskustvo u razvoju tima, ovlada vještinom pisanja čistog, čitljivog koda i “postane bolji” u tome.
Srednji
Srednji backend developer je stručnjak srednjeg nivoa koji se bavi razvojem najmanje 2-3 godine i ima iskustvo u samostalnom kreiranju web stranica i web aplikacija od nule.
Posjeduje dubinsko znanje nekoliko programskih jezika, zna koristiti različite okvire i biblioteke, razumije OOP principe i obrasce dizajna, može pisati u SQL-u i optimizirati upite.
Karakteristike srednjeg programera:
- sposoban riješiti zadatke različitog stepena složenosti, uključujući i nestandardne;
- radi samostalno u namjenskom području, ne zahtijeva pregled koda;
- zna kako razložiti složen zadatak na manje, precizno procijeniti vrijeme njegovog završetka i odabrati tehnološku grupu.
Senior
Senior backend developer je vrhunski stručnjak sa najmanje 5 godina iskustva u programiranju, detaljnim poznavanjem nekoliko jezika i modernih okvira (Django, Laravel, Spring).
Zna kako dizajnirati velike zadatke ovisno o poslovnim potrebama: postaviti ciljeve, odabrati tehnološki stack, rasporediti odgovornosti, upravljati timom programera, kontrolirati radni tok i kvalitetu koda i biti odgovoran za konačni rezultat klijentu. Često kombinuje ulogu tehničkog menadžera sa timskim vođstvom, odnosno vođom razvojnog tima
Da li su backend programeri traženi?
Backend programeri su potrebni u svim IT projektima: od kreiranja jednostavnih korporativnih web stranica do razvoja velikih burzi kriptovaluta.
Prema statistikama, u kompanijama postoje 2-3 backend programera na svakog 1 front-end developera, posebno ako se kreiraju servisi sa složenom i razgranatom internom logikom. Kako se poslovanje svake godine sve više kreće online, potražnja za takvim stručnjacima će samo rasti.
Da bismo saznali koliko su traženi backend programeri, proučavali smo podatke iz HeadHunter-a. Trenutno je objavljeno više od 8.200 slobodnih radnih mjesta za programere koji poznaju Python, PHP, Java, C# ili Golang. Od njih:
- više od 600 – bez iskustva;
- oko 1250 – sa iskustvom do 3 godine;
- skoro 3000 – daljinski.
Odnosno, čak i početnici mogu pronaći posao. Štaviše, neke kompanije su zainteresovane za kandidate bez iskustva kako bi ih naučili internim razvojnim standardima od nule
Mjesto rada
Hajde da navedemo industrije u kojima backend programer može raditi:
- IT sektor – sve kompanije koje se bave razvojem web stranica, online usluga i softvera.
- Banke – Sberbank, Rosbank, Tochka, Tinkoff, itd.
- Finansijske platforme – Unified Electronic Trading Platform, ExpressMoney, itd.
- Provajderi – MTS, Beeline, Megafon.
- Online usluge – IVI, More.tv, 2Gis.
- Internet prodavnice – Ozon, Wildberries, Lamoda.
- Online edukacija – Skyeng, Novakid, Netology.
- Industrijska preduzeća – Gazprom, Lukoil, Norilsk Nickel.
- Državne organizacije
Izgledi u razvoju backenda
Razgovarajmo o najčešćim opcijama u karijeri backend programera:
- Razvijte se u struci od mlađih do viših pozicija u IT kompaniji ili drugom sektoru, na primjer, bankarskom, industrijskom itd.
- Savladajte frontend kako biste prešli na poziciju full stack web programera – samostalno izvršite cijeli ciklus rada.
- Postanite DevOps – multidisciplinarni stručnjak koji zna kako automatizirati procese i uspostaviti komunikaciju između programera, QA i menadžera.
- Naučite druge programske jezike da biste prešli u više tehnoloških polja: neuronske mreže, mašinsko učenje, kompjuterski vid, itd.
- Idite u inostranstvo i započnite karijeru u velikoj međunarodnoj korporaciji.
- Otvorite vlastiti posao, na primjer, IT agenciju ili digitalni studio