Karriere in eine andere Programmiersprache verlagern [geschlossen]

21

Ich komme gleich zur Sache. Ich suche Ratschläge, wie ein erfahrener Entwickler einen potenziellen Arbeitgeber davon überzeugen könnte, dass er für eine Stelle in einer anderen Sprache in Betracht gezogen werden sollte. Dies geschieht, wenn andere nicht sprachspezifische Anforderungen erfüllt sind (Kenntnis der Versionskontrolle, OO, Grad usw.). Zum Beispiel ein erfahrener PHP-Entwickler, der sich auf eine Perl-Position begeben möchte. Ist es überhaupt möglich? Wie schwierig wäre es? Ist es sprachabhängig?

EDIT: Die Antworten, die ich erhalten habe, sind ein Beweis dafür, dass die Zukunft dieser Community in der Tat vielversprechend ist, aber leider kann ich nur eine Antwort auswählen. Vielen Dank an alle, die geantwortet haben.

Kanadierkraut
quelle
7
Sprache! = Karriere; Karriere == Entwickler
Steven A. Lowe

Antworten:

17

Als jemand sprechen, der Interviews gegeben hat.

Sei ehrlich

Lassen Sie sie wissen, dass Sie die Spur wechseln, und sagen Sie ihnen auch, wie lange Sie denken, dass Sie zum Hochfahren brauchen werden.

Sei enthusiastisch

Zeigen Sie ihnen, dass Sie begeistert sind, die neue Sprache zu lernen. Begeisterung kann die Erfahrung wettmachen, wenn Sie wissen, dass der Entwickler nach Hause geht und weiterhin in derselben Sprache programmiert.

Verständnis für CS-Konzepte

Ein tieferes Verständnis erleichtert unter anderem das Erlernen einer neuen Sprache.

Zeigen Sie, dass Sie eine verwandte Sprache kennen

Ruby zu lernen, sobald Sie wissen, dass Perl kein großer Sprung ist. Lernschema, wenn Sie nur wissen, dass C ein großer Sprung ist.

Zeigen Sie, dass Sie bereits 3 Sprachen beherrschen

Je mehr Sprachen du kennst, desto einfacher ist es, sie zu erlernen, bis es darum geht, die Redewendungen mehr als die Syntax zu lernen.

dietbuddha
quelle
Dies ist eine großartige Information, um einen potenziellen Bewerber von der Seite der Personalchefs aus zu sehen.
CanadianCreed
20

Ein erfahrener Programmierer sollte in der Lage sein, nahezu jede Programmiersprache und jedes sinnvolle Programmiertool zu verwenden. Wenn Sie in eine andere Sprache wechseln möchten, lesen Sie einfach ein oder zwei Bücher in Ihrer eigenen Zeit, üben Sie es zu Hause und senden Sie dann wie alle anderen einen Lebenslauf ein.

Chrisaycock
quelle
4
Ich kaufe es nicht. Es braucht Zeit, um die Bibliotheken zu lernen, die mit einer Sprache geliefert werden. Ist ein C ++ Pro / PHP-Neuling so gut wie ein 10-jähriger PHP-Tierarzt? Der Übergang von einer speichergesteuerten Sprache zu einer Sprache, die nicht viel schwieriger ist als das Gegenteil.
Neil McGuigan
9
@NRM, warum möchtest du die Bibliotheken " lernen "? Es ist immer eine Referenz verfügbar. Sie sollten Ihr Gehirn nicht mit so unwichtigen Dingen wie APIs überladen.
SK-logic
4
@NRM Schlechtes Beispiel. C ++ => PHP sollte ein fast trivialer Übergang sein. Jetzt ist es schwer, es anders zu versuchen.
Konrad Rudolph
1
@NRM - natürlich ist ein "Neuling" nicht so gut wie ein 10-jähriger "Tierarzt". Es gibt jedoch viele Jobs für "Neulinge". Von dort kommen die Tierärzte.
Davidhaskins
1
Das Problem dabei ist, den potenziellen Arbeitgeber davon zu überzeugen, dass Sie die Sprache wechseln können, insbesondere durch Personalabteilung, die nur eine Anforderung mit der Aufschrift "mindestens 37 Jahre Java-Erfahrung" oder etwas ähnlich Dummes hat.
Fred Larson
8

Vollständige Offenlegung: Ich habe das selbst nicht ausprobiert

