Wie man eine Programmiersprache wählt, um heute zu lernen und einen großen Job in 2 Jahren zu erhalten

Es kann Jahre der engagierten Arbeit dauern, um ein wirklich guter Programmierer zu werden; Gibt es also eine Möglichkeit, die richtige Sprache zu wählen, um von heute an zu beginnen, um morgen eingestellt zu werden?

Es kann Jahre der engagierten Arbeit dauern, um ein wirklich guter Programmierer zu werden;  Gibt es also eine Möglichkeit, die richtige Sprache zu wählen, um von heute an zu beginnen, um morgen eingestellt zu werden?
Werbung

Codierung ist nicht einfach; oder zumindest das Lernen von Code ist nicht, besonders wenn man von vorne anfängt. Es kann Jahre der engagierten Arbeit dauern, um ein wirklich guter Programmierer zu werden; Gibt es also eine Möglichkeit, die richtige Sprache zu wählen, um von heute an zu beginnen, um in ein paar Jahren eingestellt zu werden?

Um das herauszufinden, habe ich diese Frage an unsere Expertengruppe gestellt: Während wir alle schreiben, haben einige von uns auch Programmiererfahrung. Was folgte, war eine interessante Diskussion, die Sie lesen sollten, bevor Sie sich auf den Weg machen, Pro-Coder zu werden.

Eine Methode zum Wahnsinn?

crazy

Dies ist nicht das erste Mal, dass wir über die Auswahl einer Programmiersprache diskutieren: Wir haben bereits im Jahr 2011 diskutiert, welche Programmiersprache Sie für die Softwareentwicklung lernen sollten. Welche Programmiersprache sollten Sie für die Softwareentwicklung lernen? Welche Programmiersprache sollten Sie für die Softwareentwicklung lernen? Wenn Sie auf dem Weg der Programmierung beginnen, ist es wichtig, dass Sie Ihre Zeit sinnvoll investieren, um etwas zu lernen, das Ihnen in der unmittelbaren Zukunft mit sichtbaren Ergebnissen auf Ihrer Plattform von ... Lesen Sie mehr, sowie welche Sie sollten lernen für Web-Programmierung Welche Programmiersprache zu lernen - Web-Programmierung Welche Programmiersprache zu lernen - Web-Programmierung Heute werfen wir einen Blick auf die verschiedenen Web-Programmiersprachen, die das Internet antreiben. Dies ist der vierte Teil einer Anfänger-Programmierserie. In Teil 1 lernten wir die Grundlagen von ... Read More.

Es geht aber nicht um einen Ratschlag (wie "gehe mit JavaScript"), sondern um eine Methodik - etwas, was Menschen theoretisch in zwei Jahren ab heute nutzen könnten. Wie finde ich heraus, welche Sprachen auf dem Vormarsch sind? Welchen Code-Popularität Metriken zu vertrauen und was zu misstrauen (und warum)? Was sind die besten Webseiten für Lohnprojektionen? Ist GitHub ein Hinweis oder nicht?

Zum Beispiel finden Sie heutzutage niemanden, der über PHP sprudelt - aber viele, viele Entwickler machen einen guten Lebensunterhalt damit, PHP zu programmieren, und es ist immer noch der Hauptteil dessen, was im Web läuft. Ist das Lernen von PHP jetzt eine schlechte Idee? (Wahrscheinlich…)

Es gibt keine eine Sprache

choices

Dies ist der Ort, an dem James, unser Webentwickler und Tech-Typ, eintrat:

Programmierer lernen in der Regel sowieso keine Sprache. Jeder, der die klassische CompSci-Route einschlägt, erhält am Ende viel Java, ein bisschen Haskell, einige Prolog, wenn sie einen Kurs in KI machen, einen Knoten, wenn sie einen Kurs in Start-up-Technik machen, etwas PHP, wenn sie traditionell lernen CMS, einige .NET, wenn sie in einem wertlosen Firmenbüro arbeiten, ein bisschen JavaScript, wenn sie Webdesign machen, etwas C ++, wenn sie Game Design machen und schließlich Ruby, wenn sie ihr Leben mit obskuren Sprachen verschwenden wollen verwendet tatsächlich.

Es gibt keine "Methodik", und Sie wählen keine Sprache zum Lernen: Sie wählt Sie!

Eine Sprache zu lernen, ist so, als würde man ein Jahr lang nur Digestifs essen, wenn es einen ganzen Gang Kekse gibt. Und im Ernst, wer wählt Jobs nach dem geplanten Gehalt?

Aber was, wenn Sie CompSci nicht lernen?

Ich antwortete James und sagte:

Hier ist die Sache: Dies ist nicht für jemanden, der die klassische CompSci-Route nimmt. Gemessen an der MOOC-Explosion und der Anzahl von Online-Programmierkursen, nehmen viele Leute die Codierung von Grund auf neu auf. Und wenn du so anfängst, brauchst du nur eine Sprache. Vielleicht werden Sie sich später davon entfernen, aber diese erste Sprache wird eine kritische Investition von Zeit und Mühe sein - also lohnt es sich besser.

