Pratite nas

Pozdrav, koji sadrลพaj vas zanima?

Posao

Kako postati backend programer

Koju god web ili mobilnu aplikaciju koristili, ona je nezamisliva bez backend dijela. Backend obraฤ‘uje i sprema sve zahtjeve i podatke koje korisnik traลพi u svojoj interakciji s aplikacijom, a to obuhvaฤ‡a sve osim korisniฤkog suฤelja. Osoba koja se bavi razvojem ovakvih programa koji rade u pozadini i skriveni su od pogleda korisnika, zove se backend programer.

Uฤenje programiranja zahtijeva puno vremena, rada i odricanja. Da biste postali backend programer nije dovoljno samo svladati odreฤ‘eni programski jezik, jer je to tek poฤetak priฤe. Uz to je potrebno znati i druge alate poput onih za verzioniranje koda, alate za rad s bazama podataka te frameworke. U ovom ฤ‡emo ฤlanku zato prokomentirati sve ลกto trebate znati za ovaj posao:

  • programski jezik
  • rad s bazama podataka
  • verzioniranje koda
  • frameworke

Programiranje kao zanimanje je ฤesta tema u posljednje vrijeme. Razlog tome je stalno rastuฤ‡a potraลพnja za programerima na trลพiลกtu rada. ฤŒak i u vrijeme intenzivne COVID-19 izolacije programeri su bili jako traลพeni, dok je u posljednjih godinu dana potraลพnja za njima jednostavno eksplodirala. Prema podacima portala Moj-posao, broj oglasa za ovim zanimanjem u 2021. godini porastao je za preko 50%, a takav trend ฤ‡e se nastaviti i u buduฤ‡nosti. Ovaj tekst je zamiลกljen kao uvod u backend i kroz njega ฤ‡emo vas upoznati ลกto znaฤi i ลกto predstavlja svaki od ovih pojmova.

Koliko je teลกko postati backend programer

Veliki broj ฤlanaka i Youtube videa na ovu temu govore kako je priliฤno lako postati programer. Mi ฤ‡emo vas razoฤarati: nije. To ne znaฤi da su ti ฤlanci netoฤni, nego je prije rijeฤ o perspektivi onoga tko ih je napisao. A piลกu ih baลก programeri, ljudi koji su cijelu svoju karijeru u ovome poslu. Nekome tko ima desetljeฤ‡e ili dva programerskog iskustva iza sebe, zaista nije problem svladati novu vjeลกtinu iz iste sfere zanimanja. Baลก kao ลกto iskusnom zidaru nije problem nakon tridesetak sagraฤ‘enih kuฤ‡a sagraditi joลก jednu, tako i programeru koji je godinama radio u Javi neฤ‡e biti pretjerano teลกko razviti aplikaciju u Kotlinu. Za potpunog poฤetnika to je sasvim druga priฤa.

Viลกe od istog autora: FamiSafe, aplikacija za nadzor djece

Backend programiranje vrlo je ลกiroko podruฤje. Velik broj programskih jezika pripada backend eko-sustavu: Python, Java, C++, C# (ฤita se kao โ€˜sharpโ€™), Go i PHP samo su neki od njih. Izabrati onaj pravi ovisi o vama, a mi ฤ‡emo vam reฤ‡i da ฤ‡e vam biti podjednako teลกko nauฤiti bilo koji od njih. Nauฤiti neku vjeลกtinu od samoga temelja nije jednostavno, a svaki programski jezik ima svoje prednosti i nedostatke koji ga u odreฤ‘enom trenutku ฤine lakลกim odnosno teลพim za nauฤiti. Ako nemate jasno odreฤ‘en put kojim ลพelite krenuti u programiranje, preporuฤamo naลกe istraลพivanje najtraลพenijih programskih zanimanja u Hrvatskoj.

Osim kompleksnosti same materije, treba voditi raฤuna i o vremenu koje ฤ‡ete potroลกiti na uฤenje. Ukoliko ranije niste imali dodira s programiranjem, bit ฤ‡e vam potrebne oko dvije godine svakodnevnog uฤenja kako biste znali dovoljno za prvi posao.

Vaลพno je svladati osnove

