Interessieren Sie sich für das Programmieren und machen Sie etwas, weil es Spaß macht. Stellen Sie sicher, dass es immer genug Spaß macht, damit Sie bereit sind, Ihre zehn Jahre / 10.000 Stunden einzuplanen.
Programm . Die beste Art des Lernens ist Lernen durch Handeln. Technischer ausgedrückt: "Das maximale Leistungsniveau für Personen in einem bestimmten Bereich wird nicht automatisch als Funktion erweiterter Erfahrung erreicht, aber das Leistungsniveau kann selbst von sehr erfahrenen Personen aufgrund gezielter Verbesserungsbemühungen gesteigert werden." . " (S. 366) und "das effektivste Lernen erfordert eine genau definierte Aufgabe mit einem angemessenen Schwierigkeitsgrad für die jeweilige Person, informatives Feedback und Möglichkeiten zur Wiederholung und Korrektur von Fehlern." (S. 20-21) Das Buch Erkenntnis in der Praxis: Geist, Mathematik und Kultur im Alltag ist eine interessante Referenz für diesen Standpunkt.
Sprechen Sie mit anderen Programmierern. andere Programme lesen . Dies ist wichtiger als jedes Buch oder jeder Schulungskurs.
Wenn Sie möchten, geben Sie vier Jahre an einem College (oder mehr an einer Graduiertenschule) ein. Auf diese Weise erhalten Sie Zugang zu einigen Jobs, für die Anmeldeinformationen erforderlich sind, und erhalten ein tieferes Verständnis des Fachgebiets. Wenn Sie jedoch keine Freude an der Schule haben, können Sie (mit etwas Engagement) ähnliche Erfahrungen allein oder beruflich sammeln . In jedem Fall reicht das Lernen von Büchern allein nicht aus. "Die Informatikausbildung kann niemanden zu einem erfahrenen Programmierer machen, genauso wenig wie das Studium von Pinseln und Pigmenten jemanden zu einem erfahrenen Maler machen kann", sagt Eric Raymond, Autor des New Hacker's Dictionary. Einer der besten Programmierer, den ich jemals eingestellt habe, hatte nur einen High School-Abschluss; Er hat eine Menge großartiger Software produziert, eine eigene Newsgroup und genug Aktienoptionen, um seinen eigenen Nachtclub zu kaufen.
Arbeiten Sie mit anderen Programmierern an Projekten . Seien Sie der beste Programmierer bei einigen Projekten. sei das Schlimmste bei einigen anderen. Wenn Sie der Beste sind, können Sie Ihre Fähigkeiten testen, um ein Projekt zu leiten und andere mit Ihrer Vision zu inspirieren. Wenn du am schlimmsten bist, lernst du, was die Meister tun, und du lernst, was sie nicht gerne tun (weil sie dich dazu bringen, es für sie zu tun).
Arbeiten Sie an Projekten nach anderen Programmierern . Verstehe ein Programm, das von jemand anderem geschrieben wurde. Sehen Sie, was es braucht, um es zu verstehen und zu beheben, wenn die ursprünglichen Programmierer nicht da sind. Überlegen Sie, wie Sie Ihre Programme so gestalten können, dass sie für diejenigen einfacher sind, die sie nach Ihnen warten.
Lernen Sie mindestens ein halbes Dutzend Programmiersprachen. Schließen Sie eine Sprache ein, die Klassenabstraktionen unterstützt (wie Java oder C ++), eine, die funktionale Abstraktion unterstützt (wie Lisp oder ML), eine, die syntaktische Abstraktion unterstützt (wie Lisp), eine, die deklarative Spezifikationen unterstützt (wie Prolog oder C ++ - Vorlagen), eine das unterstützt Coroutinen (wie Icon oder Scheme) und eine, die Parallelität unterstützt (wie Sisal).
Denken Sie daran, dass es in "Informatik" einen "Computer" gibt. Wissen Sie, wie lange Ihr Computer benötigt, um eine Anweisung auszuführen, ein Wort aus dem Speicher abzurufen (mit und ohne Cache-Fehler), aufeinanderfolgende Wörter von der Festplatte zu lesen und nach einem neuen Speicherort auf der Festplatte zu suchen. (Antworten hier.)
Beteiligen Sie sich an einer Sprachstandardisierung. Dies kann das ANSI C ++ - Komitee sein oder es kann entscheiden, ob Ihr lokaler Codierungsstil zwei oder vier Leerzeicheneinrückungsstufen aufweist. In jedem Fall lernen Sie, was andere Menschen in einer Sprache mögen, wie tief sie sich so fühlen und vielleicht sogar ein wenig darüber, warum sie sich so fühlen.
Haben Sie den gesunden Menschenverstand, sich so schnell wie möglich von der Standardisierung der Sprache zu lösen.