Risposta tardiva, ma poiché non ci sono ancora risposte accettate, farò un tentativo. Lo prendo come due domande e cercherò di rispondere a loro separatamente:
In che modo i gestori scelgono i linguaggi di programmazione?
Dipende molto dalle dimensioni dell'organizzazione e dall'esperienza del manager, ma generalmente coinvolgerà la valutazione della situazione attuale e degli scenari e requisiti futuri. Di solito ciò avviene tramite PESTLE o analisi simili, e solo per dare alcuni esempi in ogni categoria:
- Politica
- "Nessuno è stato licenziato per aver acquistato IBM": scelta sicura.
- Il CEO ha sentito che Java è cool - hype.
- Chief Architect ama .NET - progetto pet.
- La lingua è controllata da un concorrente ostile: perché Google non si affida a C #.
- Economico
- Costi di licenza.
- Costo della formazione per sviluppatori
- Costi di migrazione del codice base.
- Sociale
- Buy-in dal team.
- Abilità disponibilità in casa (esigenze di formazione, continuità)
- Disponibilità di competenze sul mercato.
- Minaccia lo status quo esistente all'interno del team di sviluppo.
- Disponibilità di una community di pratica sufficientemente ampia.
- tecnologica
- Miglioramento della produttività
- Miglioramento della qualità.
- Capacità di interoperare con la base di codice esistente.
- Aderenza agli standard.
- Maturità.
- Legale
- Termini di licenza.
- Controllo della tecnologia (Chi possiede e controlla la tecnologia? Qual è la probabilità che la futura strategia di licenza sia?)
- Conformità legale e normativa.
- Ambientale
- Infrastruttura esistente all'interno dell'azienda
- Competenze esistenti all'interno dell'azienda.
- Integrazione con partner esterni
- Livello di supporto tecnologico da un ambiente più ampio.
Quindi un gruppo di lingue che soddisfano i criteri possono essere ulteriormente valutate usando SWOT , costo benefit analysis o simili.
L'intero processo può essere piuttosto complesso, ma come linea di fondo la maggior parte delle aziende o dei team di progetto sceglierà l'opzione più sicura data la loro attuale situazione che può ancora fornire le funzionalità di cui hanno bisogno. Molto spesso potrebbe significare rimanere fedeli alla piattaforma attuale più a lungo.
In che modo un programmatore può aiutare a garantire che venga scelto il linguaggio di programmazione corretto per un progetto
Come è stato, si spera, dimostrato che un tipico programmatore di solito ha solo 1/6 dell'input totale nel processo decisionale. E di regola lei o lui erano interessati principalmente alle sole capacità linguistiche!
Bene, il modo migliore per influenzare la decisione sembra avere un quadro più ampio del processo di selezione, creare alleati all'interno e all'esterno del team, creare una buona sintesi sul lato tecnologico delle cose e cercare di non concentrarsi solo sulle capacità linguistiche .
E, naturalmente, è necessario entrare nella posizione quando un Project o Development Manager (o chiunque altro è in carica) vede i benefici di attraversare l'intero processo di valutazione ed è pronto a considerare i rischi e le incertezze del passaggio in una lingua diversa in primo luogo. Affinché questo accada, è necessario dimostrare che:
- La piattaforma attuale non è più adeguata.
- Una nuova piattaforma promette vantaggi che superano di gran lunga i problemi.
Tuttavia, avresti chiesto "Qual è il modo migliore per essere in grado di utilizzare sul lavoro la lingua che mi piace", la risposta sarebbe stata probabilmente "entrare in una società che già utilizza la lingua o iniziare da sola".