Munkakör: szoftvermérnök

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 1 Július 2024
Anonim
Munkakör: szoftvermérnök - Technológia
Munkakör: szoftvermérnök - Technológia

Tartalom


Forrás: Dragonimages / Dreamstime.com

Elvitel:

A szoftvermérnök mélyen részt vesz a szoftverfejlesztés életciklusában, és nagy szerepet játszik a projekt sikerében.

Mit csinál egy szoftvermérnök? Az egyszerű válasz az, hogy részt vesz a szoftverfejlesztésben, a tervezési alapelveknek a szoftvertermékekre történő alkalmazási folyamatában.

Ennek ellenére valóban rengeteg részlet és árnyalata van annak, hogy leírjuk, mit tesznek a szoftvermérnökök a szoftver világában. Néhány ilyen helyzetbe belemerülünk, amikor egy olyan szoftvermérnök „életének egy napjára” tekintünk, amelynek célja az összes nagyszerű digitális anyag létrehozása, amelyet minden nap használunk. (Ha többet szeretne tudni a tereptől származó szerepektől, olvassa el a Hogyan jöttem ide: 12 kérdést David Auerbach íróval és szoftvermérnökkel.)


A szoftverfejlesztési életciklus

A szoftvermérnök szerepének megértése érdekében hasznos tudni a szoftverfejlesztési életciklusról (SDLC).

A szoftverfejlesztés életciklusa különféle kulcsfontosságú szakaszokat foglal magában, amelyeket gyakran követelménytervezés, -tervezés, -kódolás, -tesztelés, -bevezetés és kézbesítésként írnak le (adjon meg, vagy tegyen meg néhány lépést a védett folyamatoknak megfelelően).

„A szoftver azzal a problémával kezdődik, amelyet megpróbálunk megoldani” - mondja John Quigley, a Value Transformation LLC, a hagyományos szoftverfejlesztési életciklus leírására, azzal, hogy néhány lépéssel megkezdi a folyamat elejét. „Ez valamilyen formában megfogalmazódik, és az ügyfelekkel vagy a probléma alatt szenvedő emberekkel folytatott interjúk eredményeként jön létre. A dokumentum leírja, hogy néz ki a probléma, amely segít ötleteket generálni ahhoz, hogy ezzel összehasonlítsuk a megoldást. Ez lesz ennek a munkának a célja, megmutatva, mit akarunk elérni. ”


A követelmények szakaszában - mondja - a mérnökök meghatározták a termék konkrét műszaki leírását, mind a hardvert (ha van ilyen), mind pedig a szoftvert.

Aztán ott van a kódolás: „A szoftvermérnökök kódokkal írják be a specifikus utasításokat, amelyek előállítják a kívánt terméket, amely megfelel az egyedi követelményeknek” - mondja Quigley a kódolási szakaszról.

Utána, mondja, tesztel, majd egy újabb lépéskészlettel hajtja végre a szoftvert szilárdan a termelési környezet felé. A folyamat vége felé van hely a változatos ötletekre a megvalósításról és a telepítésről. Quigley hozzáteszi, hogy az SDLC új „agilis” modellje kissé másképp működik.

Nincsenek hibák, nincs stressz - Az Ön életét megváltoztató szoftverek készítésének lépésről lépésre történő leírása az élet megsemmisítése nélkül

Nem javíthatja a programozási képességeit, ha senki sem törődik a szoftver minőségével.

"Az agilis világban a dolgok sokkal néznek ki, de az iterációk kisebbek és közelebb állnak egymáshoz" - mondja Quigley. "A követelmény kezelhető felhasználói történetek útján, kevésbé technikai jellegű és jobban megírva, hogy megértsék az alkalmazást, így a szoftvermérnökök következtetéseket vonhatnak le és levonhatják a kulcsfontosságú attribútumokat a tényleges használat alapján."

A szoftvermérnök változatos szerepe

Mivel a szoftverfejlesztési életciklusnak különböző fázisa és működése van, érdemes a szoftvermérnök munkája is változni.

