Perché Facebook è pieno di bug?
Senza conoscere Facebook nello specifico, mantenere un grande e complesso sito web in esecuzione è un compito abbastanza complicato, soprattutto per le aziende quotate in borsa che sono soggette alle regole generatrici di burocrazia della Sarbanes-Oxley. Mantenerli in funzione e completamente debuggati? Probabilmente un ponte troppo lontano.
Detto questo, c'è un pregiudizio estremamente pesante nella Silicon Valley contro l'assunzione di programmatori più anziani ed esperti. L'obiettivo è quello di assumere giovani ingegneri relativamente poco costosi mentre sono single e non hanno gli impegni di vita che hanno le persone più anziane. In questo modo si può lavorare giorno e notte (cibo gratis! ping pong!), che nella mente delle persone che prendono questo tipo di decisioni dà loro il miglior "bang for their buck" per così dire.
Il problema con questo atteggiamento è che non è proprio vero. Gli ingegneri più giovani commettono errori, si ubriacano durante la notte e vengono al lavoro con i postumi, escono presto il venerdì per incontrare i loro amici per l'happy hour, ecc. Nel frattempo, non hanno l'esperienza degli ingegneri più anziani che hanno affrontato innumerevoli problemi nel corso degli anni e hanno passato molti anni ad imparare il loro mestiere. Gli ingegneri più anziani, nel frattempo, non sono così facili da corrompere con cibo gratis e l'ora della birra del venerdì. Chiedono migliori condizioni di lavoro, più compensazione, equità, ecc, tutto ciò è visto come uno spreco di denaro (che altrimenti andrebbe ai dirigenti e agli azionisti).
Realisticamente, però, posti come Facebook sono organizzazioni così grandi che potrebbero non essere in grado di assumere abbastanza ingegneri anziani per riempire tutti i ruoli senior che hanno aperto, o potrebbero essere alla ricerca di tipi specifici di istruzione/esperienza che molti ingegneri anziani non hanno. Non è un problema facile da risolvere su scala.
Pensaci in un altro modo. Ho costruito applicazioni basate sul web più o meno da quando c'era un web per cui costruire applicazioni. Avrei potuto ottenere una laurea in ingegneria in undegrad, ma Internet era ancora confinato solo al mondo accademico quando ero al college, e non mi vedevo a scrivere giochi in Assembler per vivere. Conoscevo alcune persone che programmavano in LISP, e quella sembrava la cosa più interessante all'epoca, ma è stato solo intorno al 1998/99 e alla bolla dot com che CS è diventata una specializzazione popolare.
La maggior parte degli ingegneri che hanno costruito il primo Internet sono persone come me che non sono andate a scuola di CS ma hanno sia una buona educazione, sia una profonda conoscenza storica del Web, sia decenni di esperienza nel costruire software. Queste cose non sono apparentemente apprezzate quanto la capacità di invertire un albero binario su una lavagna bianca, però, così Facebook ha per lo più ingegneri ventenni e un sacco di bug come risultato.
Articoli simili
- Quali sono gli orari per postare su Facebook e perché Facebook non permette di ritardare i post su Facebook per un determinato periodo?
- Qualcuno senza un account Facebook può guardare Facebook Live? Potrebbero semplicemente usare il link ad una pagina Facebook?
- Perché i bug di clipping sono ancora così comuni nei videogiochi?
- Perché il mio serbatoio di propano sembra pieno ma non ha gas?