Nachricht an den zukünftigen Programmierer

Sie haben sich also entschieden, Programmierer zu werden.

Vielleicht sind Sie daran interessiert, etwas Neues zu schaffen.

Vielleicht locken Sie hohe Gehälter.

Vielleicht möchten Sie einfach Ihr Tätigkeitsfeld wechseln.

Nicht der Punkt.

Entscheidend ist, dass Sie entscheiden Werde Programmierer.

Was ist jetzt zu tun?

Nachricht an den zukünftigen Programmierer

Und es gibt mehrere Ansätze.

Erste: zur Universität gehen für eine IT-Fachrichtung und erhalten eine Fachausbildung. Die banalste, relativ zuverlässigste, extrem lange und grundlegendste Methode. Es funktioniert, wenn Sie noch mit der Schule fertig sind oder über die Mittel verfügen, Ihren Lebensunterhalt von anderthalb (im besten Fall, wenn Sie alles im Handumdrehen erlernen und im 2. Jahr mit der Arbeit beginnen können) bis vier (wenn Sie Arbeit und Studium kombinieren) zu finanzieren ist nicht deine Stärke) Jahre.

Was ist hier wichtig zu wissen?

  • Es ist notwendig, die richtige Universität auszuwählen. Siehe Trainingsprogramme, Bewertungen. Ein guter Indikator sind Wettbewerbe der Universität. Wenn Universitätsteams bei relativ großen Programmierolympiaden zumindest regelmäßig unter den Top Ten landen, dann wird das Programmieren an der Universität kein Rudiment sein (obwohl Sie persönlich möglicherweise überhaupt kein Interesse an Olympiaden haben). Nun, im Allgemeinen gilt der gesunde Menschenverstand: Es ist unwahrscheinlich, dass Sie in der Bratsker Zweigstelle der Baikal State University zu einem leistungsstarken Full-Stack werden.
    Beispiele für gute Universitäten: Staatliche Universität Moskau/Staatliche Universität St. Petersburg (natürlich), Baumanka (Moskau), ITMO (St. Petersburg), NSU (Nowosibirsk). Trotz aller Eminenz ist es durchaus möglich, mit kleinem Budget einzusteigen, wenn man nicht auf Top-Abteilungen abzielt.
  • Nicht nur eine Universität. Trotz der Tatsache, dass Sie in allen möglichen Bereichen umfassend geschult werden, reicht dies nicht aus. Aufgrund der Bürokratie bleibt das Ausbildungsprogramm fast immer hinter modernen Trends zurück. Bestenfalls für ein oder zwei Jahre. Im schlimmsten Fall – für 5-10 Jahre. Den Unterschied müssen Sie selbst ausgleichen. Nun, das Offensichtliche: Wenn Sie den Stoff zusammen mit anderen Studenten studieren, wird jeder von ihnen Ihr gleichwertiger Konkurrent sein. Wenn Sie optional die Nase vorn haben, werden Sie auf dem Markt viel besser aussehen.
  • Suchen Sie so früh wie möglich nach einem Job. Ich habe im zweiten Jahr angefangen zu arbeiten. Am Ende meines Studiums war ich bereits ein ziemlich mittlerer Entwickler und kein bescheidener Junior ohne Erfahrung. Ich denke, es ist offensichtlich, dass es nach dem College-Abschluss angenehmer ist, 100 zu verdienen, als 30. Wie erreicht man das? Sehen Sie sich zunächst die Punkte A und B an. Zweitens besuchen Sie Treffen, Festivals, Konferenzen und Jobmessen. Beobachten Sie den Markt und versuchen Sie, einen Job als Teilzeit-Junior/Trainee in jedem Unternehmen zu bekommen, für das Sie zumindest annähernd geeignet sind. Haben Sie keine Angst vor kostenpflichtigen Konferenzen: Sie bieten oft sehr schöne Rabatte für Studenten an.

Wenn Sie alle diese Punkte beachten, können Sie bis zum Erhalt Ihres Diploms ein äußerst guter Spezialist mit Berufserfahrung und einer Fülle von Grundlagenkenntnissen sein, die Autodidakten aufgrund ihrer Unanwendungsfähigkeit oft vernachlässigen. Nun, die Kruste kann hilfreich sein, wenn Sie ins Ausland gehen: Dort sieht man sich das ziemlich oft an.

Wenn Sie sich nicht daran halten ... Nun, Sie können eine Punktzahl erreichen, indem Sie mit dem Strom schwimmen, abschreiben und sich über Nacht auf die Prüfung vorbereiten. Aber wie wettbewerbsfähig werden Sie dann Ihrer Meinung nach sein? Natürlich sage ich nicht, dass man in allem eine Eins bekommen muss. Sie müssen sich nur Wissen aneignen. Benutzen Sie Ihren gesunden Menschenverstand. Studieren Sie, was interessant und nützlich ist, und kümmern Sie sich nicht um Noten.

