La tecnologia dell'informazione è davvero ingegneria? [chiuso]


13

Durante il viaggio ho incontrato un matematico che era seduto vicino a me. In una discussione ha detto: "... non c'è niente come l'ingegneria nell'IT o piuttosto la programmazione ". Una vera ingegneria è ciò che l'architettura è, ciò che è elettrico e meccanico.

Mi ha fatto pensare ed ero perplesso. Un percento del mio cervello era d'accordo anche perché nell'esercito indiano non c'è materia come l'ingegneria informatica nell'Engineering Corps. Non considerano la programmazione come ingegneria. Questo è quello che ho sentito qualche anno fa, non so cosa pensi ora l'esercito indiano.

Quali sono le tue opinioni?


5
Il mio punto di vista: è solo geloso del fatto che tu sia pagato di più: P
Simon

4
Secondo me l'architettura non è ingegneria
hiena l'

@hiena - in effetti, legalmente parlando, sono professioni diverse e la legge (a seconda della giurisdizione) legifera cos'è l'architettura e cos'è l'ingegneria.
Scott Whitlock,

Risposte:


17

Se seguiamo questa descrizione , siamo il 75% di ingegneri o il 75% di noi è ingegnere :)

A differenza di altre discipline ingegneristiche:

  • gli sviluppatori di software non necessitano di istruzione formale e / o licenze
  • è una disciplina relativamente giovane e non ha best practice comprovate (come la costruzione, ad esempio)

Penso che questo cambierà in futuro. Un giorno saremo ingegneri al 100%.


Ingegnere

fonte: http://en.wikipedia.org/wiki/Engineer

Un ingegnere è un professionista dell'ingegneria che si occupa di applicare conoscenze scientifiche, matematica e ingegnosità per sviluppare soluzioni a problemi tecnici.

La parola ingegnere deriva dall'ingenium radice latina, che significa "intelligenza".

Occupazione

  • Ingegnere di nomi
  • Tipo di professione
  • Settori di attività Scienze applicate

Descrizione

  • Competenze Matematica, conoscenze scientifiche, capacità di gestione
  • Istruzione richiesta Istruzione ingegneristica
  • Campi di impiego Ricerca e sviluppo, industria, impresa
  • Lavori correlati Scienziato, architetto, project manager

15

L'ingegneria del software è ingegneria, ma non l'IT o la programmazione. È molto simile all'ingegneria meccanica come l'ingegneria e la fisica o la saldatura no.

L'ingegneria del software è un campo incredibilmente giovane (rispetto ad altri rami dell'ingegneria), che in realtà è difficile insegnare alle persone, perché non c'è molta esperienza da insegnare. Solo negli ultimi 20-25 anni il software è diventato così grande e complesso che la semplice programmazione non farà il lavoro.

A causa di questa carenza di conoscenze consolidate, la vera ingegneria del software viene insegnata raramente. L'unico modo in cui puoi diventare un decente ingegnere del software è seguire la strada di un artigiano: essere istruito sul campo. Quindi, mentre l'ingegneria del software è una disciplina esistente, pochissimi sono attualmente in questo campo. La maggior parte delle persone sta sperimentando il software o l'ingegnerizzazione del software.


Vuoi dire che l'ingegneria del software non include la programmazione?
RPK,

1
@RPK: difficile da dire, dato che sono più un esperto di software :) Ma fondamentalmente penso che la programmazione sia all'ingegneria del software ciò che l'edificio è all'ingegneria civile. Il primo finisce nel caos senza il secondo e il secondo non ha senso senza il primo, ma i due sono relativamente distinti.
back2dos,

@ back2dos: tendo ad essere d'accordo. Tuttavia, penso che gli ingegneri del software debbano quasi sapere come programmare, mentre gli ingegneri civili non devono necessariamente sapere come saldare.
Michael K,

1
Di 'a un ingegnere metallurgico o materiale che la saldatura non è ingegneria e ti farà chiudere la bocca :)
Vitor Py

@Vitor Braga: qual è il tuo punto? Mi aspetterei davvero da un buon ingegnere di capire la differenza tra ingegneria e artigianato. E mi chiedo anche quanti ingegneri metallurgici effettivamente saldano nel loro lavoro.
back2dos

14

Gli ingegneri del software in una società di ingegneria sono ingegneri. Sto parlando di luoghi come appaltatori della difesa, produttori di apparecchiature, ecc. Seguiamo rigorosi processi per: creazione di requisiti e documentazione di progettazione, analisi dettagliate che la progettazione soddisferà i requisiti prima della scrittura di qualsiasi codice, esecuzione di revisioni del codice e test unitari, pianificazione e l'esecuzione di test di integrazione e qualificazione. I documenti vengono esaminati da commissioni di colleghi e parti interessate, i test sono testimoni dell'organizzazione di controllo qualità e i risultati presentati al cliente per accettazione formale. L'ingegneria del software praticata in questi luoghi è un processo scientifico rigoroso.


1
100% concordato. Lavoro in una società di infrastrutture critiche. Noi progettiamo qui.
Paul Nathan,

