Rolul postului: Inginer software

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 1 Iulie 2024
Anonim
software engineer job description | software engineer role and responsibilities
Video: software engineer job description | software engineer role and responsibilities

Conţinut


Sursa: Dragonimages / Dreamstime.com

La pachet:

Inginerul software este profund implicat în ciclul de viață al dezvoltării software și joacă un rol important în succesul unui proiect.

Ce face un inginer software? Răspunsul simplu este că el sau ea este implicat în inginerie software, în procesul de aplicare a principiilor de inginerie pentru produsele software.

Cu toate acestea, există o mulțime de detalii și nuanțe în descrierea a ceea ce fac inginerii de software în lumea software-ului. Vom intra în unele aspecte în timp ce ne uităm la „o zi în viață” a unui inginer software care lucrează la crearea tuturor celor mai bune lucruri digitale pe care le folosim zilnic. (Pentru a afla mai multe despre rolul cuiva din domeniu, consultați cum am ajuns aici: 12 întrebări cu David Auerbach, Writer and Software Engineer.)

Ciclul de viață al dezvoltării de software

Pentru a înțelege rolul inginerului software, este util să știți despre ciclul de viață al dezvoltării software (SDLC).


Ciclul de viață al dezvoltării software implică diferite faze cheie, deseori descrise ca planificare a cerințelor, proiectare, codare, testare, implementare și livrare (acordați sau faceți câțiva pași în conformitate cu procesele proprii).

„Software-ul începe cu problema pe care încercăm să o rezolvăm”, spune John Quigley, la Value Transformation LLC, care descrie ciclul de viață al dezvoltării software convenționale, începând cu o parte din ceea ce se întâmplă la începutul procesului. „Acest lucru va fi articulat într-o formă de document și este rezultatul interviurilor cu clienții sau persoanele care suferă din cauza problemei… Documentul va descrie cum arată problema, ceea ce va ajuta la generarea de idei care să fie comparate cu această soluție. Acesta va fi obiectivul acestei lucrări, stabilind ceea ce încercăm să realizăm. ”

În faza de cerințe, spune el, inginerii au stabilit descrierea tehnică specifică a produsului, atât hardware (dacă există), cât și software.


Apoi există codarea: „Inginerii software vor scrie declarațiile specifice în cod care vor produce produsul dorit care îndeplinește cerințele specifice”, spune Quigley despre faza de codare.

După aceea, spune el, testează și apoi un alt set de pași care aduce software-ul solid către un mediu de producție. Spre sfârșitul procesului, există loc pentru idei diverse despre implementare și desfășurare. De asemenea, Quigley adaugă că un nou model „agil” pentru SDLC funcționează puțin diferit.

Fără bug-uri, fără stres - Ghidul dvs. pas cu pas pentru crearea de programe care schimbă viața fără a vă distruge viața

Nu îți poți îmbunătăți abilitățile de programare atunci când nimeni nu îi pasă de calitatea software-ului.

„În lumea agilă, lucrurile arată mult, dar iterațiile sunt mai mici și mai strânse împreună”, spune Quigley. „Cerința poate fi gestionată prin intermediul poveștilor utilizatorilor, mai puțin tehnică și mai scrisă pentru a înțelege aplicația, astfel încât inginerii software să poată face inferențe și să deducă atributele cheie necesare pe baza utilizării efective.”

Rolul divers al inginerului software

Întrucât ciclul de viață al dezvoltării software are diferite etape și operații, este logic că și activitatea inginerului software variază.

„Un inginer software are un rol mai larg decât majoritatea în crearea soluțiilor software”, scrie Samuel Malachowsky, profesor la Rochester Institute of Technology. „Fiecare element al SDLC are specialiști: RE și vânzări pentru etapele inițiale, arhitecți pentru faza de proiectare, codificatori / programatori pentru construire, QA pentru verificare / testare, IT pentru implementare / întreținere și manageri de proiect pentru mișcarea și gestionarea fiecare membru / fază a echipei, dar este de așteptat ca inginerii de software să se aplice pe larg în întregul proces. Având în vedere acest punct de vedere, o întrebare mai bună ar putea fi să ne întrebăm ce nu face un Inginer Software. ”

Iată un alt punct interesant pe care Malachowsky îl face despre diferența dintre IT și inginerie software, care dezvăluie multe despre cum este treaba medie a inginerului software:

„IT este operațional și repetitiv, în timp ce ingineria se învârte în jurul noilor probleme care trebuie rezolvate ca proiecte unice”, spune el. „Personalul IT este mult mai probabil să caute certificări individuale bazate pe instrumente din cauza acestei repetări. Contrastând cu ceva de genul Ingineria informatică arată unde sunt îndeplinite cerințele - CE tind să se concentreze pe rezolvarea problemei cu hardware-ul, cu software-ul care îl susține. SE-urile rezolvă problema cu software-ul, cu suport hardware oferit. "

Inginerul software și echipele de proiect

În multe companii, inginerii software sunt grupate și delegate roluri în funcție de partea lor în procesul complex.

Brennan Meagher descrie un exemplu din TeleTracking, o companie care face titluri în inovația în domeniul sănătății la Fierce Healthcare, Colegiul American de Medici de Urgență, Managementul datelor de sănătate, Știri IT pentru servicii medicale și în alte părți.

„La TeleTracking, inginerii de software sunt responsabili de codificarea și testarea tuturor modulelor și aplicațiilor care fac parte din platforma TeleTracking”, spune Meagher. „De asemenea, ajută la dezvoltarea de soluții și producții software. Aceasta include cercetarea, proiectarea, documentarea și dezvoltarea de software nou. Pe scurt, inginerii noștri de software creează soluții software care se aliniază viziunii tehnice TeleTrackings pentru îmbunătățirea accesului la pacienți. ”

Puteți imagina acești profesioniști într-un campus corporativ, mai întâi redactarea, apoi reglarea modelului, apoi testarea, în echipe, păstorirea cu atenție a unui proiect până la finalizare.

"Un exemplu de ceva de care inginerii de software sunt responsabili în mod regulat poate include: scrierea, depanarea, testarea unităților și codurile de testare a performanței în toate straturile de aplicații", spune Meaghan. „Aceasta include capătul frontal (web), stratul mijlociu (servicii web) și straturile de acces la date.”

Concluzia este că inginerii de software au locuri de muncă diferite și specializate. Toți au nevoie să înțeleagă unele dintre elementele de bază ale codificării, dar unele dintre ele trebuie să aprofundeze specificul testării, transparența cerințelor de proiectare sau, în unele cazuri, lumea dezvoltării agile.

Apoi a venit modelul DevOps și a contopit o mulțime de procese iterative care au fost foarte conturate și categorice în modelul convențional. Deci, rolul inginerului software se schimbă. (Pentru a afla mai multe despre DevOps, consultați Managerii DevOps Explicați ce fac.)

Acest lucru vă oferă un pic de a continua atunci când v-ați propus să aflați mai multe despre activitatea acestor profesioniști centrali în producția de software. Inginerul software a fost descris drept „cuțitul armatei elvețiene” de proiectare și creare de software și poate ajunge să poarte multe pălării într-o companie ocupată.