Prima di tutto, dovremmo fare una distinzione tra ingegneria e sviluppo.
- L'ingegneria allude agli aspetti creativi nel lavoro, poiché gli ingegneri hanno bisogno di escogitare, ideare o progettare nel loro lavoro. Potrebbero partire da zero su un dato problema. Gli ingegneri sono principalmente interessati a costruire cose.
- Lo sviluppo è tipicamente un lavoro all'interno di uno spazio pre-pianificato o conosciuto. cioè il problema è noto, una soluzione è stata escogitata, e lo sviluppatore si deve occupare di correggere, far maturare o crescere il lavoro.
Quindi, gli ingegneri sono fondamentalmente sviluppatori, ma si occupano anche di architettura, progettazione ingegneristica e 'solution-crafting'.
In secondo luogo, dovremmo fare una distinzione tra il software per il web e altri tipi di software.
UI e Software Engineers alludono all'ingegneria nella maggior parte dei campi del software, sia esso: Web, Desktop, Applicazioni mobili, ecc. Mentre gli sviluppatori web si occupano strettamente di costruire per il web.
Con queste due distinzioni in mente, definiamo ogni ruolo.
Un Ingegnere Software è:
- colui che concepisce soluzioni a problemi software
- interessato a 'architettare'software su una data piattaforma
- responsabile del flusso di dati nell'intero stack
- colui che trasforma i dati in informazioni
- un programmatore con maggiori conoscenze di architettura software
Un Ingegnere UI è:
- un ingegnere software specializzato che costruisce, concepisce e mantiene le interfacce utente per il software.
- Si occupa della meccanica, dell'operatività e dell'affidabilità dell'interfaccia utente.
- not typically concerned with the back-end of the software but understands how it works and what it needs
- someone who writes code for or programs the UI
- someone who plans the architecture of the UI
A Web Developer is:
- a specialist developer for the web.
- a programmer with domain-specific knowledge of the web, web architectures and technologies.
- responsible for the actual development/building of the entire stack, from HTML/CSS to database.
In the context of the web:
- A UI Engineer could be better defined as a Front-end Engineer, as UI alludes to any sort of UI, not just for the web. Gli ingegneri front-end sono specializzati negli aspetti del web rivolti al cliente, il loro strumento di scelta è JavaScript e definiscono e costruiscono le fondamenta del front-end.
- Un ingegnere software web si occupa principalmente di tutto ciò che è sul lato server o back-end, ma gioca anche un ruolo nella definizione del front-end e di come passa i dati al back-end.
- Un Web Developer è l''appaltatore civile' portato a fare il lavoro sporco (e laborioso), o in assenza di Ingegneri costruisce l'infrastruttura al problema/soluzione noto.
hth,
S