Was mich am meisten ansprach, ist das letzte bisschen, sagte er - wer wählt Jobs nach dem geplanten Gehalt . Ich denke, manche Leute machen das, aber ich denke auch, dass das kein guter Weg ist.

Wenn es darauf ankommt, versuchen die Leute herauszufinden, mit welcher Sprache sie anfangen sollen, und der Gebrauch, den die Sprache in der realen Welt bekommt, trägt Gewicht in dieser Entscheidung (nicht nur, wie leicht es zu lernen ist - Pascal ...).

Wählen Sie zuerst ein Projekt, dann eine Sprache

trending-projects

James kam zurück mit:

Okay, vielleicht sollte einer der Punkte dieser Methode lauten: Sie haben keine Methodik. Als ich zum ersten Mal auf PHP stieß, war es WordPress. Ich hatte einen CompSci-Hintergrund in der Programmierung und einige Web-Design-Erfahrung, aber ich hatte PHP noch nie zuvor gesehen. Ich habe es gelernt, weil WordPress einfach genug aussah und ich mich mit WordPress anlegen wollte. Nicht, weil ich mir eine Liste von Trendtechnologien angesehen hätte, oder über einen Karrierewechsel nachgedacht hätte, sondern weil etwas Cooles, das ich wissen wollte, es nutzte.

Wenn jemand die Programmierung nur für den Zweck eines Jobs lernen wollte, würden sie scheitern. Wenn sie nur schauten, weil sie den Klang des Lernens mögen, wie man etwas programmiert, wäre es egal, welche Sprache sie gewählt haben, solange es ihre Leidenschaft entzünden könnte.

Ein weiterer Grund, ein Projekt zuerst auszuwählen

Dies ist, als Simon mit einem pragmatischen Rat eintrat:

In erster Linie kommt es darauf an, ob Sie für das Web oder "Standard" Software entwickeln wollen.

