Il software paga più dell’hardware per l’ingegneria informatica?

La fallacia dello stipendio.

L'ho già scritto in passato.

Si dovrebbe vedere il mondo a strati, un po' come il modello OSI (OSI model - Wikipedia), il modello Open System Interconnect.

Il livello più basso è l'hardware.

Sopra c'è il software.

È l'argomento del mio spazio Quora (acceleratori HW che mangiano AI).

Facciamo un esempio, progettiamo una CPU (Ryzen, Xeon, Epyc, Core ix).

Oggi, nei 7nm, c'è bisogno di progettisti di ASIC, architetti, ingegneri di verifica, gente del firmware, validazione del silicio, DFT e ingegneri di test, ...

In una grande azienda, alcune centinaia di persone vengono coinvolte nella grossolana di questo progetto.

Sulla CPU, c'è un sistema operativo e dei driver.

Nelle CPU general purpose come Ryzen e Core ix, ci sono diversi sistemi operativi.

Sul SO, ci sono diverse applicazioni che girano sopra di esso.

Per le poche centinaia di persone che sono coinvolte nella progettazione della CPU, ci sono centinaia di migliaia o qualche milione di persone che si occupano di software, dal livello del sistema operativo a quello delle applicazioni.

Visione semplificata, lo ammetto, ma il quadro è chiaro.

Nel software, generalmente parlando, i bug sono un fatto accettato della vita.

Patches, aggiornamenti, zero day flaws, Bill Gates ci ha abituati nel corso di due decenni.

Ci sono aziende che sono ancora in grado di essere grandi e mantenere regole severe perché hanno bisogno di scalare, mi viene in mente Google.

Questo non significa che scrivano codice senza bug.

Ma a livello di chip, un set di maschere è fisso.

Se c'è un bug nell'esecuzione di questa istruzione mentre si recuperano quei dati da questo intervallo di indirizzi, questo può essere mortale per un'azienda.

Non stiamo parlando di sicurezza qui, stiamo parlando di bug nell'hardware che impediscono al software di eseguire certi codici.

Il chip deve essere progettato e verificato in modo che il rischio di un bug maggiore sia ridotto quasi a zero.

E che il rischio di un bug minore sia basso, molto basso.

Perché tutti i livelli precedenti sono influenzati.

L'hardware è la base su cui il software costruisce.

Eccellenti risorse software sono difficili da trovare, così il mondo si è accontentato della regola empirica di Gates, "good enough".

Basta buttarci sopra più risorse ma meno costose.

Siccome il pool di risorse software è molto più grande del pool di risorse hardware, i problemi del software sono peggiori nell'hardware.

Chi può individuare un ingegnere software eccezionale?

Chi può individuare un ingegnere hardware eccezionale?

La conoscenza dell'hardware non è così indulgente per i bug nel silicio.

Nell'hardware, si accontentano di basso costo, alta quantità.

Ma dieci atleti non fanno un campione olimpico.

La quantità rende la maggior parte dei progetti di grandi chip stressanti, estremamente inefficienti e frustranti.

E a livello di PCB, di schede madri, è simile.

Il design hardware è buono per una cosa, per capire le basi.

Ma non è una carriera, né lo stipendio la rende utile.

La maggior parte degli ingegneri ASIC inizia nel settore e lo lascia dopo 5 o 10 anni.

Perché?

Perché un designer di siti web lavora da casa e si guadagna da vivere, ha una grande flessibilità, non deve rimandare le vacanze o avere a che fare con potenziali disastri in un set di maschere di silicio da 1 milione di dollari.

Il design delle applicazioni ha bisogno di una specie di laptop o desktop e si è pronti a partire.

Lavoro da casa, grande richiesta, flessibilità.

Responsabilità, background, esperienza, livello di stress quasi inesistente rispetto a un system on chip da 7nm con un budget di qualche centinaio di milioni di USD.

The world works that way.

Like Ohm’s law, the path of least resistance.

Nobody is going to win against Ohm’s law.

My answer wants to explain Ohm’s law, so you know the rules of the game, how it is played.

Digital VLSI design and methodology is my passion, but it is a hobby.

It gives insight in opportunities and how things are evolving in high-tech.

But the opportunities lie in the big markets, all things software.

The game is not about what you like to do, it is about what is the biggest market with the lowest requirements.

That is the smart thing to do, that is how the game is played.

The stoic says: observe.

Never attach a label of good or bad.

Observe, understand the game and play once you understand the rules.

Older answers that might be of interest:

https://www.quora.com/q/lusocxepxzcqvagw/Why-salary-should-never-be-important-for-an-employee

Bert Verrycken's answer to How do frequent job hoppers answer the interview question "Why did you quit your last job"?