Come mai c'è ancora tanto lavoro di programmazione? [chiuso]


28

Mi chiedo perché i lavori di programmazione non siano ancora "prosciugati" a causa dell'evoluzione del software. Ad esempio, io stesso sono uno sviluppatore, il che significa che mi interessa il software (voglio dire che non sono del tipo di ragazzi che hanno bisogno di un computer principalmente per navigare in Internet), e comunque non mi dispiacerebbe se non lo facessi mai ricevere ulteriori aggiornamenti sulla mia macchina Ubuntu .

Trovo che fornisca tutto ciò di cui ho bisogno e mentre gli aggiornamenti forniscono varie correzioni / miglioramenti, non mi dispiacerebbe usarlo con il suo stato attuale per il resto della mia vita. Per due anni di utilizzo di Ubuntu non mi sono mai imbattuto in un grave bug / problema.

Un altro esempio è Windows. Quasi la metà dei suoi utenti utilizza ancora Windows XP, che è praticamente antico, ma lo trova soddisfacente per tutte le sue esigenze (e sono d'accordo con loro).

Potrei fare molti altri esempi, ma ormai capisci il mio punto e la mia domanda. Mentre le nuove "tendenze" appaiono continuamente (come un nuovo sistema operativo mobile) che gira su nuove piattaforme e richiede un nuovo lavoro di sviluppo, la maggior parte degli sforzi del software passa a quelli che considero "progetti completati", oppure a almeno uno stato di un progetto che è sufficiente per essere considerato completato.

Hai una spiegazione?


4
Pensavo che Facebook e i telefoni cellulari fossero inutili :) e lo faccio ancora. A proposito, penso che il motivo sia che gli umani si annoiano facilmente. Tu, a proposito, non sei umano.
Giobbe

9
Perché quegli utenti di XP che usano 286s con DOS ??
Edward Strange,

3
@Crazy Eddie C'è una GRANDE differenza tra un 286 e un dual / quad core a 2,5 GHz. Questa differenza è lo stato "completato". La differenza tra un quad core a 2,5 e un 32 core a 6 GHz è irrilevante. Non hai bisogno (non avrai un uso pratico) di un'auto che può arrivare fino a 2000 mph
jd_505

4
No, non importa se la tua auto può arrivare a 1000.2000 o più miglia orarie, non troverai ancora un modo (una strada) per sfruttare appieno il suo potenziale
jd_505

4
@ jd_505, solo perché non puoi immaginarlo, non significa che sia inutile.

Risposte:


33

Ci sono miliardi di problemi incompiuti nel mondo. Per non parlare dell'avidità umana che ha bisogno di nuovi strumenti per saziare la sua fantasia ogni giorno.

Se pensi davvero che non siano rimasti problemi in sospeso, prova a risolvere alcuni di questi:

  1. Software per aiutare le persone a comunicare su larga scala quando i governi ostili disattivano le reti di telecomunicazione.
  2. Software per il sistema di distribuzione di generi alimentari e altri elementi essenziali che collega intrinsecamente le perdite di sistema in paesi come l'India e l' Uganda .
  3. Software che rende le persone diversamente abili godono di una qualità di vita molto migliore.

Spero che questo ti dia una prospettiva.


1
Il punto 1 può essere risolto solo con l'hardware.
Thomas Stock,

2
Il software potrebbe essere di qualche aiuto per i "diversamente abili", ma non molto, temo. Sono un sopravvissuto alla poliomielite e la cosa principale che il software ha fatto per me è darmi un'occupazione che posso fare a casa.
Mike Dunlavey,

1
@Thomas: senza abilitare il software il silicio non fa differenza. Hai già l'hardware qui, ma il software ha bisogno di molto lavoro una volta scelto chi dovrebbe servire.
Fanatic23,

@ Mike: sintesi vocale per i non vedenti?
Fanatic23,

26