Prvi korak je nauฤiti osnove programskog jezika. Kao ลกto smo rekli, programskih jezika je jako puno, zato ฤ‡emo se koncentrirati na najtraลพeniji backend programski jezik u nas, a to je Java. Potraลพnja za Javom je konstantna veฤ‡ desetljeฤ‡ima, a zbog njene izvanredne robusnosti i kameleonske prilagodljivosti, tako ฤ‡e ostati i u desetljeฤ‡ima koja dolaze. Ako nauฤite Javu i prateฤ‡e tehnologije, vrlo brzo ฤ‡ete se zaposliti. Vrlo vjerojatno veฤ‡ na prvom oglasu na koji se javite.

backend programer
Credit: author

Da biste radili u Javi, potrebno je imati odgovarajuฤ‡i alat. Baลก kao ลกto keramiฤar treba oลกtar rezaฤ i kvalitetno ljepilo da bi postavio ploฤice u kupatilu, tako i backend programer treba raฤunalo i odgovarajuฤ‡i program za rad s Javom. Alati u kojima se piลกu programi zovu se Integrated Development Environment, ili kraฤ‡e IDE. Ima ih nekoliko, a za Javu je najbolji IntelliJ IDEA. U njemu ฤ‡ete pisati kod i razvijati programe, a zanimljivo je ลกto je i sam IntelliJ IDEA napisan u Javi. Isto tako, njegova osnovna inaฤica je besplatna, tako da vas niลกta ne sprjeฤava da veฤ‡ sad krenete uฤiti programirati.

backend programer
Credit: author

Kao ลกto ste primijetili, u dva su navrata navedeni primjeri koda u Javi. Prvi ฤ‡e u terminalu prikazati tekst, dok ฤ‡e drugi zbrojiti dva broja. Tako ฤ‡e izgledati i vaลกi prvi pokuลกaji rada s ovim programskim jezikom, gdje je za poฤetak potrebno svladati sljedeฤ‡e pojmove:

  • primitivni tipovi podataka (Primitive data types)
  • stringovi (Strings)
  • for petlja (For Loop)
  • while petlja (While Loop)
  • nizovi (Arrays)
  • If-then uvjet (If-then statement)
  • switch naredba (Switch statement)
  • metode (Methods)
  • klase (Classes)

Za svaki od gore navedenih pojmova najtoplije preporuฤamo nauฤiti engleske nazive i izraze. Cijeli svijet ih koristi, kompletna dokumentacija i tutoriali za Javu su na engleskom jeziku i olakลกat ฤ‡ete si uฤenje ako krenete tim putem. A kad usvojite prethodno navedene cjeline, posvetite se objektno orjentiranom programiranju (Object Oriented programming ili OOP). To je kompleksniji vid programiranja od prethodno nabrojanog popisa i kad ga svladate, na dobrom ste putu da postanete backend programer.

Baze podataka

Svaki organizirani skup podataka kojeg spremamo i kojim manipuliramo pomoฤ‡u raฤunala zove se baza podataka (database na engleskom). Ovako nezgrapan naziv sluลพi za opisivanje svih podataka koji su spremljeni i koriลกteni pomoฤ‡u raฤunala. Zapravo, sve ลกto ima ikakve veze s IT sektorom poฤiva na nekoj bazi podataka. Bazu podataka koriste banke za spremanje informacija o klijentima i tijeku novca, a koriste ih i ลกkole za praฤ‡enje informacija o upisima i uspjehu uฤenika tijekom ลกkolske godine. Svaki webshop na kojem ste kupovali drลพi podatke o proizvodima u vlastitoj bazi podataka. Pristupate joj kako biste saznali cijenu proizvoda i stanje na skladiลกtu. Koristi ih i geek.hr kako bi spremio sve ฤlanke, sortirao ih prema autorima i izbrojao koliko posjetitelja zanima kako postati backend programer.

Credit: author

Priloลพena snimka ekrana iznad prikazuje popis svih baza podataka (List of databases), koju smo pozvali naredbom \l. Za poฤetnike u programiranju ovaj dio ฤ‡e se ฤiniti najkompleksniji, jer podrazumijeva rad s naredbenim retkom. Unijet ฤ‡emo malo optimizma i reฤ‡i da ne morate odmah biti database guru da biste postali junior backend programer. Dovoljno je poznavati osnove rada s bazama podataka, dok ฤ‡ete naprednije stvari nauฤiti kroz praksu. Te osnove nisu problem za usvojiti i svode se na desetak najฤeลกฤ‡ih naredbi, koje ฤ‡ete uvjeลพbati za nekoliko poslijepodneva.

