Ottima domanda! Come ha detto whatsisname nella sua risposta, "alla familiarità non viene dato credito sufficiente". Uno strumento diverso, un quadro diverso, un linguaggio diverso potrebbe essere molto meglio di quello a cui sei abituato a usare, e saresti ancora molto meno produttivo con esso per la prima volta mentre imparavi le corde.
Lavoro da alcuni anni come sviluppatore ASP.NET in agenzie digitali in cui abbiamo un mix di grandi progetti, piccoli progetti, progetti ristretti, progetti ben integrati, ecc. Cosa cerchiamo di fare per espandere le nostre competenze, è alla ricerca di "obiettivi morbidi", progetti più piccoli che non abbiano scadenze dolorosamente rigide e rigide e li utilizzino come un'opportunità per utilizzare nuove tecnologie che potrebbero essere superiori. .NET 2.0, 3.5, 4.0, ASP.NET MVC, Linq to SQL, Entity Framework - tutti loro, li ho usati per la prima volta in un simile progetto.
Se riesci a cogliere le tue opportunità in quel modo, allora, si spera, sarai pronto con una suite più ampia di opzioni per scegliere lo strumento giusto senza soffrire di mancanza di familiarità. Proprio come nell'esempio di Julio: hanno trovato un obiettivo in cui potevano aggiungere Ruby al loro repertorio, e ora possono scegliere tra Java e Ruby.
Ma se la scadenza è breve e solida e il progetto è importante, ti consiglierei di seguire gli strumenti familiari. Qualcosa di diverso potrebbe essere più adatto, ma in progetti del genere, si tratta di rischio .