Unternehmen der IT-Branche werden als wissensintensive Unternehmen charakterisiert. Die Kernkompetenz solcher Unternehmen steht in engem Zusammenhang mit dem Wissen und den Fähigkeiten ihrer Mitarbeiter. Und wenn Sie in einem Unternehmen die Rolle eines Ingenieurs einnehmen, dann ist Ihre Kernkompetenz Ihr Vorrat an IT-bezogenem Wissen und Können. Wie allgemein bekannt ist, ist die IT-Branche ein Ort, an dem eine große Menge neuen Wissens entsteht. Nehmen wir das Web-Frontend als Beispiel: In nur fünf oder sechs Jahren hat das Web-Frontend mehrere Transformationen durchgemacht, und wie es derzeit aussieht, wird sich die Transformation fortsetzen. Vom früheren div+css-Grid-Layout über den Aufstieg von JavaScript, dann das Ringen verschiedener JavaScript-Frameworks, die Umsetzung von HTML5 und CSS3, responsives Design, das durch die Auswirkungen des mobilen Webs entstanden ist, die völlig unterschiedlichen Konzepte und Arten der DOM-Elementmanipulation in jQuery, AngularJs, ReactJs und der Standardisierungsprozess von Web Components ... Warum stellen Unternehmen überall jetzt Frontend-Ingenieure ein? Es scheint, dass Frontend-Ingenieure plötzlich zu einer knappen Ressource geworden sind. Einer der Gründe ist, dass viele Frontend-Ingenieure mit den Branchenveränderungen nicht Schritt halten können und die aktuellen Fähigkeits- und Anforderungen des Marktes an Frontend-Ingenieure nicht erfüllen können. In diesem Umfeld wird es für Ingenieure entscheidend, die Fähigkeit zum schnellen Lernen zu beherrschen.

191403074249ProgrammingLanguages

Basierend auf meiner eigenen persönlichen Erfahrung und Beobachtungen von Kollegen um mich herum, habe ich die folgende Anleitung, wie man eine neue Technologie schnell meistert (hier umfasst Technologie eine neue IT-Technologie, eine neue Programmiersprache oder ein neues Software-Framework usw.).

Um eine neue Technologie schnell zu meistern, gibt es zunächst zwei Voraussetzungen.
  1. Erstens muss deine Denkweise aktiv Veränderung suchen, es wagen, aus deiner Komfortzone herauszutreten, und eine offene Haltung gegenüber jeder Technologie bewahren.Das Streben nach Komfort ist menschliche Natur. Und diese Natur behindert oft deine Entwicklung. Wie viel Wissen ein Mensch erwerben kann, hängt davon ab, wie groß deine Komfortzone ist. Je größer die Komfortzone, desto größer die Grenze zur Außenwelt, und desto mehr spürst du deine eigene Unwissenheit. Programmierer sollten mindestens zwei Dinge tun:Hege keine Vorurteile gegenüber Technologien, die du nicht verstehst, und fürchte dich nicht vor Technologien, mit denen du nicht vertraut bist.。
  2. Verwandle passives Lernen in aktives Lernen.Eine große Anzahl von Programmierern in China lernt jeden Tag passiv. Was ist passives Lernen? Es ist Lernen, das von Personen oder Ereignissen erzwungen wird. Heute wird ein neues Projekt gestartet, und während der technischen Recherche willst du keine neuen Technologien einsetzen; du schlägst nur Material nach, wenn du während der Entwicklung auf Schwierigkeiten stößt. Den ganzen Tag kopierst und verwendest du Code wieder, der von anderen oder von dir selbst in der Vergangenheit geschrieben wurde, und wenn nach dem Kopieren Probleme auftreten, dauert es lange, sie zu lösen. Zum Beispiel kennt ein Programmierer, der Spring mehrere Jahre verwendet hat, möglicherweise nicht die Kernkonzepte von Spring, kennt möglicherweise nicht die Framework-Struktur von Spring, kennt möglicherweise nicht die Funktionen der Komponenten von Spring und kennt möglicherweise nicht die neuen Funktionen neuer Spring-Versionen. Das ist sehr schrecklich, denn wenn du diese Dinge nicht kennst, kannst du die Best Practices von Spring nicht übernehmen; wenn Probleme auftreten, weißt du nicht, wie du sie schnell lokalisieren kannst; und bestimmte Anforderungen in deinen Projekten können die von Spring bereits gekapselten Funktionen nicht nutzen (weil du nicht weißt, dass Spring das kann). Aktives Lernen erfordert, dass du dich auf die Zukunft vorbereitest und Dinge nicht bis zur letzten Minute aufschiebst. Außerdem solltest du Lernen als Akkumulation und Verbesserung für dich selbst betrachten, als langfristige Investition in dich selbst, und du solltest nicht übermäßig utilitaristisch sein.