backend developer
Credit: author

Da bismo kreirali novu bazu podataka, potrebno je unijeti naredbu CREATE. Snimka ekrana iznad prikazuje taj sluฤaj, gdje smo krelirali bazu podatka i dali joj ime โ€˜developerโ€™. Na sliฤan naฤin ฤ‡ete manipulirati bazom podataka bilo da dodajete podatke u nju, mijenjate ih, briลกete ili neลกto ฤetvrto.

Verzioniranje koda

Prilikom rada na projektu, programer napiลกe stotine i tisuฤ‡e linija koda. Kako projekt napreduje, kod postaje sve brojniji i kompleksniji. A ลกto je kompleksniji, sve je teลพe pratiti promjene ili pronaฤ‡i greลกku odnosno bug kad se pojavi. U tu svrhu postoji verzioniranje koda (Version Control), ลกto je izraz za konstantno praฤ‡enje i biljeลพenje promjena. Postoje posebni softverski alati za verzioniranje koda, gdje se biljeลพe spomenute promjene. Ako se dogodi kakav bug โ€“ a sigurno ฤ‡e se dogoditi โ€“ backend developer moลพe pogledati prethodno zabiljeลพenu verziju koda i usporediti je s aktualnom u kojoj se dogodio bug.

backend developer
Credit: Medium

Verzioniranje koda moลพemo usporediti s kuhanjem. Skuhat ฤ‡emo, recimo, neko varivo. Uzet ฤ‡emo lonac i u njega uliti vodu i dodati povrฤ‡e. Posolit ฤ‡emo ga, a zatim dodati malo papra i mljevenu papriku. Kad napokon sve zavrลกimo i sjednemo objedovati, shvatit ฤ‡emo kako smo pogrijeลกili. Umjesto soli smo, naime, dodali ลกeฤ‡er. U tom sluฤaju naลกem jelu nema spasa โ€“ bacit ฤ‡emo ga i s kuhanjem krenuti ispoฤetka. Sad zamislite kad bi postojao naฤin vratiti se u toฤku kad smo dodali ลกeฤ‡er, ispravili tu greลกku tako ลกto ฤ‡emo dodati sol i zatim nastavili kuhati kao da se niลกta nije dogodilo.

Viลกe od istog autora: Vodiฤ za kupnju idealnog televizora

Alati za verzioniranje koda ฤine upravo to, biljeลพe kad je backend programer dodao ลกeฤ‡er umjesto soli i omoguฤ‡avaju mu da vrati vrijeme unazad, u toฤku kada greลกke nije bilo. Imajte na umu kako na projektima obiฤno sudjeluje viลกe programera, koji konstantno piลกu novi kod i izmjenjuju postojeฤ‡i. Alati za verzioniranje koda biljeลพe kada je i tko mijenjao i najmanji djeliฤ‡ koda, tako da se bugovi mogu relativno brzo detektirati i ukloniti. Najpopularniji ovakav alat zove se Git. Nauฤiti Git odnosno verzioniranje koda nuลพan je temelj da biste postali backend programer.

Svaki backend programer mora znati frameworke

Nakon ลกto svladate osnove Jave, sljedeฤ‡i korak je uฤenje njenih frameworka. Framework je gotovi program kojim nadograฤ‘ujete Javu kako biste ju prilagodili za specifiฤne zadatke koje ฤ‡ete rjeลกavati. Frameworci uvelike olakลกavaju programiranje jer donose gotova rjeลกenja koja jednostavno dodajete u svoj projekt.

Credit: Spring.io

Uzmimo za primjer gradske trgove, koji su poploฤani betonskim kockama razliฤitih oblika i boja. Na ฤ‘akovaฤkom korzu nalaze se betonske kockice dimenzija 10ร—10 cm, u Gospiฤ‡u su to, recimo, kocke dimenzija 20ร—20 cm, dok su u Varaลพdinu u obliku romba. U programerskom svijetu Java bi bila beton za izradu kockica kao temelj cijele priฤe. Frameworci bi bili razliฤite ลกablone, unaprijed pripremljene konstrukcije u koje ulijemo beton, kako bismo brzo i jednostavno dobili kockice dimenzija 10ร—10 za ฤakovo, ili one u obliku romba za Varaลพdin.

