Karrieretipps: Bleibe bei PHP oder starte eine neue Karriere in einem anderen Bereich (.Net?) [Geschlossen]

34

Ich plane, in 6-12 Monaten nach NY zu ziehen, also bin ich gezwungen, einen neuen Job zu finden. Wenn ich vorhabe, mein Leben in einer anderen Stadt zu beginnen, ist es wahrscheinlich auch ein guter Zeitpunkt, um über Veränderungen in der Karriere nachzudenken.

Ich habe viele verschiedene Meinungen zu PHP vs .Net vs Java gefunden und dies ist hier nicht das Thema. Ich möchte nicht neu darüber streiten, welche Sprache besser ist. Die Kenntnis einer Programmiersprache ist nicht das Wichtigste für Softwareentwickler. Um ein wirklich guter Entwickler zu sein, müssen Sie OOP, Entwurfsmuster, Tests ... kennen und eine Sprache ist nur ein Werkzeug, um Dinge in die Tat umzusetzen.

Also zurück zu meiner Frage. Ich habe gemischte Erfahrungen in der IT - 1 Jahr als IT-Supporter (Windows-Administration und -Support), ungefähr 2 Jahre Erfahrung in der Embedded-Programmierung (VB.Net 2005) und seit 2 Jahren arbeite ich mit PHP / MySQL. Ich habe mit dem Magento-Webshop gearbeitet, bei einigen Projekten in Symfony mitgewirkt und einige Drupal-Sites geändert.

Meine Hauptanliegen sind die folgenden:

  1. Verbessere ich meine PHP-Kenntnisse weiter, um beispielsweise einige wichtige PHP-Frameworks wie Zend zu erlernen, und Symfony erhält möglicherweise eine PHP-Zertifizierung.
  2. Oder beginne ich .NET oder Java zu lernen. .NET ist mir vertrauter, daher werde ich es wahrscheinlich wählen, wenn ich zwischen .NET und Java wählen möchte (oder Sie könnten mich davon überzeugen, Java zu wählen :).

In beruflicher Hinsicht weiß ich nicht, was die beste Wahl ist. Das Erlernen eines neuen Frameworks und einer neuen Sprache ist zeitaufwendiger als das Verbessern meiner vorhandenen PHP-Kenntnisse. Aber mit .NET haben Sie viele Möglichkeiten (Windows 7 Phone-Entwicklung, Silverlight, WPF) und möglicherweise größere Chancen, bessere Jobs zu finden.

PHP-Jobs sind meiner Recherche zufolge weniger gut bezahlt als .NET (korrigieren Sie mich, wenn ich falsch liege). Aber wenn ich jetzt mit .NET anfange, bin ich nur ein Anfänger und mein Gehalt wird niedrig sein. Ich brauche mindestens 2+ Jahre Erfahrung in einer Sprache, um überhaupt einen Job zu finden, der mehr als 50-60.000 US-Dollar in NY zahlt. Mein Hauptziel in den nächsten 2-3 Jahren ist es, einen Job in der Kategorie $ 60-80.000 zu finden. Versteht mich nicht falsch, ich jage nicht nur Geld, sondern Geld ist ein wichtiger Faktor, wenn Sie versuchen, eine Familie zu gründen.

Ich bin 27 Jahre alt und habe das Gefühl, dass es in Bezug auf meine Karriere nicht viel Raum für falsche Entscheidungen gibt. Ratschläge sind daher sehr willkommen.

Aktualisieren

Vielen Dank, dass Sie sich die Zeit genommen haben, mir bei meinem Problem zu helfen. Alle Antworten und Kommentare waren sehr hilfreich. Ich habe mich entschieden, bei PHP zu bleiben, aber auch C # und Silverlight 4 zu lernen. Wir werden sehen, wohin mich das Leben führen wird.

Christian P
quelle
Lerne beides. Starten Sie jeweils ein Projekt. es dauert nicht so lange.
Systemovich
Versuchen Sie es mit Code Igniter. Es ist super einfach zu erlernen und gut dokumentiert.
B Seven
2
Es schadet nicht, 2-3 Sprachen zu lernen.
Rudy
Da dies von jemandem gestoßen wurde muss ich fragen: Embedded VB.NET? ..
Simon Whitehead
@ SimonWhitehead es ist nicht genau eingebettet, aber ich konnte kein besseres Wort finden, um es zu erklären. Es war eine in VB.NET geschriebene Anwendung für eine industrielle Hardware (von meinen Mitarbeitern und mir hergestellt), die mit zwei DACs (Datenerfassungskarten) kommunizierte.
Christian P