8

Come un vero P.Eng., Direi, in generale, no. Tuttavia, penso che programmatori e ingegneri realizzino entrambi progetti significativi . Se la domanda era: "I programmatori sono designer?" Direi sicuramente di si.

L'ingegneria professionale, tuttavia, ha a che fare con l'essere legalmente responsabile dei tuoi errori o almeno rischiare il diritto legale di esercitare la tua professione in caso di errore. Non importa quanto tu sia un programmatore cattivo, puoi uscire domani e legalmente mettere "programmatore" sul tuo curriculum. Con un P.Eng. se perdi la licenza, non puoi chiamarti P.Eng.

L'ingegneria professionale è stata creata per essere una professione autoregolante, in cui la professione e il governo concordano determinati compiti che possono essere eseguiti solo da persone autorizzate. Lo fanno a causa della reciproca comprensione del fatto che il lavoro rappresenta un rischio significativo per la sicurezza del pubblico.

Ci sono alcuni dispositivi basati su software che devono essere timbrati da un ingegnere prima di poter essere venduti (sto parlando di dispositivi di sicurezza industriale qui). La persona che rivede e approva questi progetti è un ingegnere.


Pensi che il motivo per cui lo sviluppo del software non è regolato allo stesso modo dei campi dell'ingegneria sia perché il rischio è diverso o la giovinezza relativa della programmazione come professione? In applicazioni come i sistemi di controllo per dispositivi medici, sistemi militari e sistemi di simulazione sembra che ci possano essere dei danni nel mondo reale causati da errori di programmazione. O non esiste una facile distinzione tra uno sviluppatore di sistemi di guida missilistica e uno sviluppatore di sistemi di account da un punto di vista governativo / industriale?
aubreyrhodes,

@aubreyrhodes - Immagino che in quel caso esista un ente normativo diverso per i dispositivi medici, quindi potrebbero non rientrare nel campo dell'ingegneria. C'è una linea molto rigorosa tracciata, ad esempio, tra ciò che è ingegneria e ciò che è architettura. Mentre la programmazione è coinvolta in molte attività, ciò non significa che anche tu non abbia bisogno di ingegneria. L'ingegneria non sta progettando; Engineering sta dicendo "Certifico che questo progetto è conforme alle linee guida normative, utilizzo le conoscenze più aggiornate del settore, non rappresenta un rischio eccessivo per il pubblico e mi impegnerò su questa strada".
Scott Whitlock,

2

Direi che la maggior parte dei programmatori lo sono in realtà software mechanics. Voglio dire, la maggior parte dei programmatori nel settore del software non fa altro che la manutenzione del software e la correzione di errori.


Penso che stai confondendo la meccanica con la manutenzione.
Rook,

@Rook: Ma cosa fa di solito un meccanico?
Michael K,

@Michael - Facevo più riferimento al mech. ENGS. chi fa sviluppo, rispetto alla manutenzione.
Rook,

3
@mhitza La tua conseguenza è che i meccanici del software non costruiscono componenti software originali, ma mantengono solo sistemi legacy. Dubito che la maggior parte dei programmatori faccia solo questo tipo di lavoro. Direi che la maggior parte dei programmatori costruisce regolarmente nuovi componenti e sistemi.
Morgan Herlocker,

@Prof Plum: Mhitza è corretto. La maggior parte del lavoro sul software risiede nella manutenzione perché la maggior parte dei sistemi di successo ha una vita abbastanza lunga. Conosco persone che sono in questo campo da trent'anni che non hanno mai sviluppato nulla di significativo da zero. Si limitano a correggere e modificare le basi di codice esistenti.
twiddler

2

Ci sono alcune somiglianze in termini di applicazione delle abilità, ma sono fermamente nel campo "no". Non è difficile distinguere: le professioni di ingegneria dispongono di consigli che governano chi può definirsi ingegneri in base alla qualifica e all'esperienza. L '"ingegneria del software" non ha nulla del genere (esistono sforzi nascenti, ma non ho sentito parlare di ripercussioni per non appartenere a uno). Chiunque può definirsi un ingegnere del software, e quindi il titolo non dice a un datore di lavoro nulla delle tue capacità. Lo stesso vale per qualcuno che si definisce un "ingegnere audio" - non voglio commentare un ingegnere "di volo" o "locomotiva" perché non sono sicuro delle schede per quelli.

Personalmente, sono uno scienziato informatico che lavora in un ambiente accademico - faccio ricerche, non solo costruisco. Ho trascorso anche alcuni anni nel settore e mi riferisco al mio lavoro come "Sviluppo software". Non ho bisogno di fingere di essere qualcosa che non sono.

Antefatto: sono in Sudafrica, dove per fortuna il termine Ingegnere del Software non ha colto molto. Se i consigli di ingegneria in altre parti del mondo sono scomparsi, forse la distinzione non è rilevante in questo caso. Se è così, è un peccato: preferirei vivere in un mondo con una commissione di ingegneria del software professionale piuttosto che una senza enti per qualsiasi professione.