„A szoftvermérnöknek szélesebb szerepe van, mint a legtöbb a szoftvermegoldás létrehozásában,” írja Samuel Malachowsky, a Rochester Institute of Technology professzora. „Az SDLC minden elemében vannak szakemberek: RE-k és értékesítés a kezdeti lépésekhez, építészek a tervezési szakaszhoz, kódolók / programozók az építéshez, QA a hitelesítéshez / teszteléshez, IT a telepítéshez / karbantartáshoz, valamint projektmenedzserek a minden csapat tagja / fázisa, de a szoftvermérnököktől elvárják, hogy széles körben alkalmazzák magukat a teljes folyamatban. Ebből a szempontból jobb kérdés az lehet, ha megkérdezzük, mit nem tesz a szoftvermérnök. ”

Íme egy másik érdekes elem, amelyet Malachowsky az IT és a szoftverfejlesztés különbségeiről vet fel, és sokat derít fel az átlagos szoftvermérnök munkája szempontjából:

"Az informatika működőképes és ismétlődő, míg a mérnöki munka új problémák körül forog, amelyeket egyedi projektekként kell megoldani" - mondja. „Az IT-alkalmazottak sokkal nagyobb valószínűséggel kérnek egyedi eszköz-alapú tanúsításokat az ismétlés miatt. A Computer Engineering valamelyikével ellentétben néz ki, ahol a követelmények teljesülnek - a CE-k általában a hardver és a támogató szoftverek problémájának megoldására összpontosítanak. A SE-k szoftverrel oldják meg a problémát, a hardvert támogatva. ”

A szoftvermérnök és a projektcsoportok

Sok vállalatban a szoftvermérnököket a komplex folyamatban részt vevő szerepüknek megfelelően csoportosítják és delegálják a szerepeket.

Brennan Meagher a TeleTracking példáját írja le, amely egy olyan cég, amely az egészségügyi innováció címsorát készíti a Fierce Healthcare, az American Sürgősségi Orvosok Főiskola, az egészségügyi adatkezelés, az Healthcare IT News és másutt.

"A TeleTrackingnál a szoftvermérnökök felelősek minden, a TeleTracking platform részét képező modul és alkalmazás kódolásáért és teszteléséért" - mondja Meagher. „Segítenek a szoftvermegoldások és produkciók fejlesztésében is. Ez magában foglalja az új szoftverek kutatását, tervezését, dokumentálását és fejlesztését. Röviden: szoftvermérnökeink olyan szoftver megoldásokat hoznak létre, amelyek összhangban állnak a TeleTrackings műszaki víziójával a betegek hozzáférésének javítása érdekében. ”

Ezeket a szakembereket egy vállalati egyetemen ábrázolhatja, először kidolgozva, majd módosítva a modellt, majd tesztelve csapatokban, és a projektet a befejezésig gondosan pásztorolja.

„Példa valamire, amelyért a szoftvermérnökök rendszeresen felelősek, az alábbiakat foglalhatja magában: írás, hibakeresés, egységteszt és teljesítménytesztkódok az összes alkalmazásrétegben” - mondja Meaghan. "Ez magában foglalja a kezelőfelületet (web), a középső réteget (webszolgáltatások) és az adathozzáférési rétegeket."

A lényeg az, hogy a szoftvermérnökök változó, speciális munkát végeznek. Mindegyiküknek meg kell értenie a kódolás néhány alapját, de néhányuknak be kell mélyülnie a tesztelés vagy a tervezési követelmények átláthatóságának, vagy egyes esetekben az agilis fejlesztés világának sajátosságaiba.

Aztán a DevOps modell jött létre, és egyesítette az iterációs folyamatokat, amelyeket a hagyományos modellben kifejezetten körvonalaztak és kategorikusak. Tehát a szoftvermérnök szerepe megváltozik. (Ha többet szeretne megtudni a DevOps-ról, olvassa el a DevOps Vezetők magyarázatát, hogy mit csinálnak.)

Ez egy kicsit tovább folytatódhat, amikor elindul, hogy többet megtudjon ezeknek a központi szakembereknek a szoftvergyártásban végzett munkájáról. A szoftvermérnököt a tervezés és a szoftverkészítés „svájci hadsereg késének” nevezték - és sok kalapot viselhet egy elfoglalt társaságban.