University of Applied Sciences
Kontakt   HR | EN
Agencija za znanost i visoko obrazovanje Certifikat za uspješno upravljanje kvalitetom ISO 9001:2008 Erasmus sveučilišna povelja Superbrands EFMD QUDAL
 
Vijesti








#EducationMeetsBusiness

Što (web) programer danas treba znati?

Kad svladate određene tehnologije, možete se odlučiti za dodatnu specijalizaciju na samo jednom području ili možete ići u smjeru full-stack developera.

Radim kao konzultant na projektima velikih svjetskih kompanija, a moj posao uključuje predlaganje tehnologija te implementaciju aplikacija ili sustava. Uglavnom se bavim razvojem web rješenja, što u današnje vrijeme uključuje Cloud platforme te razvoj za mobilne uređaje. Životni ciklus takvih sustava uključuje analizu zahtjeva, definiranje arhitekture, razvoj, održavanje, testiranje, integraciju, verzioniranje, izbor infrastrukture, deployment itd. Termin koji vežemo na dobro strukturirani sustav, koji u što većoj mjeri automatizira spomenute faze, jest Continuous Integration/Continuous Deployment (CI/CD). Iako koristim sve prednosti Cloud tehnologija, ponekad konzervativne kompanije zahtijevaju On-Premises rješenja, koje opet u bilo kojem trenutku mora biti moguće migrirati na Cloud.

Tehničke, ali i soft skills vještine

Iako trenutno koristim Angular, ASP.NET Core i SQL Server za razvoj aplikacija koje su pokrenute u kontejnerima, na Kubernetes/Azure platformi (u pitanju su jezici Javascript, Typescript, HTML, CSS, C#, SQL te razni popratni alati za verzioniranje, testiranje, pakiranje i deploy, kao što su GIT, Protractor, Webpack, Docker, Jenkins i drugi), naglasimo samo kako za uspješno obavljanje mog posla ne smijem biti limitiran „samo“ ovim znanjima. Moram svakodnevno biti spreman prebaciti se na bilo koji novi programski jezik, radnu okolinu (framework) ili platformu. Moram biti spreman svakodnevno učiti. Zadnji takav slučaj sam imao kada sam u kratkom vremenu morao detaljno svladati DICOM protokol i standard koji ima vrlo raširenu primjenu u medicini.

Osim tehničkih znanja, moram poznavati i metodologije rada. Od velike važnosti su i komunikacijske vještine, jer loša komunikacija može potisnuti sva moja tehnička znanja u drugi plan. Komunikacija mora biti jasna i direktna, ali ne agresivna.

Kompletnu sliku na kraju stvaraju i moja energičnost i budnost u uredu, spremnost da razumijem stajališta i probleme drugih te da sudjelujem u njihovom rješavanju. Jednom rečenicom – moram biti kompletna osoba. Tako je sa bilo čime što radite, ako želite biti najbolji, morate biti kompletni. Postavlja se pitanje, što iz te perspektive mogu savjetovati mlađim kolegama te što i sam radim kako bi se približio tom idealu?

Specijalizirajte se

Prođite u nekoliko koraka, kroz ciljanu specijalizaciju specifičnih tehnologija koje vas trenutno zanimaju, ali jednu po jednu, temeljito. Navodim smjernice za jedan takav mogući put, uz objašnjenje zašto mislim da je taj put dobar. Svladajte Angular kao tehnologiju koja se koristi za izradu frontend dijela aplikacije. Ovime ne želim dati prednost Angularu pred drugim frontend radnim okolinama, nego samo predložiti put kojim možete brzo napredovati. Koristite pritom sve prednosti Angular CLI alata za kreiranje projekta i njegovih komponenata, kako bi istovremeno naučili i primijenili najbolje prakse predložene od samih kreatora radne okoline. U ovom potezu počet ćete usvajati Javascript, Typescript, HTML, CSS i Webpack. Tako s jedne strane imate fokus, dok s druge strane usvajate univerzalna znanja.

Ako ste svladali Angular, prelazak na React ili neku drugu frontend radnu okolinu neće biti veliki problem. I te druge tehnologije koristiti će nešto od onoga što već znate – Javascipt, Typescript, HTML, CSS i Webpack, dok će organizacija projekata imati određene sličnosti. Kad već usvajate Javascript, a želite se dodatno upoznati s backend tehnologijama, nemojte se fokusirati na Node.js (gdje backend kod pišemo u Javascriptu), nego svladajte ASP.NET Core. Tako možete steći potrebna znanja za kreiranje backend API servisa te paralelno naučiti i C# jezik.

I na kraju, kako bi upoznali baze, fokusirajte se na Azure SQL Database servis. Tako ćete upoznati baze s više stajališta te istovremeno bolje razumjeti Cloud platformu. S ove tri tehnologije (Angular, ASP.NET Core, Azure SQL Database), pokrivate razne aplikacijske slojeve i možete se odlučiti za dodatnu specijalizaciju na samo jednom sloju ili možda zaključite da želite ići u smjeru full-stack developera.

Prepoznajte univerzalne zakonitosti primjenjive i na druge tehnologije

I to tijekom svakog koraka specijalizacije. Na taj način svaki novi prelazak bit će sve lakši i lakši. Primjerice, pokušajte primijetiti da način dizajniranja aplikacija slijedi određene uzorke (Design Patterns), koji se ponavljaju neovisno o tehnologiji. Posvuda će biti vrlo važna primjena osnovnih principa objektno orijentiranog programiranja. Dalje, u mnogim radnim okolinama ponavljat će se MVC (Model-View-Controller) obrazac, dok će DI (Dependency Injection) obrazac biti široko primijenjen kako bi se olakšao razvoj, održavanje i testiranje aplikacija. Primijetite ove principe i postanite ih svjesni. Na kraju, primijetite sličnosti između programskih jezika.

Razvijajte svoj unutarnji puni potencijal, razvijte potpuno znanje

To je cilj koji je najlakše ostvariti, lakše od ciljeva navedenih ranije. Razlog tome je jednostavan: naša fiziologija je savršeni alat sa samo jednim ciljem pred sobom, a to je samo-realizacija. Dok god ne postignemo taj cilj, nećemo biti potpuno zadovoljni. Zbog ograničenog prostora ovdje, razgovor o ovoj temi možemo nastaviti uživo, na hodnicima VERN'a. Vidimo se.

piše: Vedran Zdešić,
predavač na VERN'u, preddiplomski studij Poslovna informatika

 
Odjel za komunikacije
Autor fotografija: Petar Vučetić
 
Datum objave: 11.5.2018.
 
Ključne riječi: Poslovna-informatika, EducationMeetsBusiness, Vedran-Zdešić
 
Pošalji na: Pošalji na facebook Pošalji na twitter
 
Vezane novosti
 

na vrh