Antworten:

64

Ich bin 51 Jahre alt und habe seit meinem ersten bezahlten Auftritt 1987 mindestens 15 Sprachen und / oder Frameworks verwendet.

Gesundheit.

Ich bin nie ins Management gegangen, weil ich nicht wollte, aber ich weiß, wie man programmiert und wie man Teams motiviert und guten Code liefert. Sie müssen an den Fähigkeiten der Menschen arbeiten und nach interessanten Arbeiten suchen, die Sie ausdehnen. Ich habe nie aufgehört zu lernen oder Spaß zu haben, aber es gab Zeiten, in denen ich unterwegs gewesen wäre, als ich hätte anhalten können - aber nicht codieren, reisen.

Solange du deinen Lebensunterhalt verdienen und deine persönlichen Verpflichtungen erfüllen kannst, ohne deine Grundsätze zu gefährden, solange du Spaß an dem hast, was du tust (ein Luxus, den die Generation meiner Eltern nicht hatte), mache einfach weiter.

.Net und Java sind in der Regel korporativ (weil sie teuer sind, um nützliche Dinge zu erledigen, aber sehr gut skalierbar), PHP ist in der Regel ein Startup, ich mache Ruby (normalerweise Startups, die aus irgendeinem Grund aus Designstudios stammen) für viele Leute als unabhängiger. Wenn Sie sich an PHP halten, lernen Sie das OO-Zeug, denn ich denke, es wird endlich so, wie die Leute Dinge tun, obwohl es eine etwas bessere Neuimplementierung dessen ist, was Sie mit Java haben, und sie hätten es viel dynamischer machen können. Menschen, die Python spielen und reisen möchten, können am Ende allerlei interessante wissenschaftliche und spielerische Dinge auf der ganzen Welt machen. Perl ist auch noch ein Läufer und hat ein ähnliches Profil.

Vergessen Sie die Sprache, die Auswahl und die Branche, die Sie mögen, wählen Sie ein Unternehmen aus, das von Menschen geführt wird, und haben Sie Spaß daran, Menschen, die es zu schätzen wissen, einen Mehrwert zu bieten. Du wirst es nicht bereuen.

Francis Fish
quelle
9
PHP ist auf OO sehr schwach. Es begann als Vorlagensprache und es zeigt.
Keyo
5
@Keyou, bedeutet nicht, dass Sie die Verwendung von PHP-OO-Funktionen nicht forcieren sollten, da dies die Sprache auf ein anderes Niveau
bringt
@Keyo Wer hat gesagt, dass PHP ist schwach auf OO für Ihre Informationen PHP OO ist jetzt sehr nah an Java Siehe PHP5.5 und es wird immer besser
Hmmm
120

Was in aller Welt hat die Wahl der Programmiersprache mit Ihrer Karriere zu tun?

Diese Frage ist wie die folgende: "Ich habe zwei Möglichkeiten, um einen Arbeitsplatz zu finden. Sollte ich bei dem arbeiten, bei dem der Chef einen norwegischen Akzent hat, oder bei dem der Chef einen spanischen Akzent hat?"

Es gibt viel wichtigere berufliche Überlegungen.

  1. Startup oder etabliertes Unternehmen?
  2. Produktfirma oder Firma, bei der IT eine Support-Funktion ist?
  3. Wirst du neue Dinge lernen oder die alten aufbereiten?
  4. 9 bis 5 oder "arbeiten Sie 80 Stunden, die Sie wollen?"
  5. Nette Mitarbeiter oder gemeine Mitarbeiter?
  6. Kluge Mitarbeiter oder dumme Mitarbeiter?
  7. Anzug und Krawatte oder T-Shirt?

Diese Liste könnte stundenlang weitergehen. Die Wahl einer Programmiersprache ist für die Karriere eines Programmierers genauso relevant wie die Wahl, ob Sie Ihr Haar nach links oder rechts kämmen. Es ist alles Software-Entwicklung, egal welche Programmiersprache Sie gerade sprechen.

