Úloha úlohy: Softwarový inženýr

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 1 Červenec 2024
Anonim
Úloha úlohy: Softwarový inženýr - Technologie
Úloha úlohy: Softwarový inženýr - Technologie

Obsah


Zdroj: Dragonimages / Dreamstime.com

Odnést:

Softwarový inženýr je hluboce zapojen do životního cyklu vývoje softwaru a hraje velkou roli v úspěchu projektu.

Co dělá softwarový inženýr? Jednoduchá odpověď je, že je zapojen do softwarového inženýrství, do procesu aplikace inženýrských principů na softwarové produkty.

Při popisu toho, co softwaroví inženýři ve světě softwaru dělají, však existuje spousta detailů a nuance. K tomu se dostaneme, když se podíváme na „den v životě“ softwarového inženýra, který pracuje na vytvoření všech skvělých digitálních věcí, které každý den používáme. (Chcete-li se dozvědět více o roli od někoho v terénu, podívejte se, jak jsem se sem dostal: 12 otázek se spisovatelem a softwarovým inženýrem Davidem Auerbachem.)

Životní cyklus vývoje softwaru

Abychom pochopili roli softwarového inženýra, je užitečné vědět o životním cyklu vývoje softwaru (SDLC).


Životní cyklus vývoje softwaru zahrnuje různé klíčové fáze, často popisované jako plánování požadavků, návrh, kódování, testování, implementace a dodání (podle vlastních procesů udělejte nebo udělejte několik kroků).

„Software začíná problémem, který se snažíme vyřešit,“ říká John Quigley ve společnosti Value Transformation LLC a popisuje běžný životní cyklus vývoje softwaru tím, že začíná s tím, co se děje na začátku procesu. „Bude to uvedeno v nějaké formě dokumentu a je to výsledek rozhovorů se zákazníky nebo lidmi, kteří trpí problémem… Dokument popisuje, jak tento problém vypadá, což pomůže vytvořit nápady, které je třeba porovnat s tímto řešením. To bude cílem této práce, stanovení toho, čeho se snažíme dosáhnout. “


Ve fázi požadavků, říkají, inženýři stanovili specifický technický popis produktu, jak hardwaru (pokud existuje), tak softwaru.

Pak je kódování: „Softwaroví inženýři zapíší specifická prohlášení do kódu, který vytvoří požadovaný produkt, který splňuje specifické požadavky,“ říká Quigley o fázi kódování.

Poté, jak říká, testuje a pak další sadu kroků, které software dodávají pevně k produkčnímu prostředí. Ke konci procesu existuje prostor pro různé představy o implementaci a nasazení. Quigley také dodává, že nový „agilní“ model pro SDLC funguje trochu jinak.

Žádné chyby, žádný stres - Váš průvodce krok za krokem k vytváření softwaru pro změnu života, aniž by došlo ke zničení vašeho života

Nemůžete zlepšit své programovací schopnosti, když se nikdo nestará o kvalitu softwaru.

"V agilním světě to vypadá hodně, ale iterace jsou menší a blíže k sobě," říká Quigley. "Požadavek může být vyřešen prostřednictvím uživatelských příběhů, méně technické povahy a více psaných, aby porozuměli aplikaci, aby softwaroví inženýři mohli vyvodit závěry a odvodit klíčové atributy potřebné na základě skutečného použití."

Různorodá role softwarového inženýra

Protože životní cyklus vývoje softwaru má různé fáze a operace, má smysl, aby se práce softwarového inženýra také lišila.

„Softwarový inženýr má při vytváření softwarového řešení širší roli než většina ostatních,“ píše Samuel Malachowsky, profesor Rochester Institute of Technology. „Každý prvek SDLC má odborníky: RE a prodej pro počáteční kroky, architekti ve fázi návrhu, kodéry / programátory pro sestavení, QA pro ověření / testování, IT pro nasazení / údržbu a projektoví manažeři pro pohyb a správu každý člen týmu / fáze, ale očekává se, že se softwaroví inženýři budou široce aplikovat na celý proces. Z tohoto pohledu může být lepší položit otázku, co softwarový inženýr nedělá. “

Zde je další zajímavý bod, který Malachowsky uvádí o rozdílu mezi IT a softwarovým inženýrstvím, které hodně odhaluje, jak vypadá práce průměrného softwarového inženýra:

"IT je funkční a opakující se, zatímco inženýrství se točí kolem nových problémů, které je třeba řešit jako jedinečné projekty," říká. „Díky tomuto opakování je mnohem větší pravděpodobnost, že pracovníci IT budou vyhledávat individuální certifikáty založené na nástrojích. V kontrastu s něčím, jako je počítačové inženýrství, se zdá, že požadavky jsou splněny - CE mají tendenci se zaměřovat na řešení problému s hardwarem, se softwarem, který jej podporuje. SE řeší problém se softwarem, s podporou hardwaru. “

Softwarový inženýr a projektové týmy

V mnoha společnostech jsou softwaroví inženýři seskupeni a delegováni podle své role v komplexním procesu.

Brennan Meagher popisuje příklad z TeleTracking, společnosti, která se věnuje titulům v oblasti inovací ve zdravotnictví na Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News a jinde.

"V TeleTracking jsou softwaroví inženýři zodpovědní za kódování a testování všech modulů a aplikací, které jsou součástí platformy TeleTracking," říká Meagher. „Pomáhají také při vývoji softwarových řešení a produkcí. To zahrnuje výzkum, navrhování, dokumentaci a vývoj nového softwaru. Naši softwaroví inženýři zkrátka vytvářejí softwarová řešení, která jsou v souladu s technickou vizí společnosti TeleTrackings pro zlepšení přístupu k pacientům. “

Můžete si představit tyto profesionály v podnikovém kampusu, nejprve navrhnout, pak vyladit model, pak testovat, v týmech, pečlivě shepherding projektu po dokončení.

"Příklad něčeho, za co jsou softwaroví inženýři pravidelně zodpovědní, může zahrnovat: psaní, ladění, testování jednotek a testy výkonu ve všech aplikačních vrstvách," říká Meaghan. „Patří sem vrstvy frontend (web), střední vrstva (webové služby) a vrstvy přístupu k datům.“

Pointa je, že softwaroví inženýři mají různé specializované práce. Všichni musí rozumět některým základům kódování, ale někteří se musí ponořit do specifik testování, průhlednosti návrhových požadavků nebo v některých případech do světa agilního vývoje.

Poté přišel model DevOps a sloučil mnoho iteračních procesů, které byly v konvenčním modelu velmi konkrétně nastíněny a kategorizovány. Role softwarového inženýra se tedy mění. (Chcete-li se dozvědět více o DevOps, přečtěte si článek Správci DevOps vysvětlují, co dělají.)

To vám dává trochu dál, když se rozhodnete dozvědět se více o práci těchto ústředních profesionálů ve výrobě softwaru. Softwarový inženýr byl popsán jako „nůž Švýcarské armády“ v designu a tvorbě softwaru - a může skončit na mnoha kloboucích v rušné společnosti.