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


24

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

Prima di questo ho sempre visto "Software Engineers" come il titolo di 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.


1
Ci sono già molte domande correlate sui titoli di lavoro , questo potrebbe essere troppo localizzato o duplicato.
Josh K,

1
Questi sembrano rilevanti come potenziali duplicati: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… . Ma non ne vedo uno che mette tutto insieme.
Adam Lear

9
Un architetto del software vuole essere pagato di più :-)
Stephen C,

4
Hmm, un taglio di capelli?
Pawka,

7
@Rob S, un informatico NON è uno sviluppatore di software (programmatore).
systemovich,

Risposte:


24

Avvertenza : 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 in sostanza suona come un team leader di alto livello, il tipo che progetta la struttura generale di un sistema software e quindi probabilmente coltiva parte del lavoro grugnito per 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. Ingegnere del software è spesso solo un titolo glorificato per "programmatore", forse indicando 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


22
Che nome utente meraviglioso, "Bobby Tables".
Josh K,

2
che cosa è $ 0,02 ???
Sarawut Positwinyu,

10
@Sarawut: "I miei due centesimi". Significa solo "questa è la mia opinione". :)
Bobby Tables,

7

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.

Che dire di uno "sviluppatore di software"?
Adam Lear

Davvero non so come definire quel ruolo. Penso che sia un programmatore, ma non ne sono sicuro. Volevo dire che non dovresti paragonarlo a Informatico. Mi dispiace per questo: s
Osukaa,

"Computer Scientist" è semplicemente un titolo accademico, né più né meno. La maggior parte dei programmatori in cui lavoro sono "informatici", perché hanno studiato "informatica" - una materia in cui ti insegnano molto su come lavorare con i sistemi digitali e le macchine a stati, e la matematica dietro di essa. L '"ingegneria informatica" è la professione che ha "qualcosa di più della programmazione", perché ti insegnano molto anche sulla fisica e sull'elettricità.
Yam Marcovic,

6

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 effetti esiste un ingegnere professionista "software", "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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.