it-swarm.it

Qual è la differenza tra un architetto del software, un ingegnere del software e uno sviluppatore di software (programmatore)?

Sto leggendo l'articolo della CNN sui lavori più pagati in America. A l'architetto del software è elencato come # 1 . A ingegnere del software elencato come # 9 . E un sviluppatore software (programmatore) è elencato in # 35 . Penso che sia valido per sostituire l'informatico con il programmatore, giusto?

Prima di questo ho sempre visto "Software Engineers" come il titolo per programmatori esperti e team leader. Ma allora dove si inserisce un "Software Architect" e che cosa fanno esattamente? Ho letto le descrizioni della CNN ma non mi soddisfano davvero, quindi presumo di poter ottenere descrizioni più approfondite ed esperte dalla fantastica base di utenti qui.

Grazie in anticipo per tutte le risposte ricevute.

24
Rob S.

Avviso: seguono prove aneddotiche ....

Nella mia esperienza, almeno qui nel mercato australiano, i termini programmatore, sviluppatore software e ingegnere software sono più o meno intercambiabili (ho tenuto tutti e tre per fare esattamente lo stesso lavoro effettivo).

Il "Direttore dell'ingegneria del software" descritto nel collegamento CNN non è lo stesso di "Ingegnere del software". È molto più simile a un ruolo di project manager tecnico di alto livello. Questo tipo di persona non programmerebbe molto, se non del tutto. Questo ruolo ha poco a che fare con il tuo tipico "Software Engineer" - che spesso è solo un titolo glorificato per un programmatore intermedio o senior.

L '"architetto del software" descritto nel collegamento suona essenzialmente come un capo squadra di alto livello, il tipo che progetta la struttura generale di un sistema software e quindi probabilmente coltiva parte del lavoro grugnito a più programmatori junior. Questo è il tipo di persona che dirige un progetto e probabilmente riferisce al "Software Engineering Director" - in una grande azienda in cui molti team scrivono vari prodotti, specialmente dove è richiesta l'integrazione tra di loro.

TL; versione DR:

  1. L'ingegnere del software è spesso solo un titolo glorificato per "programmatore", forse che indica di essere un po 'più anziano.
  2. Software Architect probabilmente si adatta all'incirca a un team leader di alto livello che ha la responsabilità di progettare l'architettura complessiva del progetto.
  3. Software Engineering Director è un project manager di alto livello, il tipo che probabilmente riporta ai massimi livelli e probabilmente non tocca affatto il codice.

$ 0.02

24
Bobby Tables

L'ho imparato in questo modo:

  • L'ingegnere del software è colui che conosce tutti gli aspetti del processo di sviluppo del software (requisiti, specifiche, progettazione, architettura, progettazione, implementazione, ecc.) In modo che possano realizzare lavori di gestione o lavorare ovunque nel processo, migliorarlo, ecc.
  • Software Architect è colui che lavora solo nella fase di architettura che è dopo la fase di progettazione, è il lavoro tecnico più alto che uno può mirare. Hai ancora bisogno di programmare, al contrario di Software Engineer che può diventare un management. È anche un tipo di lavoro da maestro-apprendista.
  • Inoltre, non confrontare con l'Informatica, un informatico può programmare ma può anche fare molte altre cose, quindi non si limitano al campo della programmazione.
7
Osukaa

Qui, nel Grande Stato del Texas, molte aziende tendono a evitare il termine "Ingegnere del software", perché in Texas abbiamo gli ingegneri in licenza, e in realtà esiste qualcosa come "Sealed" Ingegnere professionista, Software ( http : //www.tbpe.state.tx.us/eng_req.htm ).

Non ne ho mai incontrato uno, né ha nessuno che conosca. Naturalmente la gilda dell'ingegnere vorrebbe molto limitare la concorrenza richiedendo licenze per scrivere "ciao mondo", ma ciò non è ancora avvenuto.

"Software Developer" è più comunemente usato per una persona il cui compito principale è scrivere software.

Le aziende hanno anche un po 'più di tempo a occuparsi delle questioni relative ai visti per gli "sviluppatori di software" piuttosto che per gli "ingegneri del software".

Ho lavorato nelle startup solo negli ultimi 15 anni, quindi non sono abituato a un sacco di titoli di lavoro finemente differenziati, ma in generale un software 'Architect' è uno sviluppatore senior che è bravo a delineare il 'quadro generale 'progettazione di un progetto software. Ogni architetto che abbia mai conosciuto trascorre molto tempo a scrivere codice, proprio come tutti gli altri, soprattutto dopo aver concordato il progetto principale.

6
Jim In Texas