Ruolo di lavoro: Ingegnere del software

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
#7 Che lavoro fai? L’INGEGNERE INFORMATICO da Google | Step di colloquio Google | Lavorare negli USA
Video: #7 Che lavoro fai? L’INGEGNERE INFORMATICO da Google | Step di colloquio Google | Lavorare negli USA

Contenuto


Fonte: Dragonimages / Dreamstime.com

Porta via:

L'ingegnere del software è profondamente coinvolto nel ciclo di vita dello sviluppo del software e svolge un ruolo importante nel successo di un progetto.

Cosa fa un ingegnere del software? La semplice risposta è che è coinvolto nell'ingegneria del software, nel processo di applicazione dei principi di ingegneria ai prodotti software.

Tuttavia, ci sono davvero molti dettagli e sfumature nel descrivere cosa fanno gli ingegneri del software nel mondo del software. Ci occuperemo di questo mentre guardiamo "un giorno nella vita" di un ingegnere del software che lavora per creare tutte le fantastiche cose digitali che usiamo ogni giorno. (Per saperne di più sul ruolo di qualcuno sul campo, controlla Come sono arrivato qui: 12 domande con lo scrittore e ingegnere del software David Auerbach.)

Il ciclo di vita dello sviluppo software

Per comprendere il ruolo dell'ingegnere del software, è utile conoscere il ciclo di vita dello sviluppo del software (SDLC).


Il ciclo di vita dello sviluppo del software prevede varie fasi chiave, spesso descritte come pianificazione, progettazione, codifica, test, implementazione e consegna dei requisiti (eseguire o eseguire alcuni passaggi in base a processi proprietari).

"Il software inizia con il problema che stiamo cercando di risolvere", afferma John Quigley presso Value Transformation LLC, descrivendo il ciclo di vita dello sviluppo del software convenzionale iniziando con alcune delle fasi iniziali del processo. "Questo sarà articolato in una qualche forma di documento, ed è il risultato di interviste con clienti o persone che stanno soffrendo sotto il problema ... Il documento descriverà come appare il problema che aiuterà a generare idee da confrontare con questa per soluzione. Questo sarà l'obiettivo di questo lavoro, stabilendo ciò che stiamo cercando di realizzare. "

Nella fase dei requisiti, afferma, gli ingegneri espongono la descrizione tecnica specifica del prodotto, sia hardware (se presente) che software.


Poi c'è la codifica: "Gli ingegneri del software scriveranno le specifiche dichiarazioni in codice che produrranno il prodotto desiderato che soddisfa i requisiti specifici", afferma Quigley della fase di codifica.

Dopodiché, afferma, sta testando e poi un'altra serie di passaggi che porta il software solidamente verso un ambiente di produzione. Verso la fine del processo, c'è spazio per idee diverse su implementazione e implementazione. Quigley aggiunge inoltre che un nuovo modello "agile" per SDLC funziona in modo leggermente diverso.

Nessun bug, nessuno stress: la tua guida passo passo alla creazione di software che ti cambia la vita senza distruggere la tua vita

Non puoi migliorare le tue capacità di programmazione quando a nessuno importa della qualità del software.

"Nel mondo agile, le cose sembrano molto ma le iterazioni sono più piccole e vicine tra loro", dice Quigley. "Il requisito può essere gestito tramite user story, meno di natura tecnica e più scritte per comprendere l'applicazione in modo che gli ingegneri del software possano fare deduzioni e dedurre gli attributi chiave necessari in base all'utilizzo effettivo."

Il ruolo vario dell'ingegnere del software

Poiché il ciclo di vita dello sviluppo del software ha fasi e operazioni diverse, è logico che anche il lavoro dell'ingegnere del software vari.

"Un ingegnere del software ha un ruolo più ampio rispetto alla maggior parte nella creazione di soluzioni software", scrive Samuel Malachowsky, professore presso il Rochester Institute of Technology. "Ogni elemento di SDLC ha specialisti: RE e vendite per le fasi iniziali, architetti per la fase di progettazione, programmatori / programmatori per la costruzione, QA per verifica / test, IT per implementazione / manutenzione e project manager per lo spostamento e la gestione di ogni membro del team / fase, ma gli ingegneri del software dovrebbero applicarsi ampiamente all'intero processo. Dato questo punto di vista, una domanda migliore potrebbe essere quella di fare ciò che un ingegnere del software non fa. "

Ecco un altro punto interessante che Malachowsky fa sulla differenza tra IT e ingegneria del software che rivela molto su come sia il lavoro del tecnico del software medio:

"L'IT è operativo e ripetitivo, mentre l'ingegneria ruota attorno a nuovi problemi da risolvere come progetti unici", afferma. “A causa di questa ripetizione, il personale IT ha molte più probabilità di cercare certificazioni basate su singoli strumenti. In contrasto con qualcosa come l'Ingegneria Informatica sembra che i requisiti siano soddisfatti: i CE tendono a concentrarsi sulla risoluzione del problema con l'hardware, con il software che lo supporta. Gli SE risolvono il problema con il software, con l'hardware che fornisce supporto. "

L'ingegnere del software e i team di progetto

In molte aziende, gli ingegneri del software sono raggruppati e delegati ruoli in base alla loro parte nel processo complesso.

Brennan Meagher descrive un esempio di TeleTracking, una società che fa notizia nell'innovazione sanitaria presso Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News e altrove.

"In TeleTracking, gli ingegneri del software sono responsabili della codifica e del collaudo di tutti i moduli e le applicazioni che fanno parte della piattaforma TeleTracking", afferma Meagher. “Aiutano anche nello sviluppo di soluzioni e produzioni software. Ciò include la ricerca, la progettazione, la documentazione e lo sviluppo di nuovi software. In breve, i nostri ingegneri software creano le soluzioni software in linea con la visione tecnica di TeleTrackings per migliorare l'accesso ai pazienti. "

Puoi immaginare questi professionisti in un campus aziendale, prima redigendo, quindi modificando il modello, quindi testando, in team, guidando attentamente un progetto fino al completamento.

"Un esempio di qualcosa di cui gli ingegneri del software sono regolarmente responsabili può includere: scrittura, debug, test di unità e codici di test delle prestazioni in tutti i livelli delle applicazioni", afferma Meaghan. "Ciò include il front-end (web), il livello intermedio (servizi web) e i livelli di accesso ai dati."

La linea di fondo è che gli ingegneri del software hanno lavori diversi e specializzati. Devono tutti comprendere alcune delle basi della programmazione, ma alcune devono approfondire le specifiche dei test, la trasparenza dei requisiti di progettazione o, in alcuni casi, il mondo dello sviluppo agile.

Quindi è arrivato il modello DevOps, che ha unito molti processi iterativi che sono stati delineati e categoricamente molto specifici nel modello convenzionale. Quindi il ruolo dell'ingegnere del software sta cambiando. (Per saperne di più su DevOps, vedi I gestori DevOps spiegano cosa fanno.)

Questo ti dà un po 'di strada da fare quando decidi di imparare di più sul lavoro di questi professionisti centrali nella produzione di software. L'ingegnere del software è stato descritto come il "coltellino svizzero" del design e della creazione di software e può finire per indossare molti cappelli in un'azienda impegnata.