Joel Spolsky
quelle
19
Du hast einen Punkt. Die Art der Programmiersprache ist jedoch in den meisten Fällen eng mit dem Unternehmensprofil verknüpft. Meines Erachtens wird PHP hauptsächlich in Startup-Unternehmen verwendet, und große etablierte Unternehmen verwenden .NET für ihre Entwicklung.
Christian P
29
Die eigentliche Antwort lautet: Verbringen Sie ein paar Monate damit, sich einen fünfstelligen Stack Overflow-Ruf zu verdienen, und Sie erhalten Stellenangebote im Wert von über 100.000 USD ohne ein Vorstellungsgespräch.
Joel Spolsky
37
@Joel: So sehr ich StackOverflow liebe (und ein paar Wochen davon entfernt bin, aus Spaß einen fünfstelligen Ruf zu erreichen), wenn ich deswegen jemals ein 100K-Jobangebot bekomme, kaufe ich dir ein Bier :-)
Diego Mijelshon
25
Für manche Menschen hat die Sprache alles mit Ihrer Karriere zu tun. Ich würde gerne für viele große Unternehmen arbeiten, aber nicht auf Kosten einer Sprache, die mich frustriert / die Produktivität verringert. Ich sage nicht, dass ich nur eine Sprache gerne schreibe, aber es gibt definitiv Sprachen, die ich nicht in Vollzeit programmieren möchte, und es wäre dumm von mir, einen Job zum Beispiel mit Gleitzeitschreiben anzunehmen. C über einen 9-5-Job schreiben C #. Sie können diese Meinung nicht teilen, das ist in Ordnung. Aber nehmen Sie nicht an, dass Programmierer Idioten sind. Ihre Liste wichtiger Überlegungen liegt bei Ihnen .
Danny Tuppeny
39
@Joel. Kann ich einen 100K-Job haben? Ich habe einen 5-stelligen Vertreter und bin derzeit arbeitslos.
Aaronasterling
23

Lernen Sie so viele Sprachen wie möglich, vorzugsweise mindestens eine aus jedem Hauptentwicklungsbereich.

  • Programmiersprachen mit Skripten (Sie haben bereits PHP, versuchen Sie Ruby, Python oder etwas anderes)
  • Kompiliert für Sprachen virtueller Maschinen mit umfangreichen Frameworks: .Net, Mono, Java
  • Auf Bare-Metal kompiliert: C / C ++
  • Funktionssprachen: Lisp, F #, Haskell

In jedem dieser Abschnitte erfahren Sie etwas über die Grundlagen der Softwareentwicklung. Darüber hinaus müssen Sie verschiedene Designansätze (OO, funktional, datengesteuert), verschiedene Teamarbeitsmethoden (agil, tdd, im Vergleich zu starreren Typen), verschiedene Plattformen und verschiedene Bereitstellungsmechanismen (nativ) kennenlernen Framework-basiert, Web). Die Liste geht weiter. Sprachgewandtheit ist nur ein winziger Teil des Ganzen.

Für all diese Dinge muss man mindestens ein echtes Produkt herstellen, um es zu beherrschen.

Einige Leute werden Ihnen sagen, dass Sie sich auf eine Technologie spezialisieren müssen (PHP, .Net, Java) und eine Karriere aufbauen müssen, die sich weitgehend auf diese konzentriert, um Fortschritte zu erzielen. Dem stimme ich überhaupt nicht zu. Ich nehme einen Entwickler, der ein paar Mal mit verschiedenen Plattformen und Technologien unterwegs war, während er 10 Jahre lang an einem Tag der Woche eine Sache gemacht hat. Der Grund dafür ist, dass sich die Technologie jedes Jahr ändert und der Entwickler, der in der Lage ist, eine neue Technologie zu erlernen, die API zu lesen und ihre Erfahrungen allgemeiner anzuwenden, als nur zu wissen, dass die Bibliothek auswendig funktioniert, in der Zukunft weitaus produktiver sein wird langfristig. Okay, so dass ein 10-jähriger .Net-Veteran in .Net schneller aus den Startlöchern geraten wird, aber dieser frühe Vorsprung geht in etwa einem Monat verloren. Es'