backend developer
Programiranje je najbolje nauฤiti kroz vjeลพbanje. Moลพete, recimo, relativno brzo i jednostavno napraviti igru Zmija (Credit: author)

Baลก kao ลกto betonske kockice moลพete birati u razliฤitim dimenzijama, isto tako postoje brojni frameworci za Javu. Najkoriลกteniji i samim time najpopularniji je Spring odnosno njegova naodgradnja Spring Boot. Modularno je graฤ‘en, stoga se moลพe koristiti za svaki pojedini nivo projekta, ili za projekt u cjelini. Znati Java/Spring Boot znaฤi imati dobitnu kombinaciju u backend developmentu jer je koriste brojne kompanije. Autori ovog ฤlanka do laktova su u Javi i Spring Bootu, baลก kao i neke od najveฤ‡ih svjetskih kompanija poput Netflixa, BASF-a, Amazona ili JP Morgana.

Zakljuฤak

IT sektor je dinamiฤan i svako malo se pojavi novi framework ili alat kojeg treba nauฤiti. Ako ลพelite biti backend developer, raฤunajte na konstantno usavrลกavanje i upoznavanje neฤeg novog. Opet, svaka danaลกnja profesija zahtijeva permanentno uฤenje. Trgovine dobijaju nove artikle o kojima prodavaฤ mora sve znati da bi ih prodao. Automehaniฤari moraju detaljno upoznati svaki model automobila kako bi ga mogli popraviti. Drugim rijeฤima, bilo koje zanimanje je teลกko ako se uฤi iz temelja.

S druge strane, kao backend programer imat ฤ‡ete za domaฤ‡e prilike vrlo pristojna primanja. Isto tako, razina stresa je u pravilu manja nego na drugim poslovima. Rad od kuฤ‡e je zbog COVID-19 postao uobiฤajen, pa ฤ‡ete cijeli dan provesti u pidลพami. A najbolje od svega je ลกto ฤ‡ete biti okruลพeni profesionalcima. Programeri vole i cijene svoj posao i mnogi su u njemu veฤ‡ desetljeฤ‡ima. A uz takve ljude ne samo ลกto ฤ‡ete brลพe napredovati, nego ฤ‡ete i vi nauฤiti uลพivati u programerskom poslu.

Moลพda ฤ‡e vas zanimati

Tech

ล to bi se dogodilo ako uronite ruku u posudu tekuฤ‡eg duลกika? Bi li vam se ruka smrzla do ozeblina? Bi li se razbila ฤim...

Internet

Sigurno ste do sad naletjeli na neke od bizarnosti na koje je Googleovo auto naletjelo pri snimanju, a u ovom videu pogledajte kompilaciju najฤudnijih...

Tech

Trebate izraฤunati postotak od nekog broja, a ne znate kako? Proฤitajte ovaj jednostavan ฤlanak i nauฤite kako se raฤuna postotak. Postotci se koriste za...

Tech

1995. godine grupa znanstvenika NASA-e napravila je testove o tome kako pojedine droge utjeฤu na paukovu sposobnost da izgradi mreลพu.

Internet

Odmah da vam kaลพemo โ€“ neizbjeลพan kraj dogodio bi se iznenaฤ‘ujuฤ‡e brzo. Ako je zapremnina prosjeฤnog lijesa 886 litara, a prosjeฤan volumen ljudskog tijela...

Automoto

Tvrtka Laser Power Systems razvila je automobil pogonjen nuklearnom energijom. Napokon je pronaฤ‘en naฤin koji ฤ‡e vaลกem automobilu omoguฤ‡iti vjeฤni rad bez punjenja. No...

Tech

Rudnik dijamanata Mir u Siberu jedna je od najveฤ‡ih rupa u tlu koju je ฤovjek napravio. Duboka je 525 metara i ลกiroka 1200m. Let...

Tech

Bumerang je jedan od najstarijih leteฤ‡ih objekata koje je ljudska ruka stvorila. Svi znamo da su ih koristili Aboridลพini, no malo je poznato je...