Dans un monde idéal:
Dans un excellent article Don't Call Yourself A Programmer, and Other Career Advice , Patrick McKenzie explique, entre autres, que la langue n'a pas d'importance:
Un développeur est une personne qui résout les problèmes, en général. Un développeur n'est pas une personne qui écrit du code dans un langage spécifique.
Les entreprises ne se soucient pas des langues que vous connaissez. S'ils ont besoin d'embaucher un développeur pour un projet écrit dans une langue spécifique, et qu'ils ont un candidat qui est très expérimenté mais n'a jamais écrit de ligne de code dans cette langue, il serait toujours embauché.
Selon mon expérience à la fois en tant que développeur et en tant que personne qui a dû embaucher d'autres développeurs, l'observation est très similaire:
L'expérience N années en Java ou N années d'expérience en C # n'a pas d'importance. Ce qui compte, c'est que le candidat sache comment résoudre les problèmes, qu'il fasse la différence entre le code spaghetti et le code propre avec une architecture bien pensée, etc.
Je me fiche des langues que vous avez utilisées auparavant. Pour un projet C #, je préfère embaucher un développeur professionnel qui a passé sa vie à écrire du code Java, Python et Ruby on Rails plutôt qu'un débutant qui ne connaît que C # et le sait mal.
Les connaissances et l'expérience acquises en utilisant une seule langue sont principalement réutilisables dans n'importe quelle autre langue.
Un développeur expérimenté qui a utilisé Ruby on Rails pour le développement Web et a passé le reste de sa carrière à écrire des applications de bureau Java à l'aide d'Oracle convient parfaitement à un projet ASP.NET MVC utilisant Microsoft SQL Server. Parce que cette personne sait déjà tout ce dont elle a besoin pour ce travail , à part quelques choses spécifiques et des différences de syntaxe.
D'un autre côté, une personne qui n'a fait que quelques petits sites Web ASP.NET MVC ne correspond pas du tout, car elle peut ne pas comprendre complètement l'architecture MVC, peut savoir ce qu'est le profilage SQL et peut manquer d'autres éléments essentiels connaissance.
Ne me dites pas que je ne peux pas résoudre un petit problème avec un site Web PHP qui utilise CodeIgniter juste parce que je n'ai jamais utilisé CodeIgniter auparavant.
En pratique:
En pratique, lorsque je recherche des emplois indépendants et quand je vois les offres d'emploi en général, elles sont très spécifiques à la langue.
Certains chercheraient un développeur PHP avec deux ans d'expérience dans Magento. D'autres chercheront une personne avec une expérience VB.NET d'au moins trois ans, et si vous leur envoyez un curriculum vitae mentionnant que vous avez fait du développement C # pendant six ans, mais sans mention de VB.NET, ils ne dérangeront pas répondre. S'ils demandent une personne ayant une expérience avec Firebird, ils n'écouteront pas vos dix années d'expérience avec Oracle.
Pourquoi y a-t-il une telle différence entre la théorie et ce que Patrick McKenzie et moi décrivons comme étant du bon sens, et le monde réel des offres d'emploi?
<rant>...</rant>
. Sérieusement, y a-t-il une vraie question ici?
Don't tell me that I'm unable to fix a small problem with a PHP website which uses CodeIgniter just because I never used CodeIgniter before.
Bien que vous soyez parfaitement capable de résoudre le problème, si la cause principale est CodeIgniter (l'une des rares bizarreries du cadre ou l'un de ses nombreux bogues ouverts), il vous faudra beaucoup plus de temps pour résoudre le problème.