Uloga posla: Softverski inženjer

Autor: Laura McKinney
Datum Stvaranja: 2 Travanj 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Kakva je uloga DevOps inženjera u IT kompanijama?
Video: Kakva je uloga DevOps inženjera u IT kompanijama?

Sadržaj


Izvor: Dragonimages / Dreamstime.com

Oduzeti:

Softverski inženjer duboko je uključen u životni ciklus razvoja softvera i igra veliku ulogu u uspjehu projekta.

Što radi softverski inženjer? Jednostavan odgovor je da je uključen u softverski inženjering, u proces primjene inženjerskih načela na softverskim proizvodima.

Međutim, u opisu onoga što rade softverski inženjeri u svijetu softvera, postoji mnoštvo detalja i nijansi. Naći ćemo se u neke od tih stvari dok gledamo „dan u životu“ softverskog inženjera koji radi na stvaranju svih sjajnih digitalnih stvari koje koristimo svakodnevno. (Da biste saznali više o ulozi nekoga na terenu, pogledajte kako sam stigao ovdje: 12 pitanja s piscem i softverskim inženjerom Davidom Auerbachom.)

Životni ciklus razvoj softvera

Da biste razumjeli ulogu softverskog inženjera, korisno je znati o životnom ciklusu softverskog razvoja (SDLC).

Životni ciklus razvoja softvera uključuje različite ključne faze, često opisane kao planiranje zahtjeva, dizajn, kodiranje, testiranje, implementacija i isporuka (dati ili poduzeti nekoliko koraka prema vlasničkim postupcima).


"Softver započinje s problemom koji pokušavamo riješiti", kaže John Quigley iz tvrtke Value Transformation LLC, opisujući uobičajeni životni ciklus razvoja softvera započinjući s dijelom onoga što se događa na početku procesa. "To će se artikulirati u nekom obliku dokumenta, a rezultat je razgovora s kupcima ili ljudima koji trpe zbog problema ... Dokument će opisati kako izgleda problem koji će pomoći u stvaranju ideja u usporedbi s ovim rješenjem. To će biti cilj ovog rada, ustanoviti što pokušavamo ostvariti. "

U fazi zahtjeva, rekao je, inženjeri su iznijeli specifični tehnički opis proizvoda, kako hardvera (ako takav postoji), tako i softvera.

Zatim slijedi kodiranje: "Softverski inženjeri će napisati posebne izjave u kodu koje će proizvesti željeni proizvod koji zadovoljava specifične zahtjeve", Quigley kaže o fazi kodiranja.

Nakon toga, kaže, testiranje je, a zatim još jedan niz koraka koji softver čvrsto usredotočuju na proizvodno okruženje. Pred kraj procesa ima prostora za raznolike ideje o implementaciji i uvođenju. Quigley također dodaje da novi "okretni" model za SDLC funkcionira malo drugačije.


Bez grešaka, bez stresa - Vaš korak po korak vodič za stvaranje softvera koji mijenja život bez uništavanja života

Ne možete poboljšati svoje programiranje kad nikoga nije briga za kvalitetu softvera.

"U okretnom svijetu stvari izgledaju mnogo, ali iteracije su manje i zbliže se", kaže Quigley. "Zahtjevom se mogu upravljati korisničkim pričama, manje tehničke naravi i više pisanja za razumijevanje aplikacije tako da softverski inženjeri mogu donijeti zaključke i zaključiti potrebne atribute na temelju stvarne uporabe."

Različita uloga softverskog inženjera

Budući da životni ciklus razvoja softvera ima različite faze i operacije, ima smisla da i rad softverskog inženjera varira.

"Softverski inženjer ima širu ulogu od većine u stvaranju softverskog rješenja", piše Samuel Malachowsky, profesor sa Rochester Instituta za tehnologiju. „Svaki element SDLC-a ima stručnjake: RE i prodaju za početne korake, arhitekte za fazu dizajna, kodrere / programere za izgradnju, QA za provjeru / testiranje, IT za uvođenje / održavanje i voditelje projekata za kretanje i upravljanje svaki član / faza tima, ali očekuje se da se Softverski inženjeri široko primjenjuju u cijelom procesu. S obzirom na ovo gledište, bolje bi bilo postaviti pitanje što softverski inženjer ne radi. "

Evo još jedne zanimljive točke u kojoj Malachowsky govori o razlici između informatičkog i softverskog inženjeringa, koja otkriva puno o tome kakav je posao prosječnog softverskog inženjera:

"IT je operativan i ponavljajući, dok se inženjering vrti oko novih problema koje treba riješiti kao jedinstvene projekte", kaže on. „Mnogo je vjerojatnije da će IT osoblje tražiti certifikate na temelju alata zbog ovog ponavljanja. U suprotnosti s nečim poput računalnog inženjerstva izgleda tamo gdje su ispunjeni zahtjevi - CE-ovi su usredotočeni na rješavanje problema s hardverom, a softver to podržava. SE-ovi rješavaju problem s softverom, s hardverom koji pruža podršku. "

Softverski inženjeri i projektni timovi

U mnogim se tvrtkama softverski inženjeri grupiraju i delegiraju uloge prema njihovoj ulozi u složenom procesu.

Brennan Meagher opisuje primjer iz TeleTrackinga, kompanije koja u naslovnicama Fierce Healthcare, Američkog koledža liječnika za hitne slučajeve, upravljanja podacima o zdravlju, informativnim zdravstvenim informativnim vijestima i drugdje objavljuje naslove za zdravstvenu inovaciju.

"U TeleTrackingu, softverski inženjeri odgovorni su za kodiranje i testiranje svih modula i aplikacija koji su dio platforme TeleTracking", kaže Meagher. „Oni također pomažu u razvoju softverskih rješenja i produkcija. To uključuje istraživanje, dizajniranje, dokumentiranje i razvoj novog softvera. Ukratko, naši softverski inženjeri stvaraju softverska rješenja koja se usklađuju s TeleTrackings tehničkom vizijom za poboljšanje pristupa pacijentima. "

Ove profesionalce možete zamisliti u korporativnom kampusu, prvo nacrtati, zatim prilagoditi model, zatim testirati, u timovima, pažljivo pastirati projekt do završetka.

"Primjer nečega za što su softverski inženjeri redovno odgovorni može uključivati: pisanje, uklanjanje pogrešaka, testiranje jedinica i testne kodove performansi u svim slojevima aplikacija", kaže Meaghan. "To uključuje prednji kraj (web), srednji sloj (web usluge) i slojeve pristupa podacima."

Suština je da softverski inženjeri imaju različite, specijalizirane poslove. Svi oni moraju razumjeti neke osnove kodiranja, ali neke od njih moraju se udubiti u specifičnosti testiranja ili transparentnost zahtjeva dizajna, ili u nekim slučajevima svijet agilnog razvoja.

Zatim se pojavio DevOps model i spojio puno iterativnih postupaka koji su u konvencionalnom modelu bili vrlo posebno ocrtani i kategorični. Dakle, uloga softverskog inženjera se mijenja. (Da biste saznali više o DevOpsu, pogledajte DevOps menadžeri objasnite što rade.)

Ovo vam omogućava malo dalje kada namjeravate saznati više o radu ovih središnjih stručnjaka na proizvodnji softvera. Softverski inženjer opisan je kao "švicarski armijski nož" dizajna i stvaranja softvera - i može imati mnogo šešira u zaposlenoj tvrtki.