Manche Leute sagen: Ich mag einfach die Komfortzone, ich mag aktives Lernen einfach nicht. Gibt es gute Wege oder Methoden, diese beiden Punkte zu ändern? Um ehrlich zu sein, ist die Hilfe, die ich dir bieten kann, sehr begrenzt. Wie es in einer Zeile aus „The Continent“ heißt: „Ich habe viele große Wahrheiten gehört, aber ich kann dieses Leben trotzdem nicht gut leben.“ Diese beiden Punkte hängen weiterhin eher von dir persönlich ab. Und ich glaube, die folgenden Punkte können dir helfen.

  1. Bevor man eine neue Technologie lernt, sollte man zunächst herausfinden, warum man sie lernen möchte. Wie haben wir gearbeitet, bevor diese Technologie existierte? Wie arbeiten wir, nachdem wir sie haben? Welche Veränderungen bringt sie mit sich? Diese Fragen zu stellen bedeutet eigentlich zu verstehen, welche Probleme im Problembereich die Technologie löst oder vereinfacht und auf welche Weise sie solche Effekte erzielt. Nehmen wir AngularJS als Beispiel. AngularJS wurde ursprünglich entwickelt, um die Defizite von HTML beim Erstellen von Anwendungen auszugleichen. Früher war HTML dafür gedacht, Multimedia-Informationen anzuzeigen. Obwohl später einige dynamische Funktionen hinzugefügt wurden, wurden die Defizite im HTML-Design unter dem Trend der Anwendungs-Webifizierung immer offensichtlicher. Zum Beispiel ist die Manipulation von DOM-Elementen zu umständlich, Geschäftslogik ist schwer zu modularisieren, die Testbarkeit ist gering, die Entwicklungseffizienz ist niedrig usw. AngularJS verfolgte ein brandneues Design, um dieses Problem zu lösen. Es schlug eine Reihe von Konzepten vor und führte Funktionen wie Datenbindung, Direktiven, Routing und Dependency Injection ein, was unseren Arbeitsaufwand in der Webentwicklung stark vereinfachte. Auf diese Weise kann man schnell ein Verständnis der Technologie auf Makroebene aufbauen und etwas über ihre potenziellen Anwendungsszenarien, Anwendungsmethoden und einige Einschränkungen lernen.
  2. Als Nächstes sollten Sie tatsächlich die Kernfunktionalität der Technologie nutzen, um Ihr Verständnis zu festigen. Der Weg besteht darin, den Quick-Start-Abschnitt auf der offiziellen Website der Technologie zu Rate zu ziehen und ihn Schritt für Schritt durchzugehen.Programmierer schätzen heutzutage ihre Zeit zunehmend. Die Prägnanz, Vollständigkeit und Leichtigkeit des Einstiegs in die Dokumentation sind zu einem der Indikatoren dafür geworden, ob eine Technologie übernommen wird. Besonders bei den verschiedenen Open-Source-Komponenten heutzutage ist sogar die Dokumentation Open Source.Viele Dokumente sind vollständig nach der Denkweise von Programmierern geschrieben und lesen sich sehr sauber. Nehmen wir wieder Spring: Wenn du die mit Spring 4.0 eingeführte Spring-Boot-Komponente lernen möchtest, kannst du ihreoffizielle Website besuchenDer größte Button auf der Seite ist Quick Start. Klicke und lerne. Die Seite ist ein einfaches Beispiel; es wird dich wahrscheinlich nicht mehr als fünf Minuten kosten. Wenn du noch nicht genug hast, sind rechts weitere aufgelistet