Nachricht an den zukünftigen Programmierer

Die Hauptsache ist nicht, was sie einem aufdrängen wollen. Die Hauptsache ist, was interessant und relevant ist

-

Ferner zweite Methode: Programmierkurse. Im Internet wimmelt es nur so von Angeboten, mit denen Sie in nur drei Unterrichtsmonaten zum Junior werden können. Nur mit einer Mappe, und sie helfen Ihnen sogar bei der Jobsuche. Nur 3 pro Monat, ja.
Vielleicht funktioniert das für einige, aber meiner Meinung nach ist das völliger Blödsinn. Verschwenden Sie nicht Ihre Zeit und Ihr Geld. Und deshalb:

Eine Person, die weit von der IT entfernt ist, wird in 3 Monaten nicht in der Lage sein, die Besonderheiten des Berufs zu verstehen. Auf keinen Fall. Es gibt zu viele Informationen, die man aufnehmen muss, zu viel, um sie zu verstehen, und außerdem zu viel, um sich daran zu gewöhnen.

Was werden sie dir dann verkaufen? Sie werden Ihnen eine „mechanische Fähigkeit“ verkaufen. Ohne viel ins Detail zu gehen, zeigen sie Ihnen, was Sie schreiben müssen, um genau dieses Ergebnis zu erzielen. Mit ausführlichen Anweisungen und der Hilfe eines Lehrers verfassen Sie eine Art Bewerbung. Eins, maximal zwei. Hier ist das Portfolio. Und Hilfe bei der Jobsuche ist das Versenden von Stellenangeboten an Nachwuchskräfte von großen Unternehmen, bei denen es unwahrscheinlich ist, dass Sie ein Vorstellungsgespräch bekommen.

Warum ist das so? Es ist ganz einfach: Für einen Programmierer ist es sehr wichtig, abstrakt zu denken. Ein Programmierer löst Probleme, die auf eine Milliarde Möglichkeiten gelöst werden können. Und die Hauptaufgabe besteht darin, aus Milliarden die richtige auszuwählen und umzusetzen. Das Erstellen von ein oder zwei Projekten nach Anleitung vermittelt Ihnen zwar einige Kenntnisse einer Programmiersprache, bringt Ihnen aber nicht bei, wie man abstrakte Probleme löst. Um eine Analogie zu ziehen: Stellen Sie sich vor, dass man Ihnen Orientierungslauf beibringt, Sie auf ein paar einfache Wanderrouten mitnimmt und Ihnen dann sagt, dass Sie bereit sind, die Taiga im Winter allein zu erobern. Nun ja, Ihnen wurde beigebracht, einen Kompass zu benutzen und ein Feuer ohne Streichhölzer anzuzünden.

Um es zusammenzufassen: Glauben Sie nicht denen, die versprechen, Sie in kurzer Zeit zu „rollen“. Wenn das möglich wäre, wäre jeder längst Programmierer geworden.

Nachricht an den zukünftigen Programmierer

Links: Was Ihnen beigebracht wird. Rechts: Was wird von Ihnen bei der Arbeit verlangt?

-

Der dritte Weg - der von der Mehrheit gewählte Weg. Selbstbildung.

Der schwierigste, aber vielleicht edelste Weg. Schauen wir es uns genauer an.

Sie haben sich also entschieden, Programmierer zu werden. Wo soll man anfangen?

Zunächst müssen Sie sich die Frage beantworten: Warum wollen Sie das? Wenn die Antwort lautet „Na ja, es ist natürlich nicht besonders interessant, aber sie zahlen viel.“, dann können Sie dort aufhören. Dies ist nicht der richtige Ort für Sie. Selbst wenn Ihre Willenskraft ausreicht, um eine Menge Informationen zu sichten, Tausende von Zeilen Code zu schreiben, Hunderte von Misserfolgen zu ertragen und trotzdem einen Job zu bekommen, führt dies ohne Liebe zum Beruf nur zu einem emotionalen Burnout. Das Programmieren erfordert einen enormen intellektuellen Aufwand, und wenn dieser Aufwand nicht durch eine emotionale Gegenleistung in Form der Zufriedenheit mit einem gelösten Problem angetrieben wird, wird das Gehirn früher oder später verrückt spielen und Sie der Fähigkeit berauben, überhaupt etwas zu lösen . Nicht das angenehmste Szenario.

Wenn Sie sicher sind, dass Sie daran interessiert sind, können Sie im Einzelnen entscheiden – was genau Sie tun möchten. Wenn Sie nicht wissen, wie sich Programmierer voneinander unterscheiden können, kann Google Ihnen helfen.