Steve Streeting
quelle
3
Ich würde Ihrer Liste auch logische Sprachen (Prolog), mathematische Sprachen (die in der Regel eine Teilmenge der funktionalen Sprachen sind) (Mathematica, R), Präfix- / Postfix-Sprachen (PS, Forth), Assembler und Hardware-basierte Sprachen (z FPGAs und dergleichen).
Orbling
8
Ich stimme zu ... es macht Spaß, neue Sprachen zu lernen. Wenn Sie jedoch versuchen, Ihre allgemeinen Kenntnisse in der Softwareentwicklung zu verbessern, während Sie ein neues PHP-Framework und eine zusätzliche Sprache (C #) erlernen, die Sie in Zukunft verwenden möchten, ist das Erlernen neuer Sprachen zum Spaß keine Option oder zumindest keine Option ohne große Opfer in anderen Teilen Ihres Lebens.
Christian P
4
Ich stimme Christian zu, diese Antwort ist ein bisschen extrem. Aber vielleicht sollte das Ergebnis dieser Antwort nicht lauten: "Lerne jetzt eine Milliarde neuer Sprachen, oder du kannst deine Träume einfach zum Abschied küssen." Es sollte eher lauten: "Ja, Sie sollten versuchen, einen Job in einer Sprache zu finden, die Sie nicht kennen, da dies langfristig eine bessere Investition in Ihre Karriere darstellt." Außerdem ist es der beste Weg, eine Sprache wirklich zu beherrschen.
Neil Traft
1
@Orbling: Sie haben Recht, die Liste war nicht vollständig, ich habe nur die wichtigsten "Karriere"
-Listen ausgewählt
3
Extrem - ich habe nicht vorgeschlagen, dass Sie alle diese Sprachen in einem Jahr lernen :) Da die Frage im Rahmen einer Karriere gestellt wurde, halte ich das überhaupt nicht für unrealistisch. Wir alle müssen Verantwortung für unsere eigene berufliche Entwicklung übernehmen, und selbst wenn Sie ein Hobbyprojekt pro Jahr mit einer Technologie durchführen, die Sie zuvor noch nicht verwendet haben, hilft dies Ihnen sehr. Open Source ist auch eine großartige Möglichkeit, dies zu tun, da Sie an einem echten Projekt beteiligt sein können, ohne von vorne anfangen zu müssen, und Hilfe von Kollegen in der Community erhalten.
Steve Streeting
7

Ich würde vorschlagen, nach einem PHP-Job zu suchen, weil Sie das am besten können.

Ich würde Ihnen auch vorschlagen, sich mit den neuen Technologien vertraut zu machen, die Sie erlernen möchten, damit Sie eventuell nach Jobs suchen können, die diese Technologien verwenden. Machen Sie dies jedoch nicht innerhalb einer so kurzen Frist, da Sie feststellen, dass diese Dinge sehr umfangreich sind und die Arbeitgeber dies erwarten Sie wissen genug von diesen Giganten, um produktiv zu sein. Das erfordert Zeit und Übung . Unterschätzen Sie nicht die Zeit und die Menge an Übung, die Sie tun müssen.

Im Sun Java-Lernprogramm erfahren Sie, wozu potenzielle Mitarbeiter in der Lage sein sollten, "Ich kann in Java programmieren" . Ich würde erwarten, dass Sie mit mindestens der Hälfte der aufgelisteten Konzepte vertraut sind, wobei Vertrautheit bedeutet, dass Sie es in einem von Ihnen geschriebenen Programm verwenden und korrekt verwenden können . Ich würde davon ausgehen, dass das Studium länger als 6 Monate dauert, um dieses Niveau zu erreichen.


quelle
7
6 Monate? Ja wirklich? Die Art von Programmierern, die ich anheuere, lernt die Sprache und die Plattform in ihrer ersten Arbeitswoche. Deshalb ist es mir egal, welche Sprache jemand kennt, wenn er sich für einen Job bei Stack Overflow oder Fog Creek bewirbt.
Joel Spolsky
4
@Joel, bitte beachte, dass ich über das Aufheben von Sachen in deiner Freizeit spreche . Allein, ohne einen Mentor. Dies ist möglicherweise nicht so effizient, um neue Dinge zu erlernen, wie wenn Sie sich mit Ihnen und Ihren Mitarbeitern in Ihren Büros aufhalten ... Vielleicht möchten Sie christian.p einstellen, um mir das Gegenteil zu beweisen?
3
@Joel Wenn Ihre App in Ihrer eigenen Sprache geschrieben ist, haben Sie nicht viel Auswahl, wie! ;-)
Darrel Miller
3
@Orbling. Ist das nicht ein bisschen einfach für sie? Warum nicht etwas wie "Bitte finden und beheben Sie den Fehler in diesem BrainF * ck-Produktionscode! Ich und meine 5 Kollegen werden Sie beobachten und sehen, wie lange Sie brauchen"?
5
@Joel - Ich vermute, dass Christian auf der Suche nach einem neuen Job in einer neuen Stadt nicht alle Arbeitgeber so sprachunabhängig sind wie Sie bei Stack Overflow / Fog Creek. In der Tat würde ich die Vermutung wagen, dass 95% + sich nicht darum kümmern, welche Sprachen er kennt, und seinen Lebenslauf sofort in den Papierkorb werfen, wenn er nicht mit den richtigen Schlüsselwörtern übereinstimmt.
Carson63000
6

