Što je to full-stack developer? Kratki odgovor: Kad kažemo full-stack (web) developer ili programer, mislimo na osobu koja radi sve aspekte web razvoja:
- front-end,
- back-end,
- konfiguriranje servera i implementaciju koda na njemu.
Full-stack programer je poput one-man-banda, što je posebno korisno za manje web aplikacije ili manje startupe gdje jedna osoba može raditi sve tehničke stvari.
Ali čak i veće tvrtke preferiraju full-stack programere – ne zato što bi željele da jedna osoba upravlja svime, već zato što je dobro imati ljude koji mogu “skočiti” u drugo polje u slučaju da osoba koja to pokriva odjednom više nije dostupna.
Što radi full-stack programer?
Full-stack programeri dizajniraju i stvaraju web stranice i aplikacije za različite platforme. Opis posla full-stack programera može uključivati sljedeće:
- Razvijati i održavati web usluge i sučelja
- Doprinos front-end i back-end razvojnim procesima
- Izgradnja nove značajke proizvoda ili API-je
- Provođenje testova, pronalaženje softverskih problema i popravljanje grešaka
- Suradnja s drugim odjelima na projektima i sprintovima
Svijet full-stack razvoja je velik i mnoge nove tehnologije koje se razvijaju neprestano pomiču granice onoga što full-stack programer može stvoriti. Održavanje vrhunske tehnologije i tehnika u području full-stack razvoja jedan je od mnogih uzbudljivih aspekata rada u ovoj ulozi.
Pogledajmo što točno mora znati full-stack web programer.
Front-end razvoj (front-end development)
U najmanju ruku, full-stack programer mora znati HTML i CSS, koji su osnova svakog web front-enda.
Ako web stranicu želite učiniti interaktivnijom, trebate mu dodati malo JavaScript (JS) koda, tako da je razumijevanje osnova JS-a definitivno plus za sve full-stack programere. Ali uz moderne UI web okvire, kao što je Bootstrap, možete stvoriti vrlo lijepi front-end čak i ako ne znate baratati JavaScriptom.
Back-end razvoj (back-end development)
Back-end razvoj znači pisanje koda koji se izvodi na serveru.
Odnos između back-enda i front-enda možete zamisliti poput automobila. Front-end je poput karoserije automobila (vanjskog dijela), dok je stražnji dio poput automobilskog motora – nešto što ne možete vidjeti izvana, ali je ujedno i najvažniji dio.
Za razliku od front-end razvoja (gdje koristite HTML, CSS i JS), back-end vam daje obilje izbora u pogledu jezika koji se mogu koristiti. U osnovi, možete koristiti bilo koji programski jezik koji želite kako biste sastavili back-end za svoju web aplikaciju, primjerice, Ruby, PHP, Python, Java, C#, Scala, Go, itd. Izbor je gotovo beskrajan.
Najbolje od svega je što su koncepti razvoja jednaki kod svakog programskog jezika. To znači da, kad naučite kako raditi back-end razvoj u jednom programskom jeziku, nije teško prebaciti se na drugi.
Na SmartNinja tečajevima za back-end na početnim tečajevima koristimo Python, ali naši studenti nakon tečaja nemaju problema s prebacivanjem na drugi programski jezik, ako to trebaju ili žele. Nastavni tečaj Web Development 2 uključuje Javascript.
Rad s web serverima
Poslužitelj ili server je samo još jedno ime za računalo koje je online 24/7 i njegova jedina uloga jest udomiti vašu web aplikaciju kako bi joj svi na internetu mogli pristupiti.
Kad jednom napišete kôd za svoju aplikaciju, morate nabaviti server i “gurnuti” svoj kôd na njega.
Iako možete imati server kod kuće, puno je češća uporaba jednog od postojećih pružatelja usluga hostinga. Najveći su Amazon Web Services (AWS), Microsoft Azure i Google Cloud.
Svi oni nude različite vrste servera kao i različite razine rada. To znači da možete dobiti server na kojem i instalirate i konfigurirate. Ili možete dobiti vrstu servera na koji samo postavite svoj kôd i konfiguraciju prepustite pružatelju usluga hostinga (tzv. “Serverless” ili Platform-as-a-Service).
Industrija s najviše zaposlenih full-stack programera:
- Računalni softver
- Informacijska tehnologija i usluge
- Internet
- Financijske usluge
- Više obrazovanje
Iako “full-stack developer” može na prvu zvučati zastrašujuće, nije toliko teško naučiti dovoljno da biste došli na razinu početnika. Na SmartNinja tečajevima Web Development 1 i 2 možete naučiti i razvoj front-enda (HTML, CSS, Bootstrap), back-enda (Python, Flask, PostgreSQL), kao i kako implementirati web aplikaciju na server. Napredni tečaj Web Development 2 vodi vas u Javascript programiranje i uči vas kako upravljati bazama podataka i SQL-om.