Für Letzteres ist Java ziemlich gut:

  • Einfaches OO
  • Multi-Plattform (Linux, Windows, Mac, Android)
  • Eine ähnliche Syntax wie viele andere Programmiersprachen (JS, C #).

Ich kann nicht viel über Web-Entwicklung sagen, obwohl HTML / JS / CSS / PHP / MySQL für viele Leute zu funktionieren scheint. Python auch.

Aber ja, das "um dich in 2 Jahren einen tollen Job zu bekommen" ärgert mich auch. Betont den falschen Aspekt des Lernens, wie man programmiert. Sobald Sie programmieren können, ist es ziemlich einfach, eine andere Sprache zu verstehen.

Wenn man sich anstellt, eine bestimmte Sprache zu kennen, ist es ähnlich, sich als PA zu bewerben, um zu wissen, wie man mit MS Excel umgeht. Wenn das die Hauptqualifikation ist, wird es wahrscheinlich eine schlechte Arbeit sein.

Lerne keine Sprache: Lern ​​Software Design

software-design

Ein Konsens begann sich zu bilden. Bruce Epper, von MakeUseOf Answers Ruhm, hatte folgendes zu sagen:

Die Sprache selbst spielt keine Rolle. Wenn es um die Programmierung von Jobs geht, sind die wichtigsten Aspekte das Verständnis des grundlegenden Softwaredesigns und der Softwarearchitektur, der Codierprozess im Allgemeinen, das Wissen über Entwurfsmuster, das Wissen darüber, wann sie zu verwenden sind, und wie man ein bestimmtes Muster auf die Aufgabe anwendet. Alle sind sprachunabhängig. Sobald ein Programmierer diese kennt, ist es eine Leichtigkeit, eine völlig neue Sprache zu erlernen.

Es gibt sogar Projektmanagement-, Dokumentations- und Schreibfähigkeiten, die für einen Programmierer wichtiger sind, als eine bestimmte Sprache zu kennen.

Die Basis, auf der Sie aufbauen: Englisch oder Latein?

Dies war, als Guy eintrat, um uns alle daran zu erinnern, dass die Sprache in gewissem Maße von Bedeutung ist:

latin

Die Sprache selbst ist nicht das Wichtigste, um einen Job zu bekommen, stimme ich zu. Die Basis, auf der Sie bauen, funktioniert jedoch. Da ich beide Routen gemacht habe, werde ich Programmiersprachen mit menschlichen Sprachen vergleichen.

Python scheint das Englische von heute zu sein. Mehr und mehr, ich sehe Intro CompSci und Programmierkurse starten Sie mit Python anstelle von Java, die seit etwa 10 Jahren am populärsten schien. Sie können viel mit Python machen.

C ++ ist das Latein der Programmierwelt. Wenn Sie es lernen, können Sie die zugrunde liegenden Prinzipien einer Vielzahl von Sprachen lernen und sie leichter lernen. Python wäre ein Kinderspiel, wenn Sie in C ++ gut fundiert sind.

Was ist ein "Programmier-Job"?

Jetzt war Matthew an der Reihe, um uns alle daran zu erinnern, dass ein Kodierer für verschiedene Menschen sehr unterschiedliche Dinge bedeuten kann:

suit

Eine Sache, über die nicht ausführlich gesprochen wurde, ist die Art von Programmierarbeit, die Sie wünschen.

Sind Sie nicht zu nervös wegen der Vergünstigungen, die bei den Mitarbeitern von Startup geworfen werden? Willst du Stabilität und ein ordentliches Gehaltspaket, aber keine Billigkeit? Trägst du gerne Geschäftskleidung? Lernen Sie C #, Java oder COBOL. COBOL hat auch den Vorteil, dass jede einzelne Banking-Anwendung, die jemals konzipiert wurde (Übertreibung, aber Sie haben die Idee), darin geschrieben wurde. Mit den meisten COBOL-Entwicklern, die entweder im Ruhestand oder tot sind, gibt es eine große Nachfrage nach COBOL-Entwicklern mit einigen sechsstelligen Gehältern! Sie arbeiten jedoch an großen, schlecht geschriebenen Codebasen, die über mehrere Jahrzehnte hinweg erstellt wurden. Das ist nicht lustig.

Aber was, wenn Arbeitsplatzsicherheit nicht dein Ding ist? Möchten Sie an interessanten Produkten arbeiten, aber sind Sie bereit, einen Job zu verlieren, wenn das Geschäftsmodell nicht funktioniert? Ich habe festgestellt, dass das (Hacker News) ein todsicherer Weg ist, die Sprachen zu finden, die von Startups verwendet werden. Als ich in einem frühen Job internierte, verwendeten wir eine Mischung aus Go, Python und CoffeeScript. Andere Startups verwenden Rails und Groovy und alle möglichen obskuren Frameworks und Sprachen. Wählen Sie einfach einen aus und Sie werden irgendwo einen interessanten Job finden.

Neuer Code oder Alt?

Das Schreiben neuen Codes ist eine ganz andere Erfahrung als die Pflege einer bestehenden Anwendung, wie Bruce hinzugefügt hat:

Mit Ihren Kommentaren zu COBOL haben Sie eine weitere Überlegung angestellt: Möchten Sie an neuem Code arbeiten oder den Code von jemand anderem pflegen? Dies kann ein großer Gegenstand sein, wenn Sie entscheiden, in welche Richtung Sie sich bewegen möchten. Bei kleineren Projekten ist die Pflege einer Codebase, die von jemand anderem geschrieben wurde, nicht so schlimm, aber ich habe einige Codeabschnitte gesehen, in denen mehrere Leute stundenlang anstarren und fragen: "Was dachte dieser Typ?" Oder wo das Original ist Der Programmierer nutzte eine bestimmte Funktion oder einen Fehler im Compiler (der im aktuellen Compiler möglicherweise behoben wurde), um etwas zu erreichen.

Was, wenn Sie keine Wahl haben?

Guy kam zurück, um uns alle daran zu erinnern, dass nicht jeder eine große Auswahl hat:

choice

Matthew wirft eine gute Frage auf: " Was für einen Programmierjob willst du? "

Seltsamerweise hatte ich nie wirklich gedacht, dass ich in dieser Sache viel Auswahl haben würde. Ich wusste, dass ich Web-Entwicklung machen wollte, als ich anfing, andere Freizeitprogramme zu machen. Aber ich dachte, ich sollte besser bereit sein, jede Arbeit anzunehmen, die ich bekommen konnte und bereit zu sein, zu lernen, während ich ging. Jetzt bin ich ein Tausendsassa, ich beherrsche mehrere Technologien - Meister von keinem.

Um herauszufinden, wo Sie arbeiten möchten, ist es wichtig, den Lebensstil zu bestimmen, den Sie wünschen. Dann schauen Sie sich die Beiträge jener Unternehmen an, die Ihren Kriterien entsprechen und sehen, wonach sie suchen. Es kann auch sehr hilfreich sein, ein Portfolio von ähnlichen Dingen zusammenzustellen, vor allem, wenn Sie keine formelle Ausbildung in den Technologien haben, die sie verwenden. Vielleicht hast du Java in der Schule gelernt, aber sie benutzen C #. Also bringst du dir C # bei und tust ein paar Programme damit als Beweis, dass du weißt, was du tust und dass du flüssige Intelligenz hast.

Keine einfache Antwort

Wenn es etwas gibt, was diese Diskussion zeigt, dann haben einfache Fragen nicht immer einfache Antworten. Und nachdem ich die Meinungen aller gelesen hatte, fühlte ich mich viel besser informiert - sie haben meine Meinung geändert.

Ich bin mir sicher, dass wir hier nicht alle möglichen Standpunkte erfasst haben - dafür steht der Kommentarteil. Ich wäre sehr interessiert, Ihre Meinung zu dieser Frage zu hören, ob Sie ein Programmierer sind oder nicht. Wie würden Sie eine Programmiersprache wählen, um in zwei Jahren einen guten Job zu bekommen? Ist das überhaupt eine gute Möglichkeit, eine Sprache auszuwählen? Teile deine Gedanken unten.

In this article