Ich mag es nicht, wie ein Troll zu wirken, aber die Sprache, die Sie lernen sollten, ist Englisch. Es gibt eine Reihe von Fehlern in Ihrem Beitrag und das sieht nur schlampig aus. Wenn ich einstellen würde und das Ihr Lebenslauf wäre, wäre es mir egal, welche Programmiersprachen Sie zu kennen sagten, ich würde davon ausgehen, dass Ihre Schlamperei mit der englischen Sprache sich auf Ihre Programmierarbeit auswirken würde.

Es schien nicht so, als ob Sie Englisch als Zweitsprache beherrschen (ich könnte mich natürlich irren), aber es gab genug Grammatik- und Rechtschreibfehler, um den meisten Personalchefs eine Pause zu machen. Da sie zuerst nur Ihr geschriebenes Wort sehen, müssen Sie dieses korrigieren.

Doug Johnson-Cookloose
quelle
6
Es ist kein Thema, aber danke für die Aufmerksamkeit. Englisch ist in der Tat meine zweite Sprache. Ob Sie es glauben oder nicht (oder vielleicht ist es Ihnen klar), aber ich habe gelernt, wie ich allein Englisch spreche / spreche (ohne Sprachkurse).
Christian P
3
Da es Ihre zweite Sprache ist, geht es Ihnen gut. Lassen Sie natürlich jemanden Ihren Lebenslauf überprüfen, nur um sicherzugehen, aber ich weiß, dass wenn ich meine Kommentare auf Französisch machen müsste, es nicht so klar und gut formuliert wäre, wie Sie es auf Englisch getan haben. War nicht bissig, sondern wollte nur hilfreich sein. Es gibt eine beliebige Anzahl von Amerikanern, die sich nicht um Rechtschreibung und Grammatik kümmern, und es tut ihnen auf dem Markt weh.
Doug Johnson-Cookloose
1
Ich weiß, dass mein Englisch verbessert werden muss und ich gebe mein Bestes, um es zu verbessern. Aber ich bin dankbar für Ihre Kommentare, denn ich weiß, dass es beim Bewerben auf eine Stelle auf den Gesamteindruck ankommt. Wenn ich also schlampig schreibe, werden meine allgemeinen Chancen, einen Job zu bekommen, darunter leiden.
Christian P
1
Wenn Sie sich einmal bei einem Personalvermittler beworben haben, hat sich dieser die Zeit genommen, Ihren Lebenslauf zu verbessern und sicherzustellen, dass Rechtschreibung, Grammatik und allgemeiner Stil korrekt waren. Aber ich habe kürzlich einige Kandidaten interviewt, und es scheint, dass die Personalvermittler sich nicht mehr darum kümmern, sie kleben einfach ihr Logo in die obere rechte Ecke und schicken den Lebenslauf weiter. Daher würde ich empfehlen, dass Sie einen Freund Ihres Vertrauens bitten, Ihren Lebenslauf und Ihre Bewerbungsschreiben / E-Mails durchzulesen.
Carson63000
1
@ Carson63000 Meine Erfahrung mit der Einstellung durch Personalvermittler ist, dass die Lebensläufe der Bewerber oftmals durcheinandergebracht werden, wenn sie versuchen, "zu helfen". Infolgedessen musste ich Kandidaten mit nachlässigen Lebensläufen den Vorteil des Zweifels geben. Wenn ich die Wahl hätte, hätte ich die idiotischen Rekrutierer komplett aus der Gleichung gestrichen.
Daniel Cassidy
5

Die langfristige Antwort auf diese Frage ist im Grunde das, was unser geschätzter Gastgeber (Joel Spolsky) und Steve Streeting sagten. Beim Programmieren geht es im Kern nicht um Sprachen, sondern darum, Probleme mithilfe des Computers zu lösen. Dies ist ein Handwerk, das im Laufe der Zeit erlernt und erarbeitet und überdacht werden muss. Zu wissen, wie man programmiert, macht einen nicht zum Programmierer.

Aber Sie fragten nach einem pragmatischen und zeitkritischen Thema. Was sollten Sie JETZT tun?

Ich schlage vor, dass Sie bis zum Umzug in PHP graben. Grabe dich hinein, hart, wirklich hart, 20 Stunden pro Woche, ohne hart zu arbeiten. Mit PHP ist es ziemlich einfach. Holen Sie sich ein Hosting-Konto und eine Domain und beginnen Sie mit der Erstellung von Apps. Mit gezielter Anstrengung sind 6 Monate eine Ewigkeit. In dieser Zeit wirst du wirklich gut darin sein. Dies wird Ihnen helfen, einen guten Job in New York zu finden und wird Sie sehr wahrscheinlich zu einem besseren Programmierer machen.

