Što radi znanstveni programer?

Znanstveni programer je posebno osposobljen stručnjak za informacijsku tehnologiju. Ne postoji zahtjev za posebnom izobrazbom u znanosti, ali svako iskustvo u ovoj industriji bilo bi od pomoći. Tri su primarna područja rada znanstvenog programera: sastanak sa znanstvenicima i istraživačima kako bi se utvrdilo što im je potrebno, programiranje niza sustava koji će zadovoljiti tu potrebu, prilagođavanje promjenjivim zahtjevima koje postavljaju znanstvenici.

Kako bi se kvalificirao za ovu vrstu pozicije, kandidat mora imati kombinaciju akademske vjerodajnice i iskustva sa znanstvenim programiranjem. U većini slučajeva, potrebni programi moraju biti ili napisani od nule ili kreirani opsežnim prilagođavanjem postojećih alata. Minimalno 10 godina softverskog inženjeringa i upravljanja životnim ciklusom je standardni uvjet.

Razumijevanje onoga što istraživači zahtijevaju glavna je uloga znanstvenog programera. Iskustvo rada u istraživačkom okruženju može biti od velike pomoći. Među vještinama koje se nauče u ovom području najvažnije su povjerljivost, kreativnost i jasna komunikacija. Istraživači su vrlo konkurentni i često čuvaju svoj rad od drugih dok su u fazi razvoja.

Koristeći svoje duboko razumijevanje niza računalnih jezika i operacijskih sustava, znanstveni programer odgovoran je za razvoj novih programa koji će zadovoljiti potrebe korisnika. Ova uloga uključuje značajnu količinu komunikacije i interakcije sa širokim rasponom ljudi. Izvorne zahtjeve može dati znanstvenik ili glavni istraživač, ali testiranje će obaviti studenti istraživanja.

Implementacija novog programa zahtijeva cijeli ciklus aktivnosti. Prvi korak je dizajniranje točnih specifikacija, kako ih razumije programer. Program potom razvijaju i testiraju studenti istraživanja. Ispravci, revizije i uređivanja normalni su u ovom procesu. Nakon prihvaćanja od strane studenata istraživača, program se daje istraživaču na pregled. Nakon testiranja, sada ga tim može koristiti. Dokumentacija programa često je potrebna, a može čak i biti dio istraživačkog rada, ako je objavljen.

S vremenom se često javljaju zahtjevi za izmjenom postojećih programa. Ove promjene obično dovršava izvorni programer, budući da je on ili ona najviše upoznati s detaljima. Kao takve, znanstveni programer se često oslanja na opsežne bilješke kako bi razumio što je učinjeno i što treba promijeniti kako bi se zadovoljili novi zahtjevi. Svaka promjena programiranja mora proći kroz isti proces testiranja, kako bi se osiguralo da program ispunjava sve zahtjeve.