Ich beschloss, meine Erfahrungen mit dem "erfolgreichen" Erlernen der Programmiersprache (n) zu teilen.
Um nicht zu sagen, dass ich ein kompletter Laie in der IT-Branche bin, aber mein Ausbildungsplan "IT-Entwickler werden" ging mit einem Knall aus allen Nähten.
Ein bisschen Hintergrund.
Ich muss sofort sagen, dass ich keine gezielte Ausbildung in Informatik absolviert habe. Und meine Spezialisierung auf Bildung ist alles andere als technisch. Er arbeitete seit 2005. bis 2012 in verschiedenen kleinen und großen Unternehmen, die in direktem Zusammenhang mit der IT-Branche stehen. Von allem ein bisschen gelernt: Schwester. Die Verwaltung von Windows (sogar MCP, MCSA hat es geschafft), ein wenig VMware (VCP ist auch im Sparschwein), untersuchte zusätzlich eine andere Reihe von Programmen dieses Systems. Administratoren verwenden normalerweise in ihrer täglichen Arbeit.
Ich habe mich im Unternehmensvertrieb versucht, es hat übrigens gut funktioniert. Ich habe es geschafft, ein wenig mit einem Software-Distributor sowie mit Integrator-Unternehmen zusammenzuarbeiten und hatte ein gutes Verständnis für Softwarelizenzierungsrichtlinien. Er plante, Projektmanager zu werden, begann sogar PMBOK, Zeitmanagement und verschiedene internationale Standards wie ISO, Tier zu studieren und wechselte sogar zu PCI DSS.
Aber irgendwann brannte er aus und gab alles auf. Ich war sozusagen 8 Jahre im Urlaub.
Nach einer langen Analyse reifte ich dennoch und erkannte, dass es Zeit war, mich nach Westen und vorzugsweise näher an das Silicon Valley zu wenden, weil Mit Englisch ist es mehr oder weniger normal, man kann sich auf das gewünschte Niveau hochziehen.
Es ist klar, dass dort niemand auf mich wartet, außer Schwester. Administratoren, Verkäufer und Projektmanager gibt es und es gibt genug eigene. Darüber hinaus wird es ohne Kenntnis der Situation auf dem lokalen Markt sofort möglich sein, einen Arbeitsplatz zu finden, zumindest ist dies problematisch.
In meinem Kopf wurde ein Weg gewählt, auf dem es Zeit war, mich als Entwickler weiterzubilden. Es wird einfacher und besser in Bezug auf Aussichten und Arbeit auf dem westlichen Markt sein. Es hat immer einen Mangel an Programmierern auf dem Arbeitsmarkt gegeben, und es gibt immer noch nicht genug Programmierer.
Außerdem wollte ich lange Zeit Programmieren lernen und mich auf SAP-Ausrichtung spezialisieren. Der Weg des unabhängigen Studiums der Grundlagen, die ABAP-Sprache, wurde gewählt, aber dieses Geschäft irgendwie aufgegeben. Ich kann mich nicht erinnern, aus welchem Grund es scheint, weil es schwierig zu verstehen ist.
Nun die Geschichte selbst, lass uns gehen ...
Nach 8 Jahren Pause von der IT im Allgemeinen begann ich, den Arbeitsmarkt in Übersee zu studieren und beschloss, mich zunächst auf die mobile Entwicklung zu spezialisieren. Nachdem ich Programmiersprachen für mobile Anwendungen gegoogelt hatte und mich von der Tatsache inspirieren ließ, dass Google die Kotlin-Sprache offiziell als Prioritätssprache für eine Android-Anwendung angekündigt hatte, entschied ich mich fest, Kotlin in maximal 1 Jahr selbst zu lernen und Pläne für die Einwanderung in einen dauerhaften Wohnsitz in den USA zu machen.
Ein paar Wochen Training und Lesen von Handbüchern reichten aus, um sicherzustellen, dass es in Kotlin ohne Java-Kenntnisse nichts zu tun gibt. Obwohl im Internet, sagen viele Leute, dass man von Grund auf lernen kann. Und nachdem ich mich bei GitHub registriert, IntelliJ IDEA, JDK installiert und versucht hatte, den Code zu verstehen, wurde mir bereits klar, dass ich sehr, sehr lange und hart lernen muss.
Es wurde beschlossen, Kotlin vorerst beiseite zu legen und tiefer in die Java-Sprache einzutauchen. Und so tat er es. Eh, ich erinnere mich, dass Java zu meiner Zeit noch SUNs Idee war.
Ich habe ohne Bedauern schnell zu Java gewechselt. und es gibt mehr Handbücher zum Selbststudium und es gibt viel mehr offene Stellen für Java-Entwickler. Ich habe zwar nicht entschieden, wo ich anfangen soll, es wäre besser: mit Java oder immer noch zu JS wechseln, aber na ja, ich dachte, ich werde es auf einer Wanderung herausfinden. Ich habe irgendwo in den Foren gelesen, dass es viel einfacher und schneller ist, mit JS in die Entwicklungswelt einzusteigen.
Ich fing an, Java auf normale Weise zu lernen, nachdem ich einen Berg von Artikeln gelesen und eine Reihe von Videos "Wie man ein Java-Programmierer wird" angesehen hatte. Ich habe das Buch von Bruce Eckel "The Philosophy of Java" nach den Empfehlungen vieler Foren heruntergeladen, um die Sprache für Anfänger am besten zu lernen.
Also ich sage dir ehrlich, es ist überhaupt nicht für Anfänger.
Ich habe versucht, nicht darauf zu achten und weiterzulesen, die Verdaulichkeit liegt bei 20-25%, ich habe festgestellt, dass dies nicht funktionieren wird. Wir müssen die C-Sprache verstehen, und selbst in dem Buch, das sie regelmäßig in Schwarzweiß schreiben, ist das Material für Leser gedacht, die die Grundlagen der C-Sprache kennen.
Nun, keine Wahl. Wieder lese ich viele Informationen, Hunderte von Ansichten von Videos zu verschiedenen Themen über die C-Sprache. Ich lade das Buch von Kernighan und Ritchie "C-Sprache" herunter, ich beginne zu studieren, die Assimilation ist schon besser als sozusagen in Java, ungefähr 50-60%, was mir überhaupt nicht gefällt.
Eine Sache war beruhigend, dass echte Entwickler alle mit der C-Sprache begannen und dass nach dem Erlernen von C andere Sprachen, insbesondere Java, um ein Vielfaches schneller und zugänglicher verstanden werden würden.
Titel im Buch wie:
„Dieses Buch ist kein Einführungskurs in die Programmierung. Es setzt voraus, dass Sie mit grundlegenden Programmierkonzepten wie Variablen, Zuweisungsanweisungen, Schleifen, Funktionen vertraut sind. "
oder:
" setzt Grundkenntnisse der grundlegenden Programmierelemente voraus. es erklärt nicht, was ein Computer oder ein Compiler ist, erklärt nicht die Bedeutung von Ausdrücken wie N = N + 1 "
und solchen Sätzen wie:
Symbolische Konstanten.
usw.
Allmählich führte mich zu der Tatsache, dass ich nicht ohne ein Informatikstudium auskommen kann.
Gleichzeitig beginne ich mich mit Computer Sciense zu beschäftigen und lade wieder Tonnen von Büchern herunter. Ich melde mich für den Harvard CS50-Kurs an, lerne die Grundlagen des Programmierens und lese sorgfältig das Buch von Vladston Ferreira Philo "Theoretisches Minimum in der Informatik".
Ich stelle fest, dass das Erlernen der C-Sprache in den Hintergrund tritt und immer mehr Zeit für die Grundlagen der Programmierung aufgewendet wird.
Und wenn in Binärform, Variablen, Funktionen, Schleifen, Compiler, Interpreter, einfache Gleichungen usw. Ich fand es noch mehr oder weniger heraus, dann trieb mich ein Ausdruck wie N = N + 1 und komplexere Gleichungen in eine leichte Betäubung.
Ich habe lange darüber nachgedacht, warum 0 zu 0 gleich 1 ist, und ich habe das Gefühl, dass ich den ganzen Punkt nicht vollständig verstanden habe.
Aber diese Aufgabe ließ mich aufhören, ein Buch über CS zu lesen. Je weiter ich las, desto komplizierter waren die Gleichungen und Probleme bereits:
Ich musste über quadratische Gleichungen googeln, wie es im Buch geschrieben steht, und mich mit den Diskriminanten befassen. Nun, ich habe vergessen, dachte ich, Algebra, mit der das nicht passiert. Da ich das Problem jedoch nicht alleine lösen konnte, musste ich mich an den Mathematiklehrer des Kindes wenden, um Hilfe zu erhalten.
Ich habe eine Lösung gefunden, konnte aber nicht verstehen, wie der Lehrer sie gelöst hat:
Auf meine Frage: „Wie werden solche Gleichungen gelöst?“ Die Antwort war sehr einfach:
„Lehren Sie das Studium einer Funktion, beginnen Sie mit der Analyse und optimieren Sie Probleme. Algebra Grade 10-11 ".
Nun, ich denke, ok, ich werde mir ein paar Videobeispiele für Schulkinder auf Youtube ansehen, ich werde verstehen, wie man sie löst, und dann werde ich die CS-Studie „glocken“.
Und nachdem ich diese Videos über Algebra gesehen hatte, wurde mir klar ...
www.youtube.com/watch?v=RbX_QHxu7Lg
www.youtube.com/watch?v=FVSG7Neopuo
Nicht, dass ich mich nicht daran erinnere, wie ich solche Probleme lösen könnte - ich bin elementar wie es stellte sich heraus, dass ich Algebra für 10-11 Klassen einfach nicht kenne!
Ausdrücke wie: Grenzen, mathematisches Denken, Extremum, Ableitungen, Polynome usw. Für mich war es eine Rede in der Sprache des Maya-Stammes.
Wahrscheinlich blieben meine Mathematikkenntnisse auf dem Niveau des Mathematikunterrichts in den Klassen 5 bis 6.
Ich beginne zu begreifen, dass ich für ein vollständiges Bild des Verständnisses der Informatik die Algebra und dann HigherMat neu lernen muss. Ich schließe nicht aus, dass die Kampagne höchstwahrscheinlich den Physikunterricht und etwas anderes aus dem Lehrplan wiederholen muss. Und bevor ich Java und JS lerne, brauche ich 5 Jahre Algebra und höhere Mathematik.
Laut Wissenschaftlern nur 1,5 Jahre schneller zum Mars und zurück fliegen ...
Nachdem ich die letzten anderthalb Monate des unabhängigen Lernens analysiert hatte, wurde mir klar, dass ich wie ein "Hamster im Rad" bin, als würde ich rennen (lernen) ), aber tatsächlich stehe ich still. Ich habe meine Programmierkenntnisse nicht erweitert, außer dass ich ein Programm in der Sprache C ("Hallo Welt") ausführen kann.
Darüber hinaus scheint eine Menge neuer Informationen, die in mein kleines Gehirn gefallen sind, überhaupt „heruntergefahren“ worden zu sein und weigert sich kategorisch, neue Informationen zu akzeptieren.
Der Algorithmus, den ich zum Erlernen der Programmierung erstellt habe, ist fast am Anfang fehlgeschlagen.
Es wurde klar, dass Sie Ihren Trainingsplan überarbeiten und sich ihm nähern müssen.
Ich bin mir jedoch des Bildes noch nicht ganz bewusst, und von welcher Seite sollte man den Beruf des "Java-Entwicklers" erwerben, da die Standardausbildung aus den Grundlagen der Algebra und der Hochschulbildung sehr lang sein wird und in meinem Fall nicht geeignet ist.
Und da war ich schon irgendwie traurig.
Dauert es so lange, Programmierer ohne technischen Hintergrund zu werden?
Natürlich inspirieren mich Artikel im Internet, in denen Leute schreiben, dass sie in 1,5 Jahren Java-Entwickler geworden sind und nach Deutschland, Kanada und in die USA gereist sind, aber nach meiner traurigen Erfahrung bin ich mir nicht sicher, ob dies möglich ist.
Oder ist es immer noch nicht meins? Und ist der Beruf "Entwickler" für die Elite, für die "Kaste der besonderen Menschen"?
Ich weiß, dass es Leute gibt, die das Programmieren beherrschen, ohne eine höhere Ausbildung in Informatik abgeschlossen zu haben. Es gibt viele von ihnen.
Und ich bin gespannt darauf, mich solchen wunderbaren und zielgerichteten Menschen anzuschließen.
Melden Sie sich in den Kommentaren ab, pliz, der es geschafft hat, die Programmierung zu beherrschen, sowie in Ihrer Vision, warum mein Plan und mein Lernansatz fehlgeschlagen sind. Ihre Empfehlungen werden mir sehr nützlich sein und meinen Programmier-Lernplan sowie den Ehrgeiz und die Erwartung des Endergebnisses überarbeiten.
Ich bezweifle, dass ich der einzige bin, der mit einem ähnlichen Problem konfrontiert ist. Ich kann sogar sagen, dass es viele Leute wie mich gibt ...
Vielen Dank im Voraus!