Es scheint mir, dass Sie eine zweiteilige Strategie benötigen würden, um diese Arbeit zu machen. Zunächst müssen Sie für ein Interview den Fuß in die Tür bekommen. Das bedeutet, dass Sie Ihren Lebenslauf und Ihre HR-Filter nicht mehr brauchen. Wie auch immer Sie das neue Sprachschlüsselwort in Ihren Lebenslauf einarbeiten können, ohne zu lügen (z. B. ein Open-Source-Projekt beizutragen). Sobald Sie ein Interview erhalten haben, müssen Sie dem Einstellungsmanager beweisen, dass ...

  • Sie können intelligent über die neue Sprache sprechen (insbesondere, wenn Sie noch kein Experte sind)
  • Sie sind in der Lage, schnell auf den neuesten Stand zu kommen, damit Sie Ihren Mitarbeitern nicht hinterherhinken

Ich denke, jeder talentierte Programmierer in jeder Sprache sollte das mit genügend Geduld schaffen können. Sie benötigen die richtige Gelegenheit zur richtigen Firma mit den richtigen Umständen, um für eine neue Sprache eingestellt zu werden. Also, kurz gesagt, genau wie für einen normalen Job angestellt zu werden. :-)

Kristo
quelle
7

Über 25 oder vielleicht sogar 30 Jahre musste ich viele neue Sprachen lernen. So viele, jetzt habe ich die Zählung verloren. Hier ist eine grobe Liste.

WENN ich weit gehe, weit zurück ...

8080, Z80, 6502, 8086, 80286 Assembler.

BASIC (ca. 6 Sorten).

APL (yay)

PL / 1

FORTRAN 4 und 77

COBOL (ob Sie es glauben oder nicht)

PASCAL (verschiedene Sorten einschließlich Delphi)

OCCAM2 (jede Menge Spaß - sofortige Prozesserstellung)

C (viele Compiler, viele Prozessoren, viele seltsame Varianten)

C ++

Ada (große Systeme und auch eingebettete Systeme)

Ein bisschen Perl nur zum Spaß

PHP

Diese wurden auf allen Arten von Maschinen verwendet - kleinen eingebetteten Systemen, Entwicklungsboards, IBM-Mainframes, auf denen TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, eingebettete Systeme ohne Betriebssystem und remote gehostete Entwicklungsumgebungen ausgeführt werden und auf die liste geht.

Und es gibt ein paar weitere dunkle Dinge auf dem Weg, an die ich mich nicht erinnern kann (oder nicht möchte ... PL / M).

Jedes davon musste gelernt werden, weil es Teil der Erledigung einer Aufgabe war. In den meisten Fällen hatte ich vorher keine Erfahrung, nur einen toleranten Manager und die Bereitschaft, einzusteigen und die Arbeit zu erledigen.

Wenn Sie etwas Neues lernen möchten, dann kaufen Sie ein Buch, spielen Sie, tun Sie Dinge in Ihrer Freizeit. Wenn Sie sich für eine Stelle entscheiden, sieht es in einem Lebenslauf gut aus, dass Sie dies getan haben, weil Sie interessiert sind.

Wie eine der anderen Antworten hervorhob, ändern sich die Konzepte für Mainstream-Inhalte meistens nicht sehr, nur die Ausdrucksmittel. (Oder natürlich können Sie in einige sehr ungewöhnliche Sprachen eintauchen, die weder OO noch prozedural sind, und dies erfordert ein Umdenken.)

Wenn Sie die Chance haben, im Rahmen Ihrer Arbeit etwas Außergewöhnliches zu tun, ergreifen Sie die Chance, solange Sie können. Die meisten der oben aufgeführten Dinge habe ich seit Jahren nicht mehr verwendet und werde sie wahrscheinlich nicht mehr verwenden, aber Sie wissen es nie. Eines Tages würde ich wirklich gerne eine mikrocodierte APL-Maschine bauen :)

schnell_nun
quelle
4

Als persönliche Anekdote wurde ich mit einer PHP-basierten Demo für eine Java-Position engagiert. Ich glaube, ich habe sie bekommen, weil ich eine Sprache von einer bestimmten Domäne kannte (wenn sie so genannt werden kann), also wäre ich nicht wieder da - Wenn Sie die kompletten Konzepte kennenlernen, ist es so, als ob Sie einen Stift anstelle eines Bleistifts verwenden würden (verstehen Sie die Idee richtig?).

