Kariera

Področja dela

Uporabniki naših sistemov so navdušeni nad modernimi uporabniškimi vmesniki in uporabniško izkušnjo aplikacij, ki temeljijo na pristopu single-page application. Pri tem izkoriščamo prednosti Javascript, predvsem Typescript in najnovejših tehnologij Angular. Aplikacije tečejo skoraj izključno v brskalnikih.

Zaledni sistemi so med najbolj kompleksnimi v Sloveniji in izkoriščajo prednosti uveljavljenih in najmodernejših tehnologij, kot so Docker, Microsoft .Net in .NET Core, Java EE, Oracle Database in Microsoft SQL Server.

Med razvojnimi orodji prevladujejo IntelliJ IDEA in WebStorm, Microsoft Visual Studio, Visual Studio Code, Apache NetBeans, uporabljamo pa tudi druga orodja.

Procesi so že več kot 10 let tesno vezani na revision control (Subversion in Git), Continuous integration (Bamboo), issue tracking (Jira) in collaboration (Confluence). Naše razvojno okolje je prava kombinacija AWS, Azure in on-premises virtualizacije.

Naše projektne ekipe vključujejo sodelavce iz različnih področji dela.

Načrtovalec aplikacij / Poslovni analitik

Načrtuje računalniško aplikacijo z uporabniškega vidika, pripravi funkcionalne specifikacije za izdelavo aplikacije, sodeluje pri tehničnem razvoju in uvede aplikacijo v uporabo.

Načrtovalec aplikacij / poslovni analitik je oseba, ki je sposobna poslovne analize problema in zahtev uporabnikov. Nato izdela idejno zasnovo aplikacije oziroma informacijske rešitve. Sledi izdelava funkcionalnih specifikacij, kar pomeni podroben opis aplikacije in njenega delovanja z uporabniškega vidika. Funkcionalne specifikacije vključujejo videz, obliko in podroben opis aplikacije, prikazov in vnosov podatkov, poročil, postopkov in drugih orodij. Funkcionalne specifikacije so dokument, na podlagi katerega bodo razvojni inženirji pripravili tehnični načrt za razvoj aplikacije. Poleg funkcionalnih specifikacij lahko načrtovalec aplikacij pripravi tudi zasnovo podatkovne baze.

Med tehničnim razvojem aplikacije je naloga načrtovalca aplikacij, da razvojnim inženirjem pomaga pri razumevanju funkcionalnih specifikacij ter sproti preverja funkcionalnost aplikacije. Zadnja naloga načrtovalca aplikacij je uvajanje uporabnika v delo z aplikacijo. Za to lahko pripravi navodila, videotečaje oziroma izvede uvajanje pri uporabniku.

Prosta delovna mesta

Razvojni inženir / Programer

Pripravi tehnični načrt za izdelavo računalniške aplikacije in poskrbi za razvoj aplikacije.

Razvojni inženir se ukvarja s tehničnim delom razvoja programske opreme. Razvoj aplikacije se začne s pripravo tehničnega načrta. Končni rezultat je programska koda računalniške aplikacije. Poleg tega v njegovo delo spada vse, kar je potrebno za razvoj aplikacij, na primer okolje za obvladovanje konfiguracije, avtomatski postopki za izdelavo verzij, preverjanje odzivnosti, varnostno preverjanje, načrtovanje podatkovnih shem in druga tehnična opravila.

Mlajši sodelavci začnejo v vlogi programerjev, nato pa prek bolj zahtevnih nalog napredujejo do samostojnih razvojnih inženirjev.

Prosta delovna mesta

DevOps inženir / programer

Pripravi in izvaja procese izdelave končnih izdelkov skupaj z razvojem orodij za ta namen.

DevOps inženir se ukvarja s prenosom programske kode v delujoč izdelek v končnem okolju. Proces se začne s pripravo tehničnega načrta na podlagi zahtev in dogovorov z deležniki. Končni rezultat je stabilen in predvidljiv izdelek skupaj z namestitvenimi postopki. Poleg tega v njegovo delo spada vse, kar je potrebno za razvoj aplikacij, na primer okolje za obvladovanje konfiguracije, avtomatski postopki za izdelavo verzij, preverjanje odzivnosti, varnostno preverjanje, načrtovanje podatkovnih shem in druga tehnična opravila.

Mlajši sodelavci začnejo v vlogi programerjev / pomočnikov DevOps inženirja, nato pa prek bolj zahtevnih nalog napredujejo do samostojnih DevOps inženirjev.

Prosta delovna mesta

Arhitekt

Določi in postavi arhitekturo informacijskih sistemov in računalniških aplikacij, svetuje in usmerja razvijalce pri načrtovanju in razvoju ter pripravlja nove tehnologije za uporabo na projektih za naročnike.

Tehnični del razvoja na projektu se začne s postavitvijo arhitekture. Postavitev temelji na idejni zasnovi, tehničnih zahtevah okolja naročnika in drugih pomembnih izhodiščih.

Arhitekt ni samo oseba, ki v celoti obvlada tehnično področje. Je predvsem oseba, ki je sposobna tehnologijo in pristope k razvoju programske opreme uporabiti tako, da bodo dobro rešili poslovni problem, sistemi pa bodo imeli dolgo življenjsko dobo. In ne nazadnje, da izbere take tehnologije, arhitekturo in pristope, da bo projekt izveden v predvidenem časovnem in finančnem obsegu.

Druga pomembna naloga arhitekta je svetovanje in usmerjanje razvojnih inženirjev in programerjev pri načrtovanju in razvoju. Načrtovanje in razvoj morata biti kakovostna in učinkovita, kar zahteva dobro poznavanje in razumevanje tehnologij ter pripravo učinkovitih postopkov in načinov uporabe izbranih tehnologij.

Naloga arhitekta je tudi priprava novih tehnologij za uporabo na projektih, najpogosteje v obliki različnih ogrodij (frameworkov).

Vodja projekta

Poskrbi, da so informacijski sistemi in računalniške aplikacije izdelane kakovostno in v dogovorjenih rokih ter da je delo v okviru projekta učinkovito izvedeno.

Vodja projekta je oseba, ki ima veliko izkušenj z načrtovanjem in razvojem aplikacij. Kariero je običajno začel kot načrtovalec aplikacij / poslovni analitik ali razvojni inženir. Pogosto je nastopal celo v obeh vlogah in se v njiju dobro izkazal.

Najzahtevnejša naloga vodje projekta je sprejemanje “pravih” odločitev. Te mora sprejeti hitro, da lahko drugi nadaljujejo svoje delo.

Vodja projekta mora na osnovi zasnove aplikacije in funkcionalnih specifikacij preveriti, ali bo rešitev za naročnika ustrezna. Odločiti se mora, katero funkcionalnost bomo vključili v aplikacijo in katere ne. Odločiti se mora, kdaj so dodatne zahteve uporabnikov upravičene in kdaj presegajo dogovore, ter sprejeti še veliko pomembnih in manj pomembnih odločitev. Vse zato, da lahko delo na projektu nemoteno poteka.

Poleg tega vodja projekta načrtuje, organizira in nadzira delo projektne skupine.

Ne opravlja pa zgolj funkcije vodenja, temveč tudi sodeluje pri poslovnem in tehničnem razvoju aplikacije.

Lahko bi rekli, da je vodja projekta oseba, ki vse ve in zna rešiti vse probleme.

Ima pa še eno zelo pomembno nalogo, in to je stik z naročnikom. Poskrbeti mora, da bo zadovoljen tako naročnik kot naše podjetje.