Come contro-esempio, porta il negozio di fiori in strada. La loro esperienza con il software potrebbe essere simile a:

  • Installa alcuni software di contabilità - molto meglio dei registri di carta
  • Imposta l'email aziendale
  • Crea un piccolo sito web di brochure poiché lo sono tutti gli altri
  • Aggiungi un sistema POS
  • Aggiungi un semplice modulo di ordinazione clienti al sito web
  • Acquista un semplice strumento CRM per gestire i clienti aziendali
  • Integrazione con le reti di vendita nazionali e globali per accettare le vendite che non provengono dal tuo sito
  • Integra email aziendale e CRM
  • Aggiungi strumenti di ordinazione speciali per clienti abituali online
  • Pubblicizza online i driver di consegna
  • Ottieni fiori più economici accettando di utilizzare un software di ordinazione per distributori
  • Ottieni benefici per i dipendenti più economici gestendo i benefici online
  • Richiedi online i permessi governativi richiesti
  • Esegui semplici controlli in background per i nuovi dipendenti con strumenti software
  • Chiedi a un consulente di costruire un ponte tra il tuo sistema di inventario e il distributore in modo che gli ordini settimanali vengano effettuati automaticamente
  • Paga le tasse elettronicamente
  • Aggiungi dispositivi GPS ai tuoi veicoli di consegna che possono essere monitorati dall'ufficio.
  • Utilizzare il software di mapping / routing per progettare percorsi ottimali per la consegna
  • Sfoglia i dati del settore per assicurarti di avere le prestazioni previste
  • Aggiungi il monitoraggio del pacchetto agli strumenti online per i clienti
  • Diffondi la tua presenza sul web utilizzando i social network e i siti di classificazione
  • Offri una piccola app mobile gratuita per ordinare e controllare lo stato dell'ordine (principalmente per i grandi clienti).
  • Gestisci i programmi di ricompensa per i tuoi clienti più fedeli con il software
  • Integra contabilità, inventario, ordini dei clienti, tracciabilità degli ordini e ordini dei distributori
  • Acquisisci nuovi clienti con le promozioni Groupon
  • Aggiorna tutti questi sistemi quando necessario

Per un business così semplice, è una tecnologia tremenda e nessuna sembra troppo ridicola oggi (dubito che il piccolo negozio di fiori in strada stia facendo tutto questo, ma sono sicuro che saremmo sorpresi). Qualcuno deve costruire tutto quel software.

Dubito che il negozio di fiori avrebbe potuto prevedere che avrebbero avuto bisogno di tanta tecnologia, proprio come non possiamo prevedere la tecnologia che sarà disponibile domani.


12

Perché le case automobilistiche cercano di migliorare il loro design quando qualsiasi veicolo dell'ultimo decennio sarebbe sufficiente? Perché una caffetteria dovrebbe cercare nuovi arrosti quando la loro miscela attuale è già soddisfacente? Perché uno stilista dovrebbe creare nuovi vestiti quando quello che indossiamo è più che sufficiente?

Mentre ci potrebbe essere abbastanza buono , non c'è meglio --- solo meglio

E chiunque sia orgoglioso del suo lavoro cerca sempre di migliorare, di affinare gli strumenti, di cercare la perfezione. Questo è ciò che guida il progresso scientifico, questo è ciò che ispira gli artisti, questo è ciò che motiva gli imprenditori. Niente di meglio, solo meglio.


1
Concordo sulla parte del miglioramento, ma hai una spiegazione sul perché la domanda sta effettivamente aumentando (sono necessarie più persone), considerando che siamo già allo stato "buono" (che è la percentuale maggiore del prodotto), e abbiamo bisogno solo di alcuni miglioramenti? È più impegnativo creare un design automobilistico rispetto ad apportare solo alcune modifiche tra il modello 2008 e il 2009. Potrebbe essere a causa del codice legacy, perché più sono grandi, più è difficile aggiornarli / mantenerli? :)
jd_505,