Übrigens, wenn Sie es noch nicht wussten, gibt es eine IT-Einsatzstelle in der StackExchange-Familie.

Dann, wenn sich der Lebensübergang ein wenig beruhigt hat, folgen Sie Mr. Streeting 'Playbook und lernen Sie das Handwerk des Programmierens und nicht das Codieren. Verwenden Sie etwas Zeit außerhalb der Arbeit, um auf anderen Plattformen und mit anderen Tools zu lesen und zu arbeiten.

tomjedrz
quelle
1

Ich denke, der wichtigste Punkt ist, dass ein Softwareentwickler irgendwann zu dem Zustand gelangen sollte, in dem die Sprache für die jeweilige Aufgabe weitgehend unerheblich ist, außer in ihren Grenzen.

Ob Sie eine Sprache beherrschen oder nicht, sollte keinen Unterschied machen, vorausgesetzt, Sie haben ein Handbuch, um nur für den ersten Tag oder so zu beschleunigen, während Sie sich zurechtfinden.

Allerdings sind proprietäre Sprachen in der Regel weniger dokumentiert und enthalten weniger Beispiele im Internet. Daher ist es schwieriger, sich daran zu gewöhnen und Probleme zu bereiten, wenn Sie Ihre Arbeit mit nach Hause nehmen möchten.

Orbling
quelle
3
Die Sprache ist selten schwer. Das Ökosystem und Best Practices mein nehmen Lernen ganz eine Weile ...
@ Thorbjørn Sehr richtig, es kann einige Zeit dauern, um die besten Praktiken in einer Sprache zu erlernen. Obwohl das sehr davon abhängt, wie Sie es lernen, sind einige Sprachen viel schwieriger zu finden als andere.
Orbling
1

Mein Rat ist, einen Job zu finden, der das tut, woran Sie interessiert sind, und Spaß daran zu haben. Wenn Sie PHP mögen, entwickeln Sie Ihre PHP-Kenntnisse weiter. Es ist viel einfacher, Fähigkeiten zu erlernen und zu entwickeln, wenn Sie etwas tun, an dem Sie interessiert sind.

Haben Sie sich schon einmal .NET oder Java angesehen? Wenn nicht, könnte das bedeuten, dass Sie sich nicht für diese Sprachen interessieren, aber vielleicht könnten Sie eine Woche oder so damit verbringen, sich die einzelnen Sprachen anzuschauen und selbst zu sehen, ob Sie an beiden interessiert sind.

cspolton
quelle
Ich bin mit Silverlight 4 und C # vertraut (auch ich habe 2 Jahre in VB.NET 2005), das ist der Hauptgrund, warum ich über einen Wechsel nachdenke.
Christian P
1

Kurzfristig; Ich weiß nicht, wie die Einstellungspraktiken in den USA aussehen, aber wenn man bedenkt, dass Sie in 6 bis 12 Monaten umziehen, würde ich vorerst in Betracht ziehen, bei PHP zu bleiben, da Sie zwei Jahre Erfahrung damit haben.

Meine Erfahrung hier (in den Niederlanden) ist, dass sich Unternehmen in der Regel sehr kurzfristig auf Technologien und Framework-Erfahrungen konzentrieren. Die Sprache ist wirklich nicht -it-, auch wenn sie nach " 3 Jahre C # -Erfahrung " fragen , meinen sie " 3 Jahre Erfahrung mit den Framework- / Klassenbibliotheken und Tools, die Sie mit C # verwenden würden ".

