Job rolle: Software Engineer

Forfatter: Laura McKinney
Oprettelsesdato: 2 April 2021
Opdateringsdato: 16 Kan 2024
Anonim
software engineer job description | software engineer role and responsibilities
Video.: software engineer job description | software engineer role and responsibilities

Indhold


Kilde: Dragonimages / Dreamstime.com

Tag væk:

Softwareingeniøren er dybt involveret i softwareudviklingen livscyklus og spiller en stor rolle i succes for et projekt.

Hvad gør en softwareingeniør? Det enkle svar er, at han eller hun er involveret i softwareteknik i processen med at anvende tekniske principper på softwareprodukter.

Imidlertid er der virkelig et væld af detaljer og nuancer ved at beskrive, hvad softwareingeniører gør i softwareverdenen. Vi kommer ind på noget af det, når vi ser på "en dag i livet" hos en softwareingeniør, der arbejder for at skabe alle de store digitale ting, som vi bruger hver dag. (Hvis du vil lære mere om rollen fra nogen i marken, skal du se, hvordan jeg kom her: 12 spørgsmål med forfatter og softwareingeniør David Auerbach.)

Softwareudviklingen livscyklus

For at forstå softwareteknikerens rolle er det nyttigt at vide om softwareudviklingslivscyklus (SDLC).


Softwareudviklingslivscyklus involverer forskellige centrale faser, ofte beskrevet som kravplanlægning, design, kodning, test, implementering og levering (give eller tage et par skridt i henhold til proprietære processer).

"Software starter med det problem, vi forsøger at løse," siger John Quigley hos Value Transformation LLC, der beskriver den konventionelle livscyklus for softwareudvikling ved at starte med noget af det, der foregår i begyndelsen af ​​processen. ”Dette vil blive formuleret i en form for dokument, og er resultatet af interviews med kunder eller personer, der lider under problemet… Dokumentet vil beskrive, hvordan problemet ser ud, hvilket vil hjælpe med at generere ideer, der kan sammenlignes med dette til løsning. Dette vil være målet for dette arbejde og etablere, hvad vi forsøger at udføre. ”

I kravsfasen, siger han, opstillede ingeniører den specifikke tekniske beskrivelse af produktet, både hardware (hvis der er sådan) og software.


Så er der kodning: "Softwareingeniørerne skriver de specifikke udsagn i kode, der producerer det ønskede produkt, der opfylder de specifikke krav," siger Quigley om kodningsfasen.

Herefter tester han, og derefter et andet sæt trin, der bringer softwaren solidt hen imod et produktionsmiljø. Mod slutningen af ​​processen er der plads til forskellige idéer om implementering og implementering. Quigley tilføjer også, at en ny “smidig” model til SDLC fungerer lidt anderledes.

Ingen fejl, ingen stress - Din trinvis vejledning til oprettelse af livsændrende software uden at ødelægge dit liv

Du kan ikke forbedre dine programmeringsevner, når ingen er interesseret i softwarekvalitet.

”I den smidige verden ser tingene meget ud, men iterationerne er mindre og tættere på hinanden,” siger Quigley. "Kravet kan håndteres via brugerhistorier, mindre teknisk og mere skrevet for at forstå applikationen, så softwareingeniørerne kan foretage konklusioner og udlede nøgleattributter, der er nødvendige, baseret på den faktiske anvendelse."

Softwareingeniørens varierede rolle

Da softwareudviklingslivscyklussen har forskellige faser og operationer, giver det mening, at softwareingeniørens arbejde også varierer.

"En softwareingeniør har en bredere rolle end de fleste i skabelsen af ​​softwareløsning," skriver Samuel Malachowsky, professor ved Rochester Institute of Technology. ”Hvert element i SDLC har specialister: RE og salg til indledende trin, arkitekter til designfasen, kodere / programmerere til build, QA til verifikation / test, IT til implementering / vedligeholdelse og projektledere til bevægelse og styring af hvert teammedlem / fase, men det forventes, at Software Engineers anvender sig selv bredt på hele processen. I betragtning af dette synspunkt kan et bedre spørgsmål være at spørge, hvad en Software Engineer ikke gør. ”

Her er et andet interessant punkt, som Malachowsky gør om forskellen mellem IT og software engineering, der afslører meget om, hvordan den gennemsnitlige softwareingeniør job er:

”IT er operationelt og gentagne, mens teknik drejer sig om nye problemer, der skal løses som unikke projekter,” siger han. ”IT-personale er meget mere tilbøjelige til at søge individuelle værktøjsbaserede certificeringer på grund af denne gentagelse. Kontrast med noget som Computer Engineering ser ud til, hvor kravene er opfyldt - CE'er har en tendens til at fokusere på at løse problemet med hardware, med software, der understøtter det. SE'er løser problemet med software, med hardware der yder support. ”

Softwareingeniøren og projektteamene

I mange virksomheder er softwareingeniører grupperet og delegeret roller efter deres del i den komplekse proces.

Brennan Meagher beskriver et eksempel fra TeleTracking, et firma, der skaber overskrifter inden for sundhedsindustrien ved Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News og andre steder.

”Hos TeleTracking er softwareingeniører ansvarlige for kodning og test af alle moduler og applikationer, der er en del af TeleTracking-platformen,” siger Meagher. ”De hjælper også med udviklingen af ​​softwareløsninger og produktioner. Dette inkluderer forskning, design, dokumentation og udvikling af ny software. Kort sagt, vores softwareingeniører skaber softwareløsninger, der er i overensstemmelse med TeleTrackings tekniske vision for at forbedre adgangen til patienter. ”

Du kan forestille dig disse fagfolk på en virksomhedscampus, først udarbejde, derefter finjustere modellen og derefter teste i team og nøje hyrde et projekt til færdiggørelse.

”Et eksempel på noget, som softwareingeniører regelmæssigt er ansvarlige for, kan omfatte: skrivning, fejlfinding, enhedsprøvning og performance-testkoder i alle applikationslag,” siger Meaghan. "Dette inkluderer frontend (web), mellemlag (webtjenester) og datatilgangslag."

I bund og grund er, at softwareingeniører har forskellige, specialiserede job. De er alle nødt til at forstå nogle af de grundlæggende elementer i kodning, men nogle af dem er nødt til at gå i dybden i specifikationerne ved testning, eller gennemsigtigheden i designkravene, eller i nogle tilfælde verden for smidig udvikling.

Derefter fulgte DevOps-modellen sammen og fusionerede en masse af de iterative processer, der var meget specifikt skitseret og kategorisk i den konventionelle model. Så rollen som softwareingeniør ændrer sig. (Se DevOps-ledere, hvis du vil lære mere om DevOps, hvad de gør.)

Dette giver dig lidt at gå på, når du planlægger at lære mere om disse centrale fagfolk inden for softwareproduktion. Softwareingeniøren er blevet beskrevet som den "schweiziske hærkniv" til design og softwareoprettelse - og kan ende med at have mange hatte i et travlt firma.