Den ersten Ratschlag schreibe ich gleich auf, damit du nicht vergisst: Englisch lernen. Englisch ist erforderlich. Ohne Englisch kommt man nirgendwo hin. Auf keinen Fall. Ohne Englisch kann man kein normaler Programmierer werden. Das ist es.

Als nächstes empfiehlt es sich, eine Roadmap zu erstellen: einen Plan, nach dem Sie sich weiterentwickeln. Studieren Sie die Besonderheiten, schauen Sie sich offene Stellen in Ihrem Fachgebiet an, finden Sie oberflächlich heraus, welche Technologien dort eingesetzt werden.

Eine Beispiel-Roadmap für einen Backend-Programmierer (natürlich nicht jedermanns Sache, dies ist nur eine der möglichen Optionen):

  1. Grundlagen von HTML/CSS.
  2. Python. Grundlagen.
  3. Netzwerkprogrammierung. Interaktion zwischen Python und Web.
  4. Rahmenbedingungen für die Entwicklung. Django, Flasche. (Anmerkung: Um zu verstehen, um welche Art von „Django“ und „Flasche“ es sich handelt, müssen Sie sich die Stellenangebote ansehen und lesen, was dort erforderlich ist.)
  5. Eingehende Untersuchung von Python.
  6. js-Grundlagen.

Es sehr, Ich wiederhole, sehr ein grober Plan, bei dem jeder Punkt für sich genommen riesig ist und viele Themen nicht enthalten sind (z. B. Code-Tests). Dies ist jedoch zumindest eine Art Systematisierung des Wissens, die es Ihnen ermöglicht, sich nicht darüber zu verwirren, was Sie wissen und was nicht. Während wir uns damit befassen, wird klarer, was fehlt, und dieser Fahrplan wird ergänzt.

Als nächstes: Finden Sie die Materialien, die Sie zum Lernen verwenden werden. Wichtigste mögliche Optionen:

  • Online Kurse. Nicht die Kurse „Juni in 3 Tagen“, sondern solche, die eine bestimmte Sache lehren. Oft sind diese Kurse kostenlos. Beispiele für Websites mit normalen Kursen: Stepik, coursera.
  • Online-Lehrbücher. Es gibt kostenlose, Shareware und kostenpflichtige. Sie werden selbst herausfinden, wo Sie bezahlen müssen und wo nicht. Beispiele: htmlacademy, learn.javascript.ru, Django-Buch.
  • Bücher. Es gibt viele, viele davon. Wenn Sie sich nicht entscheiden können, drei Ratschläge: Versuchen Sie, neue Bücher mitzunehmen, denn... Informationen veralten sehr schnell; Der O'Reilly-Verlag verfügt über ein recht hohes Qualitätsniveau und eine normale Präsentation. Wenn möglich, lesen Sie auf Englisch.
  • Meetups/Konferenzen/Vorträge. Nicht so nützlich im Hinblick auf den Informationsreichtum, aber äußerst nützlich im Hinblick auf die Möglichkeit, mit Kollegen zu kommunizieren, relevante Fragen zu stellen und neue Bekanntschaften zu knüpfen. Vielleicht finden Sie sogar eine freie Stelle.
  • Google. Viele Menschen unterschätzen, aber die Fähigkeit, auf manche Fragen einfach Antworten zu finden, ist sehr wichtig. Googlen Sie ruhig Dinge, die Sie nicht verstehen. Sogar erfahrene Senioren tun dies. Die Fähigkeit, schnell Informationen über etwas zu finden, ist im Wesentlichen dasselbe wie es zu wissen.

Okay, wir haben uns für die Informationsquellen entschieden. Wie arbeitet man mit ihnen?

  1. Lesen/hören Sie sorgfältig. Lesen Sie nicht, wenn Sie müde sind. Vertiefen Sie sich in die Bedeutung und überspringen Sie nicht die Punkte, die offensichtlich erscheinen. Der Übergang vom Offensichtlichen zum Unverständlichen geschieht oft recht schnell. Schauen Sie ruhig noch einmal vorbei und lesen Sie es noch einmal.
  2. Mache Notizen. Erstens ist es für Sie einfacher, Ihre Notizen zu verstehen, wenn viele Informationen vorhanden sind. Zweitens werden die Informationen so besser aufgenommen.
  3. Erledigen Sie alle Aufgaben, die Ihnen die Quelle vorschlägt. Obwohl nein, nicht so. Tun ALL Aufgaben, die Ihnen die Quelle bietet. Sogar diejenigen, die einfach erscheinen. Vor allem solche, die zu kompliziert erscheinen. Wenn Sie nicht weiterkommen, bitten Sie um Hilfe Paketüberfluss, zumindest über Google Translate. Die Aufgaben werden aus einem bestimmten Grund geschrieben; sie werden für die korrekte Aufnahme des Stoffes benötigt.
  4. Überlegen Sie sich selbst Aufgaben und erledigen Sie diese auch. Idealerweise sollte es mehr Praxis als Theorie geben. Je fester Sie das Material befestigen, desto wahrscheinlicher ist es, dass Sie es in einem Monat nicht vergessen.
  5. Optional: Überlegen Sie sich beim Lesen selbst Quizfragen. Schreiben Sie knifflige Fragen in einer separaten Quelle auf und lesen Sie sie nach einer Woche oder einem Monat und versuchen Sie, sie zu beantworten. Wenn es nicht funktioniert, versuchen Sie es erneut.