Ich glaube, was wirklich sehr wichtig ist, ist zu zeigen, dass Sie über gute Softwareentwicklung, CS-Konzepte und Kommunikationsfähigkeiten verfügen, dass Sie nach Lösungen für Probleme suchen, auch für die schwierigsten, die Sie Ihren Mitarbeitern helfen möchten, automatisieren und vereinfachen Sie ihre Arbeit und vor allem (zumindest für mich), dass Sie demütig sind und zugeben, dass Sie nicht alles wissen und bereit sind, mehr zu lernen.

(Total missbraucht das "das" Wort ..)

Tristian
quelle
3

Ich habe immer nur einen Job angenommen, bei dem ich die primäre Entwicklungssprache bereits kannte, also ja, das ist nicht nur möglich, ich habe immer angenommen, dass es üblich ist.

Die Sache, an die man sich erinnern sollte, ist die einzige Sprache unter vielen Sprachen und Technologien, die sie wahrscheinlich verwenden. SQL ist SQL. Es spielt keine Rolle, ob Sie es in Python oder Perl tun. Und die Konfiguration des DB-Servers ist nicht einmal sprachbezogen. HTML ist HTML, es spielt keine Rolle, ob es von PHP oder ASP generiert wird. Gleiches gilt für XML. Steckdosen sind Steckdosen, sie funktionieren grundsätzlich in allen Sprachen gleich. OpenGL funktioniert in Delphi genauso wie in C ++. Die spezifische Syntax ist ein kleiner Teil des Bildes, wenn Sie die Entwicklung als Ganzes betrachten. Einige dieser Fähigkeiten sind große Themen für sich und weitaus schwieriger zu erlernen als eine neue Sprache.

Der Punkt ist, sich auf die Fähigkeiten zu konzentrieren. Sicher, Sie kennen vielleicht nicht die wichtigsten Entwicklungstechnologien, aber das ist nur ein Teil des Puzzles. Aber es besteht die Möglichkeit, dass sie auch andere Technologien und Betriebssysteme verwenden, die Sie kennen.

GroßmeisterB
quelle
1

Sie werden Schwierigkeiten haben, die Tür zu öffnen, wenn Sie nicht die Abkürzungen für Schreiben in Ihrem Lebenslauf haben. Wenn Sie Änderungen vornehmen möchten, wenden Sie einige Zeit für persönliche Projekte auf, um sie gut genug zu lernen, und markieren Sie sie dann.

Craig
quelle
1

Das ist durchaus möglich. Ich habe gerade einen Job angefangen, bei dem ich in Ruby, Javascript und Go arbeite. Bevor ich anfing, hatte ich nicht viel Erfahrung mit einer dieser Sprachen.

Ich denke, der Schlüssel zu meinem Erfolg war, dass ich in der Zeit zwischen der ersten Antwort und dem Interview sicher war, dass ich genug Rubin (ihre Hauptsprache) kannte, um Code aus der realen Welt zu verstehen und zu schreiben. Ich denke, es hat auch geholfen, dass ich Python und C kannte, die Ruby and Go sehr ähnlich sind.

dan_waterworth
quelle
1

Die Firma, für die ich arbeite, hat nicht nach "C # -Programmierern" gesucht. Jeder gute Programmierer würde es tun, um in kürzester Zeit eine Sprache zu erlernen.

Wenn Sie Programmierer mit der Idee einstellen, dass sie ein paar Jahre bleiben, kann ich das wirklich nicht als Problem ansehen. Sie haben viel Zeit, um die Vor- und Nachteile der Sprache zu lernen. Wenn sie nach einem Jahr abreisen, ist das wahrscheinlich Zeitverschwendung.

Carra
quelle
0

IMHO reagieren nicht alle Programmierer ähnlich. Sprache ist Religion ;-)

In meiner persönlichen Erfahrung liebe ich es, neue Sprachen zu lernen, aber es kommt sehr schnell zu lieben oder zu hassen. Ich kann mich in eine neue Sprache verlieben, die ich am ersten Tag kenne und für viele Jahre verwende. Ich habe auch Sprachen von Anfang an gehasst, sogar Hunderttausende, wenn nicht Millionen Programmierer, die sie benutzen.

Daher würde ich raten, einen Peer-Programmierer nicht in eine andere Sprache zu befehlen. Plaudern Sie stattdessen während der Bierzeit am Freitagabend über die bevorzugte Sprache, um seine / ihre Liebe oder ihren Hass zu entdecken .

  • In dieser Antwort lasse ich absichtlich die Namen der Sprachen weg ;-)
Oh ho
quelle