C'è uno stress più strong sulla gestione rispetto all'istruzione tecnica negli ultimi anni? [chiuso]

2

Nel mio ambiente di lavoro, negli ultimi anni ho notato un crescente stress per la gestione degli sviluppatori e l'autogestione rispetto all'istruzione tecnica.

Ad esempio, durante il lavoro sento molte discussioni sui processi di sviluppo del software, sui modi per gestire le specifiche del software, ad es. attraverso test automatici e così via. Ho sentito meno discussioni sulla programmazione di concetti / tecniche come strutture dati, valutazione lazy, memoization e così via.

Per fare un altro esempio, se chiedessi a un collega come gestirebbe la complessità di un certo problema, mi aspetterei che mi indicasse un approccio risolutivo (prova prima a risolvere un sottoproblema, identifica le sottoattività) invece di suggerire un'astrazione di programmazione (prova a usare il pattern X).

È solo qualcosa di specifico nel mio ambiente di lavoro o c'è una tendenza generale verso la gestione / organizzazione del lavoro e lontano dagli aspetti più concettuali della programmazione?

Per rendere la mia domanda specifica (e comprensibile), ci sono autori o scuole di pensiero moderne che considerano gli aspetti organizzativi più importanti di quelli educativi per migliorare la produttività degli sviluppatori?

    
posta Giorgio 22.12.2014 - 21:42
fonte

4 risposte

4

Se per "anni recenti" intendi gli ultimi 22 allora sì, perché è tutta l'esperienza che devo seguire. Concentrarsi su aspetti gestionali / orientati al processo dei progetti software è stato davvero alto sin da quando ho iniziato a lavorare sul campo. Se intendi solo gli ultimi 4 o 5, allora assolutamente no.

    
risposta data 22.12.2014 - 23:45
fonte
4

Credo che sia l'effetto di due cose:

  • Molti programmatori non fanno parte della "comunità". Non leggono i blog, non frequentano SO, non guardano i discorsi, ecc. Ciò significa che non hanno alcuna esposizione alle nuove tecniche e ai paradigmi superiori a quanto hanno imparato a scuola. E loro non vogliono.
  • D'altro canto, i manager vogliono almeno imparare cose nuove. Vogliono apprendere nuovi processi e metodologie. È solo che preferiscono imparare la parte gestionale invece della parte tecnica.

Caso in questione: mischia. Scrum è principalmente una metodologia di gestione. Non parla di TDD, pair programming, refactoring, ecc. Sono soprattutto i manager che prendono le certificazioni "Scrum Master". Confrontalo con Extreme Programming, che è stato realizzato dagli sviluppatori per sviluppatori e contiene sia aspetti gestionali che tecnici. Si può dire che Scrum è solo un sottoinsieme di gestione di Extreme Programming.

E alla fine, sono ancora i manager che hanno l'ultimo mondo. Non sviluppatori. Quindi, quando si tratta di risolvere i problemi, è la soluzione di gestione che viene scelta. E questo fa semplicemente credere agli sviluppatori che quelle soluzioni siano quelle giuste.

    
risposta data 23.12.2014 - 08:57
fonte
3

Fa parte di un generale risveglio (o maturazione) dell'ingegneria del software.

Puoi leggere questo processo di maturazione in No Silver Bullet . Sebbene sia stato scritto diversi decenni fa, le sue osservazioni sono ancora vere oggi. In diversi momenti della storia, vari paradigmi di programmazione, tecniche, metodologie o stili di gestione sono stati salutati come il "proiettile d'argento" nel senso che può risolvere tutti i problemi.

Un giro più commerciale su questo "no silver bullet" è noto come Hype Cycle . Questa è una tesi presentata dalla società di consulenza Gartner per spiegare lo sviluppo, la maturità e lo stato di adozione di alcune tecnologie o metodologie, cioè varie cose che erano state salutate come le pallottole d'argento nel passato.

Due esempi di punti in cui i proiettili d'argento non funzionano:

(1)

Un paradigma di programmazione è ampiamente propagandato come in grado di risolvere un particolare tipo di requisiti software, perché teoricamente il codice sorgente scritto con questo paradigma aveva determinate proprietà e queste proprietà renderanno molto facile soddisfare il suddetto tipo di requisiti software.

Non funzionerà se in realtà non esiste un software che faccia uso di questo paradigma per risolvere questo tipo di requisiti software. Ciò che la teoria prevede dovrebbe esistere, potrebbe non esistere nel mondo reale, a meno che una o più aziende non riescano a realizzarlo.

(2)

Un'architettura software è ampiamente propagandata come dotata di determinate caratteristiche desiderabili per un determinato settore.

Una società tenta di utilizzare questa architettura software per questo settore, ma deve affrontare un problema: questa azienda ha una grande base di codice esistente e questo codice esistente non sembra essere compatibile o portabile a questa nuova architettura software.

Un proiettile d'argento che sembra funzionare in tutto il settore potrebbe non essere adatto per alcune società particolari a causa di circostanze individuali.

    
risposta data 22.12.2014 - 21:50
fonte
-4

Prova a pensare in livelli, ad esempio, supponiamo TCP / IP: se ti trovi sul livello fisico devi imparare la 'lingua' dei livelli superiori:))

Un programmatore non dovrebbe BISOGNO imparare la Gestione più di un GESTORE dovrebbe imparare la Programmazione: in altre parole, finché hai un'idea di cosa c'è oltre la recinzione stai bene ...

La prossima cosa riguarda i metodi / standard / framework, che sono le guide GENERALI: dovrebbero essere adottati e ADATTATI come adatti a qualsiasi situazione PARTICOLARE. Infine, lo sviluppo del software essendo un'attività umana è incline a FASHION come qualsiasi altra attività: la tendenza odierna è AGILE / Scrum / Kanban! [Invece di gestione "a cascata", semplicemente perché in molti casi sembra più economico (non sempre) ... e come qualsiasi altro metodo funziona se applicato correttamente dalle persone giuste ... Altrimenti, per favore prendilo da qualcuno che ha visto fallendo, può esaurire le risorse più velocemente della luce.]

Per riprendere quanto sopra, la risposta alla tua domanda è un'altra domanda: il tuo (qualsiasi) amministratore delegato (se non di un background di programmazione) impari più velocemente sulla programmazione o sulla gestione e la moda?

Il mio approccio personale a quanto sopra: apprendimento continuo ...

    
risposta data 03.01.2015 - 23:03
fonte

Leggi altre domande sui tag