Und wir wiederholen diese 5 Punkte für jede untersuchte Technologie. Nur so (mit einem gründlichen Studium der Theorie und einer dichten Berichterstattung über die Praxis) entwickeln Sie eine hochwertige Wissensbasis, mit der Sie zum Profi werden können.

Und es scheint, dass alles einfach ist: Wir lernen nacheinander Technologien, verstehen Zen und machen uns an die Arbeit. So ist es, aber es ist nicht so.

Die meisten Leute, die Programmieren lernen, gehen ungefähr so ​​vor:

Nachricht an den zukünftigen Programmierer

Das Bild ist ehrlich gesagt gestohlen daher

Und hier müssen Sie sich jeden der Schritte genauer ansehen:

Starten: Du hast null Wissen. Abfahrtsort. Noch ist nichts klar, aber es ist wahrscheinlich äußerst interessant. Der Weg beginnt bergauf, aber leicht. Sehr bald wirst du klettern

Gipfel der Torheit: „Hurra, Sie haben Ihre ersten paar Kurse abgeschlossen! Alles klappt!“ In diesem Stadium blendet die Euphorie der ersten Erfolge die Augen. Es scheint, dass der Erfolg bereits nahe ist, obwohl Sie noch am Anfang Ihrer Reise stehen. Und während Sie nach diesem Erfolg streben, merken Sie vielleicht nicht, wie Ihr rasanter Fall ins Abgrund beginnt. Und der Name dieser Grube:

Tal der Verzweiflung: Sie haben also die Grundkurse abgeschlossen, einige Bücher gelesen und beschließen, etwas Eigenes zu schreiben. Und plötzlich klappt nicht. Es scheint, dass alles bekannt ist, aber wie man es so kombinieren kann, dass es funktioniert, ist nicht klar. "Ich weiß gar nichts", „Es wird mir nicht gelingen“. In diesem Stadium geben viele Menschen auf. Tatsächlich gibt es Wissen wirklich, und es ist nirgendwo verschwunden. Klare Anforderungen und Unterstützung sind einfach verschwunden. Die eigentliche Programmierung begann. Wenn man sich in einem Raum manövrieren muss, in dem es ein Ziel, aber keine Zwischenstufen gibt, geraten viele Menschen in Benommenheit. Aber in Wirklichkeit ist das nur eine weitere Lernphase – auch wenn die ersten zehn Male alles irgendwie, mit enormem Aufwand, hässlich ausgeht. Die Hauptsache ist, die Sache immer wieder zum Abschluss zu bringen, zumindest irgendwie. Beim elften Mal wird es einfacher. Am fünfzigsten Tag wird eine Lösung erscheinen, die Ihnen schön erscheinen wird. Am Hundertsten wird es nicht mehr gruselig sein. Und dann wird es kommen

Hang der Aufklärung: In diesem Stadium treten die Grenzen Ihres Wissens und Ihres Unwissens deutlich hervor. Unwissenheit ist nicht mehr beängstigend; es gibt ein Verständnis dafür, wie man sie überwinden kann. Es wird einfacher, ohne Entscheidungen im Weltraum zu manövrieren. Dies ist bereits die Ziellinie. Wenn Sie bereits erkennen, was Ihnen als Spezialist fehlt, werden Sie das Notwendige vervollständigen und festigen und mit ruhiger Seele ins Feld gehen.

Plateau der Stabilität: Glückwunsch. Dies ist die Ziellinie. Sie sind ein Experte. Sie können arbeiten und verlieren nicht den Überblick, wenn Sie mit unbekannter Technik konfrontiert werden. Fast jedes Problem kann gelöst werden, wenn man sich ausreichend anstrengt. Und obwohl dies die Ziellinie ist, ist es nur der Anfang einer noch größeren Reise.

Der Weg des Programmierers.

Viel Glück dabei!

Literatur zur optionalen Lektüre:
Über das Werden eines Programmierers und den Dunning-Kruger-Effekt: tyk.
Hardcore-Weg, in 9 Monaten Programmierer zu werden (nicht für jeden geeignet): tyk.
Liste der Projekte, die Sie während Ihres Studiums selbstständig umsetzen können: tyk.
Nur noch eine kleine zusätzliche Motivation: tyk.

Source: habr.com

Kommentar hinzufügen