Jobbroll: Software Engineer

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Software developer job description | Software engineers job details
Video: Software developer job description | Software engineers job details

Innehåll


Källa: Dragonimages / Dreamstime.com

Hämtmat:

Programvaruingenjören är djupt engagerad i mjukvaruutvecklingens livscykel och spelar en stor roll i framgången för ett projekt.

Vad gör en programvaruingenjör? Det enkla svaret är att han eller hon är involverad i programvaruteknik, i processen att tillämpa tekniska principer på programvaruprodukter.

Men det finns verkligen en mängd detaljer och nyanser i att beskriva vad programvaruingenjörer gör i programvaruvärlden. Vi kommer in på något av det när vi tittar på ”en dag i livet” för en programvaruingenjör som arbetar för att skapa alla de fantastiska digitala saker som vi använder varje dag. (För att lära dig mer om rollen från någon i fältet, kolla in How I Got Here: 12 frågor med Writer and Software Engineer David Auerbach.)

Livscykeln för mjukvaruutveckling

För att förstå mjukvaruingenjörens roll är det bra att veta om mjukvaruutvecklingens livscykel (SDLC).


Livscykeln för mjukvaruutveckling involverar olika viktiga faser, ofta beskrivna som kravplanering, design, kodning, testning, implementering och leverans (ge eller ta några steg enligt proprietära processer).

"Programvara börjar med det problem vi försöker lösa," säger John Quigley på Value Transformation LLC och beskriver den konventionella livscykeln för mjukvara genom att börja med något av det som händer i början av processen. ”Detta kommer att formuleras i någon form av dokument och är resultatet av intervjuer med kunder eller personer som lider under problemet ... Dokumentet kommer att beskriva hur problemet ser ut som hjälper till att generera idéer som kan jämföras med detta för lösning. Detta kommer att vara målet för detta arbete, att fastställa vad vi försöker åstadkomma. ”

I kravfasen, säger han, säger ingenjörer den specifika tekniska beskrivningen av produkten, både hårdvara (om det finns sådan) och programvara.


Sedan finns kodning: "Programvaruingenjörerna kommer att skriva specifika uttalanden i kod som kommer att producera den önskade produkten som uppfyller de specifika kraven," säger Quigley om kodningsfasen.

Efter det, säger han, testar och sedan ytterligare en uppsättning steg som leder programvaran till en produktionsmiljö. Mot slutet av processen finns det utrymme för olika idéer om implementering och implementering. Quigley tillägger också att en ny "smidig" modell för SDLC fungerar lite annorlunda.

Inga buggar, ingen stress - din steg-för-steg-guide för att skapa livsförändrad programvara utan att förstöra ditt liv

Du kan inte förbättra dina programmeringsfärdigheter när ingen bryr sig om mjukvarukvalitet.

"I den smidiga världen ser saker ut mycket men iterationerna är mindre och närmare varandra," säger Quigley. "Kravet kan hanteras via användarhistorier, mindre tekniskt och mer skrivet för att förstå applikationen så att programvaruingenjörerna kan göra slutsatser och dra nyckelattribut som behövs baserat på den faktiska användningen."

Programvaruingenjörens varierade roll

Eftersom mjukvaruutvecklingens livscykel har olika faser och operationer är det vettigt att mjukvaruingenjörens arbete också varierar.

"En programvaruingenjör har en bredare roll än de flesta i skapandet av mjukvarulösning," skriver Samuel Malachowsky, professor vid Rochester Institute of Technology. ”Varje del av SDLC har specialister: RE och försäljning för initiala steg, arkitekter för designfasen, kodare / programmerare för byggandet, QA för verifiering / testning, IT för distribution / underhåll och projektledare för rörelse och hantering av varje teammedlem / fas, men programvaruingenjörer förväntas tillämpa sig själva i stort på hela processen. Med tanke på denna synvinkel kan en bättre fråga vara att fråga vad en programvaruingenjör inte gör. ”

Här är en annan intressant punkt som Malachowsky gör om skillnaden mellan IT och mjukvaruteknik som avslöjar mycket om hur den genomsnittliga mjukvaruingenjörens jobb är:

”IT är operativt och repetitivt, medan teknik kretsar kring nya problem som ska lösas som unika projekt,” säger han. ”IT-personal är mycket mer benägna att söka enskilda verktygsbaserade certifieringar på grund av denna upprepning. Kontrast med något som datateknik ser ut där kraven uppfylls - CE: er tenderar att fokusera på att lösa problemet med hårdvara, med programvara som stöder det. SE: s löser problemet med programvara, med hårdvara som ger support. ”

Programvaruingenjör och projektgrupper

I många företag grupperas och delegeras programvaruingenjörer enligt deras del i den komplexa processen.

Brennan Meagher beskriver ett exempel från TeleTracking, ett företag som gör rubriker inom innovation inom hälso- och sjukvård vid Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News och på andra håll.

"På TeleTracking ansvarar programvaruingenjörer för kodning och testning av alla moduler och applikationer som ingår i TeleTracking-plattformen," säger Meagher. ”De hjälper också till att utveckla programvarulösningar och produktioner. Detta inkluderar forskning, design, dokumentation och utveckling av ny programvara. Kort sagt skapar våra programvaruutvecklare mjukvarulösningar som anpassar sig till TeleTrackings tekniska vision för att förbättra tillgången till patienter. ”

Du kan föreställa dig dessa yrkesmän på ett företagscampus, först utarbeta, sedan finjustera modellen, sedan testa, i team, försiktigt hyrde ett projekt till slut.

"Ett exempel på något som programingenjörer regelbundet ansvarar för kan inkludera: skriva, felsöka, enhetstest och prestandatestkoder i alla applikationslager," säger Meaghan. "Detta inkluderar gränssnittet (webb), mellanlagret (webbtjänster) och datatillgångsskikt."

Sammanfattningen är att programvaruingenjörer har olika specialiserade jobb. De måste alla förstå några av grunderna i kodning, men vissa av dem måste fördjupa detaljerna i testning, eller insynen i designkrav, eller i vissa fall, världen för smidig utveckling.

Sedan kom DevOps-modellen med och slog samman en hel del av iterativa processer som mycket specifikt beskrivs och kategoriserades i den konventionella modellen. Så rollen som programvaruingenjör förändras. (För mer information om DevOps, se DevOps-chefer förklara vad de gör.)

Detta ger dig lite att gå vidare när du börjar lära dig mer om arbetet för dessa centrala proffs inom mjukvaruproduktion. Programvaruingenjören har beskrivits som den "schweiziska armékniven" för design och programvaruutveckling - och kan hamna i många hattar i ett livligt företag.