@jd Eravamo in buono stato prima di Facebook? Prima di Google? C'è sempre qualcosa di nuovo che può essere creato. E hai ragione sul fatto che è necessaria molta manutenzione anche per il software, anche se vedo quei lavori come un temporaneo fallback quando gli obiettivi di carriera più ambiziosi colpiscono.
Chrisaycock,

11

Le persone continuano a pensare a nuove cose da fare con i computer e l'hardware continua a evolversi per consentirti di fare cose che prima non potevi fare.

È difficile sapere da dove cominciare, ma prendiamo ad esempio la visione della TV.

Nell'ottobre 1965, se volevi guardare "I Dream of Jeannie", dovevi accendere la stazione giusta, al momento giusto. Non c'erano altre opzioni: non era possibile registrarlo o acquistarlo o altro. E se te lo sei perso, beh, peccato. Forse tra qualche anno, lo avrebbero sindacato e (se tu fossi fortunato) potresti vedere lo spettacolo che ti sei perso qualche volta nel 1970.

Oh, e nel 1965, nessuno aveva un computer tranne le corporazioni e le università, di solito erano grandi almeno quanto una piccola macchina, e coinvolgere un computer nella riproduzione TV era puramente una nozione di fantascienza.

Entro il 1996, potevi acquistare episodi di "I Dream of Jeannie" su VHS, che potevi quindi riprodurre su un lettore VHS che potrebbe avere una CPU integrata e una TV CRT che potrebbe anche avere una CPU integrata, che ovviamente qualcuno doveva programma . C'erano dispositivi che potevi usare per catturare l'output video dal tuo VHS sul tuo computer, ma la potenza hardware di livello consumer all'epoca era così bassa che potresti risucchiare un grosso pezzo di un disco rigido all'avanguardia con un episodio, quindi è possibile riprodurlo solo in una piccola finestra sullo schermo.

Nel 2006, hanno iniziato a pubblicare episodi "I Dream of Jeannie" su DVD. Quando li hai riprodotti, il tuo lettore DVD e la TV a schermo piatto richiedevano entrambi una CPU integrata, che entrambi dovevano programmare . O, naturalmente, potresti riprodurre il DVD sul tuo computer, che qualcuno ha dovuto programmare per farlo.

Poco dopo il rilascio dei DVD, le persone hanno iniziato a strappare i DVD utilizzando il software di DVD ripping che qualcuno doveva programmare . E poi hanno modificato i rip in clip (usando un software di editing video non lineare che qualcuno doveva programmare ) e hanno usato i loro browser (che qualcuno doveva programmare ) per caricare i loro video su YouTube (che qualcuno doveva programmare ) per altre persone per visualizzare nei plug-in del browser di riproduzione video (che qualcuno doveva programmare ).

Ora, non devi nemmeno strappare i DVD! Puoi utilizzare iTunes (che qualcuno doveva programmare ) e andare su iTunes Store (che qualcuno doveva programmare ) e acquistare e scaricare 140 episodi diversi di "I Dream of Jeannie", che puoi riprodurre utilizzando il software sul tuo computer ( che qualcuno ha dovuto programmare )

Anche se non l'ho verificato, sospetto fortemente che potresti anche prendere quelle versioni iTunes di "I Dream of Jeannie" e riprodurle sul tuo iPhone o iPod Touch, che, ovviamente ... qualcuno ha dovuto programmare .

E non ho assolutamente idea di dove "I Dream of Jeannie" si presenterà dopo. Forse sul mio orologio da polso, o su una specie di tessuto indossabile, o proiettato sulle lenti dei miei occhiali. Ma ovunque si presenti, qualcuno dovrà programmarlo .

App di Office? Meh. Sarei perfettamente felice di usare Word 5.1 dei primi anni '90.

Ma tutto il resto? Ho programmato per 40 anni e mi aspetto che il mercato dei lavori di programmazione continui a crescere e crescere.


6

