Vloga zaposlitve: Software Engineer

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 1 Julij. 2024
Anonim
My Daily Routine
Video.: My Daily Routine

Vsebina


Vir: Dragonimages / Dreamstime.com

Odvzem:

Programski inženir je globoko vpet v življenjski cikel razvoja programske opreme in igra veliko vlogo pri uspešnosti projekta.

Kaj počne inženir programske opreme? Enostaven odgovor je, da je vključen v inženiring programske opreme, v postopek uporabe inženirskih načel za programske izdelke.

Vendar pa je pri opisovanju programskega inženirja v svetu programske opreme res veliko podrobnosti in nianse. V to bomo vstopili, ko bomo gledali "dan v življenju" programskega inženirja, ki si prizadeva ustvariti vse odlične digitalne stvari, ki jih uporabljamo vsak dan. (Če želite izvedeti več o vlogi nekoga na tem področju, si oglejte Kako sem tukaj: 12 vprašanj s pisateljem in programskim inženirjem Davidom Auerbachom.)

Življenjski cikel razvoja programske opreme

Da bi razumeli vlogo programskega inženirja, je koristno vedeti o življenjskem ciklu razvoja programske opreme (SDLC).


Življenjski cikel razvoja programske opreme vključuje različne ključne faze, ki jih pogosto opisujemo kot načrtovanje zahtev, načrtovanje, kodiranje, testiranje, izvajanje in dobavo (dajte ali izvedite nekaj korakov v skladu z lastniškimi postopki).

"Programska oprema se začne s težavo, ki jo poskušamo rešiti," pravi John Quigley iz družbe Value Transformation LLC, ki opisuje običajni življenjski cikel razvoja programske opreme, tako da začnemo z nekaj, kar se dogaja na začetku postopka. "To bo artikulirano v neki obliki dokumenta in je rezultat intervjujev s strankami ali ljudmi, ki trpijo zaradi te težave ... Dokument bo opisal, kako izgleda težava, kar bo pomagalo ustvariti ideje, ki jih je mogoče primerjati s to rešitev. To bo cilj tega dela in ugotoviti, kaj poskušamo uresničiti. "

V fazi zahtev, pravi, so inženirji določili poseben tehnični opis izdelka, tako strojne opreme (če obstaja) in programske opreme.

Potem je tu kodiranje: "Programski inženirji bodo zapisali posebne izjave v kodo, ki bodo ustvarili želeni izdelek, ki ustreza specifičnim zahtevam," Quigley pravi o fazi kodiranja.


Po tem, pravi, sledi testiranje, nato pa še en niz korakov, ki programsko opremo trdno pripeljejo v proizvodno okolje. Proti koncu procesa obstaja prostor za raznolike ideje o izvajanju in uvajanju. Quigley še dodaja, da nov "okreten" model za SDLC deluje nekoliko drugače.

Brez napak, brez stresa - vaš korak za korakom vodnik za ustvarjanje programske opreme, ki spreminja življenje, ne da bi vam uničila življenje

Ne morete izboljšati svojih programskih veščin, kadar nikogar ne skrbi za kakovost programske opreme.

"V okretnem svetu so stvari videti veliko, vendar so iteracije manjše in tesnejše med seboj," pravi Quigley. "Zahteva se lahko obravnava z uporabniškimi zgodbami, manj tehnične narave in bolj pisno za razumevanje aplikacije, tako da lahko programski inženirji sklepajo in sklepajo o ključnih atributih, potrebnih na podlagi dejanske uporabe."

Različna vloga programskega inženirja

Ker ima življenjski cikel razvoja programske opreme različne faze in delovanje, je smiselno, da se tudi delo programskega inženirja razlikuje.

"Programski inženir ima širšo vlogo kot večina pri ustvarjanju programske rešitve," piše Samuel Malachowsky, profesor na Rochester Institute of Technology. "Vsak element SDLC ima strokovnjake: strokovnjake za prodajo in prodajo za začetne korake, arhitekte za fazo načrtovanja, koder / programerje za izdelavo, QA za preverjanje / testiranje, IT za uvajanje / vzdrževanje in vodje projektov za gibanje in upravljanje vsak član / faza skupine, vendar se pričakuje, da se bodo inženirji programske opreme na splošno uporabljali za celoten postopek. Glede na to stališče bi lahko bilo boljše vprašanje, kaj programski inženir ne počne. "

Tu je še ena zanimivost, ki jo Malachowsky navaja o razliki med IT in programskim inženiringom, ki veliko razkrije, kakšno je delo povprečnega inženirja programske opreme:

"IT deluje in se ponavlja, medtem ko se inženiring vrti okoli novih težav, ki jih je treba rešiti kot edinstvene projekte," pravi. „Veliko večja je verjetnost, da IT osebje zaradi tega ponavljajo certifikate, ki temeljijo na orodjih. V nasprotju z nečim, kot je računalniški inženiring, je videti, da so zahteve izpolnjene - CE-ji se običajno osredotočajo na reševanje težave s strojno opremo in programsko opremo, ki jo podpira. SE rešujejo težavo s programsko opremo, s strojno opremo, ki nudi podporo. "

Programski inženir in projektne skupine

V mnogih podjetjih so inženirji programske opreme razvrščeni in delegirani po svojih vlogah v zapletenem postopku.

Brennan Meagher opisuje primer podjetja TeleTracking, podjetja, ki v podjetju Fierce Healthcare, Ameriškega kolidža zdravnikov za nujne primere, upravljanja zdravstvenih podatkov, zdravstvenih IT novic in drugod vodi naslove inovacij v zdravstvu.

"V TeleTrackingu so programski inženirji odgovorni za kodiranje in testiranje vseh modulov in aplikacij, ki so del platforme TeleTracking," pravi Meagher. »Prav tako pomagajo pri razvoju programskih rešitev in produkcij. To vključuje raziskovanje, oblikovanje, dokumentiranje in razvoj nove programske opreme. Na kratko, naši programski inženirji ustvarjajo programske rešitve, ki so v skladu s tehnično vizijo TeleTrackings za izboljšanje dostopa do pacientov. "

Te strokovnjake si lahko ogledate v korporativnem kampusu, najprej oblikujejo, nato oblikujejo model, nato testirajo v skupinah, skrbno pastirajo projekt do konca.

"Primer nekaj, za kar so redno odgovorni programski inženirji, je lahko: pisanje, odpravljanje napak, testiranje enot in preskusne kode delovanja v vseh slojih aplikacij," pravi Meaghan. "To vključuje sprednji del (splet), srednji sloj (spletne storitve) in plasti dostopa do podatkov."

Bistvo je, da imajo programski inženirji različna, specializirana delovna mesta. Vsi morajo razumeti nekatere osnove kodiranja, nekatere pa se morajo poglobiti v specifike testiranja ali preglednost oblikovnih zahtev ali v nekaterih primerih svet agilnega razvoja.

Nato je prišel model DevOps in združil veliko iterativnih procesov, ki so bili v običajnem modelu zelo natančno začrtani in kategorični. Torej se vloga programskega inženirja spreminja. (Če želite izvedeti več o DevOpsu, glejte Upravitelji DevOps Pojasnite, kaj počnejo.)

Tako boste lahko malo nadaljevali, ko ste se odločili izvedeti več o delu teh osrednjih strokovnjakov v proizvodnji programske opreme. Programskega inženirja so opisali kot "švicarski vojski nož" oblikovanja in ustvarjanja programske opreme - in lahko na koncu nosi veliko klobukov v zasedenem podjetju.