Ci sono due distinte serie di abilità coinvolte nello sviluppo di uno sviluppatore:
- Il Generico relativo a come analizzare, progettare e costruire applicazioni decenti
- Lo specifico relativo al set di strumenti che usi per implementare quelle applicazioni
Ci sono - o certamente sono state - persone che esistono ad un livello di "coder" e il cui skillset è limitato ad una singola lingua ma, penso, progressivamente meno così come ogni programmatore è (o almeno dovrebbe essere) previsto per essere più arrotondati.
Se hai il primo e la possibilità di adattarti a nuove varianti o set di strumenti alternativi, non dovresti avere problemi.
In questo momento io scrivo applicazioni .NET - ho fatto per 8 anni, probabilmente continuerò per un tempo lungo ... ma così facendo ho anche bisogno di capire HTML, SQL, XML , XSLT e JavaScript tra le altre cose. Sto imparando le meraviglie di jQuery e anche di XAML. Sto guardando F # (tra le altre cose) perché potrei utilmente essere in grado di applicarlo. Né il framework .NET né le lingue che è possibile utilizzare sono fermi. E non devo dimenticare PowerShell ...
Prima c'era VB.OLD e alcuni Turbo Pascal e prima c'era una varietà di cose.
Ho anche, negli ultimi 25 anni, guardato e imparato su una varietà di diversi settori e imprese mentre mi sforzo di imparare i domini mentre sviluppo soluzioni per loro. Ho anche una comprensione discreta (anche se non allo standard di un sysadmin) di sistemi e reti e di far parlare le cose l'un l'altro - semplicemente dalla necessità di essere in grado di avere le piattaforme su cui sviluppare.
Proprio qui, in questo momento, .NET è una piattaforma ampia e capace con linguaggi e strumenti decenti e un posto da utilizzare come ovunque - più importanti (penso) sono le competenze più ampie, unit-testing, metodologie agili , applicazione di schemi (comprensione dei principi fondamentali come inversione di controllo) e buone pratiche (uso di VCS e server di compilazione e simili): si tratta di competenze portatili che devono essere tenute aggiornate man mano che le cose si sviluppano.
Potrei andare avanti (nel caso non l'avessi notato) - ma la semplice risposta è che fintanto che ti accorgi di essere uno "sviluppatore che lavora sulla piattaforma .NET" piuttosto che uno "sviluppatore .NET" ( o peggio di uno "sviluppatore C #" starai bene.