Perché la nostra fame infinita di merde inutili che già abbiamo deve essere saziata.

Inoltre, senza l'industria del software che guida la necessità di computer sempre più veloci non ci sarebbe bisogno di fare aggiornamenti hardware. Quindi dove saremmo? Cosa farebbero tutte quelle città di riciclaggio dei rifiuti elettronici in Cina? Le montagne di rifiuti tossici si trasformerebbero presto in nient'altro che colline. Semplicemente non possiamo averlo.


"industria del software che guida la necessità di computer sempre più veloci" - industria del software? Ehm no, la richiesta è della gente
Rocklan,

5

Ubuntu e Windows XP sono ancora sufficienti perché i sistemi operativi e il software desktop in generale sono diventati meno importanti. Tante cose, cose che non vorremmo perdere, accadono sul web, come questo sito, Facebook e YouTube . Ecco dove viene costruito il nuovo software. Molte cose interessanti accadono su smartphone e tablet, un altro dominio in cui avviene molta programmazione.


2

Nel tuo post, menzioni due sistemi operativi (Ubuntu e Windows XP), affermando che i loro utenti sono prevalentemente soddisfatti della forma attuale del sistema operativo.

Ubuntu e Windows XP sono il risultato del culmine di migliaia di idee.

Molte delle idee (se posizionare il menu Start nell'angolo in basso a sinistra dello schermo o progettare Microsoft Excel) sono state sviluppate in modo così approfondito. Sì, è vero che potrebbero aver raggiunto lo stato soddisfacente, ma pensa a ciò che il nostro attuale software e le idee di ingegneria del software porteranno in futuro.

I nostri bisogni e desideri si stanno evolvendo con la tecnologia. Vogliamo sfruttare la tecnologia al suo pieno potenziale . Ubuntu e Windows Xp sono solo un semplice trampolino di lancio (o pietra miliare) in un processo in corso.


2

Per applicazioni e sistemi che le persone usano effettivamente:

Il software genera più software.

Nella forma di:

  • Nuove caratteristiche
  • Correzioni di bug
  • Aziende e applicazioni concorrenti

2

Gli sviluppatori per applicazioni mobili e sociali sembrano essere molto richiesti. Le startup sono ovunque e per Ubuntu e OS ci sono sempre dei bug: niente è completo. Finché qualcuno ha un'idea, avrà bisogno di uno sviluppatore.


2
Penso che la percentuale di sviluppatori che lavorano su app mobili / social sia piuttosto piccola. La maggior parte degli sviluppatori, su scala globale, sta lavorando per grandi aziende o piccole "locali" dedite a un determinato prodotto legato alla situazione commerciale del loro paese.
jd_505,

1

18 anni fa ero seduto davanti al nuovo computer 286 della mia scuola nella biblioteca usando Windows 3.1. È stato bello! Molto meglio dei vecchi microfoni della BBC ... Ma ero completamente ignaro di ciò che sarei seduto di fronte a 18 anni da allora, chi avrebbe avuto la minima idea di cosa avremmo usato oggi? Non penso nemmeno di sapere cosa fosse Internet allora ...

Il mio punto è che non credo che molti di noi abbiano la visione o l'immaginazione di indovinare come saranno i computer tra 18 anni. I computer si stanno evolvendo e stanno migliorando continuamente, necessitando di uno sviluppo costante per realizzarlo.

Al momento PENSI di essere felice con Ubuntu, ma lo userai ancora tra 10 o 20 anni quando tutti gli altri useranno il loro nuovo super Hokey Cokey 5000 o come si chiamerà?


1

I problemi possono avere soluzioni, ma c'è sempre spazio per ottimizzare le soluzioni. Quanto più viene utilizzata la soluzione, tanto più una differenza che può fare anche una piccola ottimizzazione.

Questo può sembrare un punto astratto. Ma non è. Per esempio una delle mie qualifiche è test A / B . Posso dirti per esperienza che un test A / B di successo molto raramente introduce nuove importanti funzionalità. Ma una piccola modifica della formulazione può causare l'iscrizione del 10% in più di persone al tuo sito Web, il che può significare milioni di dollari di entrate aggiuntive. È una differenza così piccola che pochi se ne accorgeranno mai. Tuttavia, si tratta di un miglioramento significativo e la prospettiva di trovarlo potrebbe pagare molti stipendi.

Inoltre, le aziende cambiano costantemente. Un numero sorprendente di modifiche richiede modifiche al modo in cui operano internamente. Inoltre, nel tempo identificano le inefficienze interne che potrebbero alleviare strumenti migliori. Questo costante cambiamento e ottimizzazione è un vero lavoro che richiede persone reali per farlo. Molto di quel lavoro deve essere svolto da persone in grado di programmare. (Questo è in realtà il luogo in cui viene impiegata la maggior parte dei programmatori, facendo cose interne alle aziende.)

Inoltre, la tendenza è che nel tempo è diventato più facile per i programmatori svolgere il nostro lavoro. Più è facile per noi fare il nostro lavoro, più tipi di cose ci sono che ha senso che i programmatori scrivano programmi da fare. E più programmatori ci troviamo di cui abbiamo bisogno. Quanto può essere sostenuta questa tendenza? Non lo so. Ma è andato avanti dalla fine degli anni '50 e non mostra segni di rallentamento.


1

La quantità di informazioni là fuori cresce esponenzialmente. Potresti aspettarti strumenti per raccoglierlo e organizzarlo, ora puoi aspettarti che gli strumenti lo filtrino per le tue esigenze specifiche.

Il software segue le tendenze e le esigenze sociali e, man mano che l'informazione sta diventando sempre più un fattore sociale e industriale, la domanda non diminuirà. Le forme di informazione sono innumerevoli, i suoi usi si espandono costantemente, lo sviluppo del software è molto lontano dall'estinzione.


1

Potresti interpretare lo scopo dei computer (e delle applicazioni in esecuzione su di essi) a qualcosa di così stretto come i processi di ottimizzazione.
In questo modo, vedrai, c'è molto margine di miglioramento e ci sarà sempre.

Inoltre, la stragrande maggioranza di tutte le applicazioni informatiche è orribile, quando si tratta di usabilità, affidabilità, funzionalità e prestazioni (o almeno su una serie di dimensioni). Mentre ci sono poche applicazioni, che stanno lentamente migliorando in termini di qualità, la media sta precipitando a un ritmo allarmante.
Un altro motivo, perché c'è ancora tanto lavoro di programmazione è la cattiva progettazione e l'implementazione scadente . Jeff Atwood ha pubblicato un post su questo che potresti trovare degno di lettura.


1

Il software ci consente solo di esprimere soluzioni ai problemi del mondo reale. Dato che ci saranno sempre nuovi problemi da risolvere, ci sarà sempre la necessità di nuovi software e quindi ci sarà sempre lavoro per gli sviluppatori.


1

Per quanto mi riguarda, non abbiamo finito fino a quando non saremo in grado di realizzare uno di questi .

Ma più seriamente, ci sono molti problemi in corso nell'informatica che non sono ancora risolti o che non sono abbastanza vicini al "bene". Queste cose includono il riconoscimento delle immagini, l'elaborazione del linguaggio naturale, il riconoscimento vocale e molti altri problemi di tipo "riconoscimento del modello sfocato" in cui gli umani di solito eccellono ma le macchine falliscono male. Lo stato dell'IA è piuttosto patetico, rispetto alle ambizioni degli anni '60. Tutto sommato, c'è ancora un bel po 'di lavoro da fare e un sacco di spazio per migliorare.

A proposito, anche Ubuntu potrebbe usare qualche miglioramento. Supporto flash su succhia 64-bit.


1

Immagino di vederlo in termini evolutivi. Se la società fosse statica alla fine scopriremmo come soddisfare i nostri bisogni reali, e ciò andrebbe bene.

Ciò che guida l'evoluzione sono le sfide, spesso sfide molto brutte, come la natura o le persone cattive che decidono di voler prendere ciò che abbiamo e / o ucciderci. Dobbiamo pensare a nuovi modi per superare questo. Ciò genera una richiesta di nuove tecnologie, incluso il software. Il desiderio di intrattenimento crea anche una richiesta insaziabile, testimone di tutto, dal circo romano ai media moderni, ma è solo per divertimento. Le vere sfide derivano da cose come la fame e il pericolo.


1

Il problema con il software è che continuerà ad evolversi con e oltre l'hardware su cui opera. Attualmente stiamo solo scrivendo un software che è ... preprogrammato ad un certo livello e questo sarà ancora molti anni prima che gli umani nella maggioranza scrivano software "AI".

Quando guardi qualcosa come Google rispetto a qualcosa come il software utilizzato per gestire un'interfaccia touchscreen in un veicolo, puoi vedere così tanti vuoti nella tecnologia.

Fino a quando non avremo un software in grado di espandersi e svilupparsi in un mondo fisico e intelligente in continua evoluzione .. Avremo molto lavoro da fare ...

Modificato .. Quando arriva una nuova tecnologia o concetto, molti software esistenti sono immediatamente obsoleti e la maggior parte di quel genere deve essere ricreata / pubblicata. Diciamo che tra due anni facciamo il grande passo avanti con l'uso di un computer mediante l'interfaccia mente / pensiero.

Anche se puoi creare un semplice plugin per la maggior parte dei sistemi operativi per tradurre un pensiero / comando in operazioni da tastiera / mouse .. Questo è ancora limitato e un brutto modo di affrontarlo. La tecnologia avanzerà sempre e non abbiamo idea di cosa sarà disponibile in 12 mesi, da soli 10 anni.

Non si avvia nemmeno su computer quantistici


-1

Ci sono sempre nuove applicazioni, nuovi problemi da risolvere e nuove piattaforme.


1
Lo sto chiedendo perché, dal mio punto di vista, è esattamente il contrario, tutti i problemi (che un utente potrebbe aver bisogno di risolvere usando un computer) sono già risolti. Le nuove applicazioni vengono introdotte raramente (almeno quelle di successo, ad esempio MS Office / OpenOffice sono ancora le migliori soluzioni per la gestione del lavoro "d'ufficio"). Le nuove piattaforme vengono introdotte continuamente, ma catturano una piccola percentuale del totale degli sviluppatori in tutto il mondo.
jd_505,

3
Molti nuovi prodotti software non risolvono i problemi di per sé (Facebook, Farmville, Twitter, ecc.).
James McLeod,

3
E i computer hanno usi che vanno ben oltre il consumatore domestico (industriale, commerciale, medico, ecc.).
James McLeod,

Non sto parlando solo per il consumatore domestico, ad esempio il software di un aeroporto ha ciò di cui ha bisogno (ovviamente gli aerei non si schiantano tutto il giorno) e ce l'ha da molti anni. Ad ogni modo, dato che sto ponendo questa domanda, non sono del tutto sicuro di aver ragione, forse ho torto.
jd_505,

1
@ jd_505, il semplice fatto che gli aerei non cadano dal cielo non significa che il nostro sistema di controllo del traffico aereo e avionico stia facendo tutto il necessario. Questo è solo per evitare il fallimento più grave possibile. Considera: i passeggeri sono rimasti bloccati sugli aerei a terra per quasi 24 ore perché il software di pianificazione non può immediatamente tenere conto dell'effetto dei temporali sulle capacità degli aeroporti. L'11 / 9 l'ATC e le forze armate persero completamente le tracce di uno degli aerei dirottati perché l'unico modo in cui potevano condividere le informazioni era quello di persone che urlavano l'un l'altro durante le teleconferenze.
Charles E. Grant,
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.