In einer idealen Welt:
In einem ausgezeichneten Artikel Nennen Sie sich nicht Programmierer und andere Karriereberatung erklärt Patrick McKenzie unter anderem, dass Sprache keine Rolle spielt:
Ein Entwickler ist eine Person, die Probleme im Allgemeinen löst. Ein Entwickler ist keine Person, die Code in einer bestimmten Sprache schreibt.
Unternehmen interessieren sich nicht für die Sprachen, die Sie kennen. Wenn sie einen Entwickler für ein Projekt einstellen müssen, das in einer bestimmten Sprache geschrieben ist, und einen Kandidaten haben, der sehr erfahren ist, aber nie eine Codezeile in dieser Sprache geschrieben hat, wird er trotzdem eingestellt.
Nach meiner Erfahrung sowohl als Entwickler als auch als Person, die andere Entwickler einstellen musste, ist die Beobachtung sehr ähnlich:
Die N-jährige Erfahrung in Java oder N-jährige Erfahrung in C # spielt keine Rolle. Was zählt ist, dass der Kandidat weiß, wie man Probleme löst, den Unterschied zwischen Spaghetti-Code und sauberem Code mit durchdachter Architektur kennt usw.
Die Sprachen, die Sie zuvor verwendet haben, sind mir egal. Für ein C # -Projekt werde ich lieber einen professionellen Entwickler einstellen, der sein Leben damit verbracht hat, Java-, Python- und Ruby on Rails-Code zu schreiben, als einen Anfänger, der nur C # kennt und es schlecht kennt.
Das Wissen und die Erfahrung, die Sie mit einer Sprache sammeln, können größtenteils in jeder anderen Sprache wiederverwendet werden.
Ein erfahrener Entwickler, der Ruby on Rails für die Webentwicklung verwendet und den Rest seiner Karriere damit verbracht hat, Java-Desktopanwendungen mit Oracle zu schreiben, passt perfekt zu einem ASP.NET MVC-Projekt mit Microsoft SQL Server. Weil diese Person bereits alles weiß, was sie für diesen Job benötigt , abgesehen von einigen spezifischen Dingen und Syntaxunterschieden.
Auf der anderen Seite passt eine Person, die nur einige kleine ASP.NET MVC-Websites erstellt hat, überhaupt nicht, da sie die MVC-Architektur möglicherweise nicht vollständig versteht, möglicherweise weiß, was SQL-Profilerstellung ist, und möglicherweise keine anderen wichtigen Informationen enthält Wissen.
Sagen Sie mir nicht, dass ich ein kleines Problem mit einer PHP-Website, die CodeIgniter verwendet, nicht beheben kann, nur weil ich CodeIgniter noch nie zuvor verwendet habe.
In der Praxis:
In der Praxis sind die Stellenangebote, wenn ich nach freiberuflichen Jobs suche und die Stellenangebote im Allgemeinen sehe, sehr sprachspezifisch.
Einige würden nach einem PHP-Entwickler mit zweijähriger Erfahrung in Magento suchen. Andere suchen nach einer Person mit einer VB.NET-Erfahrung von mindestens drei Jahren. Wenn Sie ihnen einen Lebenslauf senden, in dem erwähnt wird, dass Sie sechs Jahre lang C # -Entwicklung durchgeführt haben, ohne VB.NET zu erwähnen, werden sie sich nicht darum kümmern Antworten. Wenn sie nach einer Person mit Erfahrung mit Firebird fragen, werden sie nicht auf Ihre zehnjährige Erfahrung mit Oracle hören.
Warum gibt es einen solchen Unterschied zwischen der Theorie und dem, was Patrick McKenzie und ich als gesunden Menschenverstand beschreiben, und der realen Welt der Stellenangebote?
<rant>...</rant>
. Im Ernst, gibt es hier eine echte Frage?
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.
Sie sind zwar in der Lage, das Problem zu beheben, aber wenn die Hauptursache CodeIgniter ist (eine der wenigen Macken des Frameworks oder einer der vielen offenen Fehler), benötigen Sie erheblich mehr Zeit, um das Problem zu beheben.