(Ansonsten ist es mir ein Rätsel, warum sie jemanden einstellen wollen, der 3 Jahre braucht, um C # -Syntax und Sprachfunktionen zu erlernen. Es hört sich so an, als würde ich niemanden einstellen wollen.)

Neue Sprachen lernen; statisch, dynamisch, funktional ist von großem Wert, wenn es darum geht, Ihre Perspektiven zu erweitern. Das Erlernen der entsprechenden Klassenbibliotheken und die Vorgehensweise in dieser Sprache erfordern jedoch Erfahrung.

Ich würde empfehlen, zu einer Entscheidung zu kommen, einen Technologiestapel auszuwählen und ihn gründlich zu lernen. Nutzen Sie die anderen Umgebungen als Inspiration.

Natürlich kommt auch die persönliche Präferenz ins Spiel. Zum Beispiel, obwohl es genügend Markt dafür gibt, würde ich niemals einen PHP-Job akzeptieren: -PI wähle einen Stack und ich suche danach.

Wenn Sie langfristig Karriere machen möchten, sollten Sie über das Codieren hinaus (letztendlich dreht sich alles um das Lernen und Lesen und / oder Überfliegen von Dokumentationen) und die Technologie des Tages und mehr um Soft Skills und dergleichen. Technologien kommen und gehen ziemlich schnell. Natürlich gibt es viel zu lernen, wenn es um bewährte Praktiken und allgemeineres Know-how geht. Leider werden sie meiner Erfahrung nach auf dem Arbeitsmarkt nur selten gesucht.

Joppe
quelle
1

Ich denke, dass die Leute oft Programmiersprachen und Frameworks / Technologie-Stacks mischen. Das Erlernen einer neuen Sprache ist relativ einfach, bei großen Technologien jedoch viel schwieriger. Ich bin mit einigen Antworten einverstanden, dass das Wichtigste Ihre gesamte Programmier- / Problemlösungserfahrung ist, aber ich glaube nicht, dass irgendjemand eine komplett neue Technologie in 1 Woche VERSTEHEN kann.

Sicher, ein großer Teil der Entwickler hat noch nie ein einziges technisches Buch gelesen und die Bausteine ​​der von ihnen verwendeten Technologien nicht verstanden. Sie hacken sich einfach aus den Problemen heraus und sind sehr "erfolgreich". Ich habe meine Karriere in PHP begonnen, ohne zu verstehen, wie HTTP zuerst funktioniert. Einige Arbeitgeber, die ich am meisten respektiere, erwarten jedoch ein tiefes Verständnis der Funktionsweise, einfach weil dies die Erfolgschancen ihrer Projekte erhöht.

Das Mindeste, was Sie tun müssen, um dieses Verständnis zu erlangen, ist, ein paar GUTE Bücher mit genügend Zeit zu lesen, um Lösungen für häufig auftretende Probleme in einer neuen unbekannten Entwicklungsumgebung zu prototypisieren. Ist es möglich, in einer Woche zu tun? Ich würde gerne mit Leuten zusammenarbeiten, die dazu in der Lage sind, aber ich hoffe nicht, solche Leute bald wiederzusehen.

Einige Arbeitgeber sind tatsächlich bereit, Ihnen genügend Zeit zu geben, um dieses Verständnis zu erlangen, und respektieren dabei Ihre umfassende technische Erfahrung mit anderen Technologie-Stacks (falls Sie einen haben), die meisten jedoch nicht.

Wenn Sie Technologien ändern, ist Ihre Persönlichkeit das Wichtigste - wie bescheiden und neugierig Sie sein müssen, um zu verstehen, wie Dinge funktionieren und wie Dinge in Ihrem neuen Bereich erledigt werden.

Zusammenfassend wäre meine Antwort die folgende. Wählen Sie eine Technologie, die über genügend Potenzial verfügt und die Sie (vor allem) bei Ihrer Arbeit glücklich macht. Spezialisiert auf diese Technologie, wird der Arbeitsmarkt dies zu schätzen wissen und es lohnt sich, einige Jahre zu arbeiten, um Ihr Zielgehalt zu erreichen. Aber sei niemals übereifrig, verbringe etwas Zeit mit anderen Technologien, es macht dich insgesamt zu einem viel besseren PROFESSIONELLEN.

Konstantin
quelle
1

Ich muss Joel zustimmen. Aber seine Antwort geht über technische Fähigkeiten und Vorlieben hinaus.

Nach meiner Erfahrung sind es in der Regel Ihre beruflichen Anforderungen, die Sie auf eine bestimmte Technologie oder Programmiersprache hinweisen, nicht auf das, was Sie verwenden möchten. Es sei denn, es ist ein Startup, das noch nicht definiert hat, was sie verwenden werden. Und niemand kann garantieren, dass Sie einen Job / ein Unternehmen finden, das genau das tut, was Sie suchen.

Die eigentliche Frage ist also: Kannst du gut neue Sachen lernen? Können Sie ein Problem unabhängig von der Programmiersprache rechtzeitig beheben?

Ein guter Programmierer sollte sich gut mit Softwarekonstruktions- und Softwareentwicklungskonzepten auskennen. Ihre Frage lässt mich glauben, dass Sie nicht genug Zeit investiert haben, um diese zu erlernen, was Sie wahrscheinlich unsicher macht, was Ihre Fähigkeiten sind und was Ihre tatsächlichen Potenziale sind. Und ehrlich gesagt, wenn Sie das nicht getan haben, ist es an der Zeit, dass Sie es tun, denn ohne diese werden Sie wahrscheinlich nicht weit kommen.

Es gibt eine andere Sache, die die meisten von uns Programmierern nicht beachten, bevor wir älter als 30 sind: Programmierkenntnisse sind nur die Hälfte der Fähigkeiten, die einen guten Programmierer ausmachen. Bist du ein guter Teamplayer? Sind Sie bereit, Wissen so bereitwillig an Mitarbeiter weiterzugeben, wie Sie Wissen von anderen erhalten (oder sollten)? Die Fähigkeiten der Menschen werden von vielen von uns unterschätzt, obwohl sie eigentlich sehr wichtig sind.

mspir
quelle
1

Ich bin mit den meisten Kommentaren in diesem Forum nicht einverstanden.

Neben dem Erlernen der Prinzipien und der Theorie des Software-Engineerings ist die Sprache, die Sie beherrschen, eine Berufswahl. Deshalb gibt es Java-Programmierer und PHP-Programmierer. PHP-Programmierer werden wahrscheinlich nicht für die NASA arbeiten und Java-Programmierer werden wahrscheinlich nicht für einen Webshop arbeiten.

Wenn Sie einen Job in einem amerikanischen Unternehmen suchen, sollten Sie sich für Java / .Net entscheiden. Gutes Einkommen in Sie können einsteigen, aber seien Sie bereit, Ihr Leben für sie zu spenden (zeitlich gesehen).

Wenn Sie ein unabhängiger Freiberufler sein und mit Web-Technologie auf der Überholspur leben möchten, sind Sie mit PHP besser dran. Hier wird viel gearbeitet, aber die Bezahlung ist sehr unterschiedlich, und unabhängig zu sein bedeutet, mit jedem Tom, Dick und Harry selbst zu arbeiten und eine Idee zu haben, um Sie für ein paar Cent zu engagieren.

Es gibt einige Überschneidungen mit PHP und Java, die jedoch nur in Unternehmensjobs zu finden sind (Java REST Services mit PHP-Frontend). Sie werden jedoch nirgendwo in der Nähe von Java Webshops oder unabhängige freiberufliche Mitarbeiter finden.

Beide erfordern viel Zeit und Engagement, wenn Sie in einer bestimmten Situation nützlich sein möchten.

Um ein kompetenter und gefragter PHP-Entwickler zu sein, benötigen Sie eine Tasche voller Fähigkeiten. Es besteht die Möglichkeit, dass Sie CSS, HTML4 / 5 und auf jeden Fall Javascript DOM / Ajax / Jquery kennen sowie mindestens ein tragfähiges Framework wie Zend (die Wahl des Corporate America-Testers), Codeignitor, cakePHP usw. und dann Sie Ich muss die "großen drei" CMS kennen: Drupal, Wordpress und Magento. Holen Sie sich diese Fähigkeiten und werden Sie ein PHP-Spezialist mit der Fähigkeit, Arbeit zu landen, wo immer Sie gehen. Wie Sie sehen, ist das alles eine Hingabe an eine Sprache und ihre Werkzeuge, denn das Erlernen von Perl wird Ihnen nicht helfen, ein erfahrener Drupal- oder Zend-Entwickler zu sein.

Das Gleiche gilt für Java: OOP, J2EE, REST / SOAP, Spring / Struts usw. Und es ist eine Flotte anderer Tools, die für Meister Jahre brauchen.

Hat jemand hier versucht, Java für ein Jahr zu codieren und dann zurück zu PHP (oder einer anderen Skriptsprache) gegangen. Es ist schwierig. Es fühlt sich unangenehm an.

Ich arbeite für ein Fortune 500-Unternehmen und Java-Entwickler könnten nicht das tun, was PHP-Entwickler tun, und PHP-Entwickler könnten nicht das tun, was Java-Entwickler tun. Aber beide machen es finanziell gut, weil sie Spezialisten auf ihrem Gebiet sind, die Sprache ihrer Wahl und die Fülle der Werkzeuge, die damit einhergehen.

coder3
quelle
0

Sprache und Plattform sind nicht so wichtig. Lernen Sie solide Menschen und Fähigkeiten im Bereich Comp-Sci. Viele Leute haben das gesagt, aber keine Einzelheiten angegeben. Lassen Sie mich das tun. Hier sind einige Dinge zu lernen

  • Algorithmen und Datenstrukturen.
  • Parallelität
  • Maschinelles lernen
  • Programmierung auf Systemebene
  • Informationsbeschaffung und Suchmaschinen
jshen
quelle