Getting Started Guides, die dir außerdem erweiterte Funktionen Schritt für Schritt beibringen. Manche fragen vielleicht: Was, wenn mein Englisch schlecht ist? Dann lerne Englisch.Englisch ist eine unverzichtbare Fähigkeit für einen exzellenten Programmierer.Manche sagen vielleicht auch: Was, wenn beim Lesen der Dokumentation allerlei Rauschen auftritt? Zum Beispiel musst du, um den Startleitfaden von Spring Boot zu lesen, schon ein gewisses Vorwissen über Spring haben, wissen, wofür Tomcat und Jetty gut sind, und etwas Erfahrung mit Gradle oder Maven haben ... Diese Wissenspunkte werden alle gebraucht, wenn du dieses kleine Spring-Boot-Programm ausprobierst, aber wegen der Störung durch dieses Rauschen wird der Lernprozess verlangsamt. Der einzige Weg, dieses Rauschen loszuwerden, ist, ebenfalls Zeit damit zu verbringen, die Wissenspunkte zu lernen, die du nicht verstehst.Lernen ist also ein positiver Kreislauf: Je mehr du lernst, desto schneller lernst du.

  1. Die ersten beiden Schritte können dir den Einstieg in eine Technologie sichern. Wie kommst du dann weiter? Diese Phase ist das Lesen. Lade die ausführliche Dokumentation von der offiziellen Website herunter und lies sie gründlich. Wenn du diese Dokumente durchliest, gelangst du in ihre Implementierungsdetails sowie zu verschiedenen Verwendungsmethoden und Szenarien und sogar zu einigen Best Practices. Zum Beispiel Spring Bootoffizielle DokumentationBis ins letzte Detail. Alles, woran du gedacht hast und woran du nicht gedacht hast, ist sorgfältig in der Dokumentation aufgeführt. Wenn du Scala lernen möchtest, besuche bittehttp://www.scala-lang.org/documentation/Dort sind alle möglichen Dokumentationen verfügbar. Nachdem du sie gelesen hast, bist du mehr als ein halber Scala-Experte.Die beste Dokumentation für eine Technologie muss ihre offizielle Dokumentation sein.Wenn nicht, dann kann diese Technologie nicht populär werden. Beachte, dass du sie während des Durchlesens der Dokumentation in Projekten anwenden musst. Wenn du keine Übungsmöglichkeiten in Projekten hast, kannst du einige kleine Demos schreiben, um zu üben. Das Prinzip, beim Wissenserwerb Praxis mit Theorie zu verbinden, ist zeitlos und universell.
  2. Nachdem du die ersten drei Schritte abgeschlossen hast, ist dein Verständnis der Technologie bereits stärker als das der meisten Menschen. Man kann dich als jemanden betrachten, der sie beherrscht. Gibt es also noch eine Möglichkeit, weiterzukommen? Natürlich gibt es sie: Nämlich das auszusprechen und aufzuschreiben, was du gelernt und gedacht hast, es der Öffentlichkeit auszusetzen, Kritik anzunehmen und dadurch deine Schwächen zu entdecken und dich zu verbessern. Wenn du Zeit hast, halte ein paar Vorträge und schreibe ein paar Artikelserien; dann wirst du in den Augen aller ein Meister dieser Technologie. Du wirst dann alle möglichen Gelegenheiten haben, verschiedene schwierige Probleme zu lösen, die bei der Nutzung der Technologie auftreten, was wiederum dein Verständnis vertieft und korrigiert. Wenn du frei hast, geh zu StackOverFlow, beantworte ein paar Fragen oder abonniere die Fragenliste der Technologie und schaue regelmäßig hinein.
  3. Du kannst auch noch tiefer gehen. Tritt nationalen/internationalen technischen Communities bei (was, wenn es im Inland keine solche Community gibt? Das ist eine Gelegenheit – baue schnell selbst eine auf), um deinen Einfluss weiter geltend zu machen. Übersetze und schreibe Bücher, die mit der Technologie zusammenhängen; wenn die Technologie Open Source ist, dann reiche, wenn du Zeit hast, Änderungen ein, und du wirst einer ihrer Entwickler werden. Das ist ein qualitativer Sprung: vom Nutzen von Werkzeugen zum Erschaffen von Werkzeugen.

Nachdem Sie die 5 Schritte durchlaufen haben, beherrschen Sie nicht nur die Technologie – Sie sind gottgleich geworden, okay! Manche fragen vielleicht erneut: Diese fünf Schritte zu erreichen, muss sicher lange dauern, und es ist keine Höhe, die normale Menschen erreichen können. Natürlich ist der Prozess sicher schwierig, aber nicht so schwer, wie den Himmel zu erreichen. Zumindest gibt es viele solcher Beispiele in meinem Umfeld. Tatsächlich: Solange Sie die ersten drei Schritte abschließen, sind Sie besser als 50 % der Programmierer; nach Abschluss des vierten Schritts stehen Sie vor 90 % der Programmierer.

Zum Schluss eine kurze Zusammenfassung. Wichtige Dinge sagt man dreimal.

  1. Aktives Lernen ist sehr wichtig, aktives Lernen ist sehr wichtig, aktives Lernen ist sehr wichtig.
  2. Offizielle Dokumentation ist sehr wichtig, offizielle Dokumentation ist sehr wichtig, offizielle Dokumentation ist sehr wichtig.
  3. Übung ist sehr wichtig, Übung ist sehr wichtig, Übung ist sehr wichtig.

Autor:Huang Bowen@Wudi Beigua

Quelle:http://www.cnblogs.com/huang0925