Concur! Anch'io lavoro come informatico in un ambiente accademico, ma ho trascorso oltre vent'anni a lavorare nella ricerca e sviluppo di software industriale prima di entrare a far parte della mia attuale organizzazione. Odio assolutamente essere chiamato programmatore. Un programmatore è un artigiano come un macchinista è un artigiano. L'unica differenza è che i macchinisti sono abbastanza intelligenti da essere pagati per gli straordinari.
bit-twiddler

Un ingegnere senza licenza sta ancora facendo ingegneria, proprio come un medico senza licenza sta ancora praticando medicina.
DougM,

1

Dipende dal paese, dalla loro definizione, dal loro sistema accademico e così via. Alcuni, ad esempio, non considerano l'architettura come ingegneria - a differenza dell'ingegneria civile, è vista come un mix tra ingegneria e arte.

Tutto dipende da come la si guarda.

Ma perché è importante. Dopo tutto, cosa c'è in un nome?


3
Sfortunatamente, molto. Un nome come identificatore non significa molto, ma se dico "geek" a mio padre, lui pensa "grossolano", mentre se dico se ai miei amici, pensano "genio del computer". Un nome evoca un'immagine nella mente dell'ascoltatore e vuoi che quell'immagine sia accurata.
Michael K,

@Michael - Uhmm, non era esattamente questo il mio punto.
Rook,

1

La prossima volta che qualcuno tenta di attirarti sull'argomento, chiedi loro i seguenti lavori:

  • Ingegnere della locomotiva
  • Ingegnere di volo
  • Ingegnere audio

Nessuna di queste posizioni ha molto a che fare con l'ingegneria elettrica / meccanica / civile.


1
Ma in realtà quelle persone non sono ingegneri professionisti (PE) e quindi non sono davvero ingegneri.
Vitor Py,

@Vitor Esattamente il punto, poiché solo alcuni programmatori sono ingegneri reali (certificati).
Brian Knoblauch,

1

Personalmente penso che siamo ingegneri, intendo ... Potrei essere solo un programmatore, ma sto ancora creando e ingegnerizzando software mentre modifico il codice per adattarlo, ecc.

Comunque per me è solo un nome, sono stato chiamato un ingegnere nel mio lavoro e sono stato chiamato solo un programmatore, ma in entrambi i casi è praticamente la stessa cosa.


1

L'ingegneria del software è ingegneria.

Tuttavia, la maggior parte delle persone che si definiscono ingegneri del software non sono ingegneri. Molti di quelli che non lo sono sono programmatori e programmatori che non seguono necessariamente un processo di ingegneria. Nulla di sbagliato in quanto a) la codifica è fondamentale per l'ingegneria del software e 2) è una scienza a sé stante. Ma avere un processo di ingegneria è fondamentale per essere e lavorare come ingegneria. Questo è un gruppo.

L'altro gruppo, purtroppo piuttosto ampio, non sono programmatori / programmatori. Sono solo hack, codici scimmie che lanciano merda ai loro monitor e vendono qualsiasi bastoncino (citato da qualche parte, non ricordo dove.) Un collettivo di muti.

L'influenza del gruppo successivo è nefasta, velenosa ed esilarante (in un modo un po 'umoristico nero) ed è per questo che gli ingegneri di altre discipline (erroneamente) sogghignano al concetto di ingegneria del software, o pensano che l'ingegneria del software e l'informatica siano tutt'altro che codifica (e tramite la codifica, la codifica degli spaghetti.)

In sintesi: esiste una percezione negativa dell'ingegneria del software tra molte altre discipline consolidate. Questa è un'ipotesi sbagliata.

Ma quell'ipotesi sbagliata deriva dalla vera osservazione che molte persone che si definiscono ingegneri del software sono a dir poco tristi caricature di scimmie lobotomizzate che bussano alle tastiere nella speranza che, per qualche casualità, finiscano per scrivere il TAOCP di Knuth.

ps ... la mia ipotesi è che il matematico nella tua storia sia solo ferito al culo. Aveva quella merda nel profondo del petto perché Dio sa quanto tempo, e tu eri semplicemente il primo sbocco a lasciarlo uscire allo scoperto.


-1

Poiché lo sviluppo del software è relativamente molto giovane e si sta evolvendo molto rapidamente, i confini tra tecnico- software , ingegnere e scienziato non sono ben determinati / molto sfocati.


1
Lo sviluppo del software non è IT. L'IT è una disciplina focalizzata sulla configurazione e il mantenimento della proprietà intellettuale (IP) esistente. Lo sviluppo del software è una disciplina focalizzata sulla creazione di nuovi IP in risposta a un'esigenza. L'acronimo IT non è entrato nel nostro lessico fino a quando la convergenza dei sistemi informatici e di comunicazione non ha creato la necessità di un ombrello sotto il quale raggruppare più tipi di personale operativo tecnicamente addestrato. Se si lavora nell'infrastruttura, si lavora nell'IT. Se si lavora nello sviluppo di software eseguendo lavori orientati al progetto, non si è nell'IT.
bit-twiddler

Risolto, errore mio.
Gipsy King,
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.